這樣的資料的意義在於:這部分資料驅動了近一半的推廣業務。
1. 早期服務
隨著推廣活動的調整,統計和獎勵政策也隨之變化,比如有的依據一度分享者的分享次數進行獎勵,有的依據一度、二度分享者帶來的瀏覽量進行獎勵等等,還有需要根據上報的引數不同做不同的處理。所有邏輯都在上報的api請求中處理,來乙個需求加一段邏輯,導致該請求的功能不斷膨脹,而且一些推廣活動已經下線了,相關的邏輯也沒有清理掉。
2. neo4j的嘗試
於是,我們思考,有沒有可能在後端直接構建完整的傳播資訊,後期使用時直接根據條件就可以查詢出所需的資料,前端上報時也不用攜帶傳播鏈資訊,我們想到了圖形資料庫儲存技術。
圖形資料庫是一種非關係型資料庫,它應用圖形理論儲存實體之間的關係資訊。在文章開頭的那張傳播圖中,使用者的行為資料其實可以歸結為使用者與海報之間的關係資料,這樣,這個系統其實就包含兩種實體:使用者、海報,三種關係:使用者開啟海報、使用者分享海報、使用者之間的傳播。在諸多圖形資料庫中,我們決定選擇比較成熟、文件相對豐富的neo4j來做demo。採用neo4j的查詢語法,很簡單的就可以查詢出所需資料,簡單示例一下。
然而,一切並非預期的那麼完美,在demo過程中,我們發現有兩點問題不能很好的滿足我們的需求:
雖然這些問題可以想辦法繞過去,比如根據時間建立不同的實體節點等等,但是這樣會把資料儲存做複雜化,經過權衡,我們暫時擱置了這個方案。
3. 基於使用者行為資料採集系統的方案
資料接入kafka後,一方面直接將原始資料儲存到elasticsearch,另一方面,以worker的形式來消費資料,根據相應的業務需求提取出所需的資料存入格式化資料表中,用於統計和獎勵活動。當某個推廣活動結束後,將其所屬的worker停掉即可。
通過這樣的改進,我們暫時解決了前端上報混亂和後端業務邏輯膨脹的問題,將資料上報和業務需求隔離開。資料方面,實時資料流在kafka中,歷史資料也在elasticsearch中有儲存;業務需求方面,來了乙個新的需求後,我們只需新增乙個新的worker來實現消費邏輯,活動結束後停掉worker。
創業公司如何做資料分析(一)開篇
創業公司如何做資料分析(二)運營資料系統
創業公司如何做資料分析(三)使用者行為資料採集系統
創業公司如何做資料分析(四)elk日誌系統
創業公司如何做資料分析(六)資料倉儲的建設
創業公司做資料分析(五)微信分享追蹤系統
關係,指的是在海報傳播過程中,使用者之間形成的傳播關係,比如使用者a將海報傳播給c。1.早期服務 2.neo4j的嘗試 於是,我們思考,有沒有可能在後端直接構建完整的傳播資訊,後期使用時直接根據條件就可以查詢出所需的資料,前端上報時也不用攜帶傳播鏈資訊,我們想到了圖形資料庫儲存技術。圖形資料庫是一種...
創業公司做資料分析 五 微信分享追蹤系統
關係,指的是在海報傳播過程中,使用者之間形成的傳播關係,比如使用者a將海報傳播給c。1.早期服務 隨著推廣活動的調整,統計和獎勵政策也隨之變化,比如有的依據一度分享者的分享次數進行獎勵,有的依據一度 二度分享者帶來的瀏覽量進行獎勵等等,還有需要根據上報的引數不同做不同的處理。所有邏輯都在上報的api...
從0開始,教你如何做資料分析
首先,我先說一下自己用excel等工具做的分析,跟使用這些現成資料平台的區別。1丶會用工具自己做分析,不單單侷限在 這個時代什麼行業都有資料,如果掌握了,你做什麼都能應用到。用 指數或者阿里指數只能侷限在 這一塊。2丶用現成的資料平台,只要求能看懂資料,幾乎不需要自己動手分析資料。可能100個人裡面...