唱吧基于 MaxCompute 弥补自建体系的不足
本文作者:馬星顯 唱吧大數據負責人
使用 MaxCompute之前,唱吧使用自建體系來存儲處理各端收集來的日志數據,包括請求訪問記錄、埋點數據、服務器業務數據等。初期這套基于開源組件的體系有力支撐了數據統計、業務報表、風控等業務需求。但隨著每天處理數據量的增長,積累的歷史數據越來越多,來自其他部門同事的需求越來越復雜,自建體系逐漸暴露出了能力上的短板。同時期,唱吧開始嘗試阿里云提供的ECS、OSS等云服務,大數據部門也開始使用 MaxCompute來彌補自建體系的不足。
在內部ELK實現的基礎上,從自建機房向MaxCompute進行數據同步工作是比較簡單的,實踐中我們主要采取兩種方式:一是利用阿里云提供的datahub組件,直接對接logstash;二是把待同步數據落地到文件,然后使用tunnel命令行工具上傳至MaxCompute的對應表中。
?
數據進入MaxCompute后,我們按照數據的主題和使用場景構造了三層結構:原始數據層ODS、中間數據層MDS、報表數據層DM。ODS層中保存直接同步的數據,在此基礎上加工整理到的原始表,例如增量同步的原mysql表,經過風控清洗的訪問日志表等。MDS層存放原始層數據聚合、抽象加工過的結果,這一層的數據表更可讀、讀取計算時更經濟,一般情況下要求其他部門的同事使用這一層的數據。DM層是處理理的最終結果,支持QuickBI直接讀取進行報表展示,同時也支持同步回自建機房,供其他業務使用。
目前除了某些對實時要求比較高的場景還使用自建體系外,MaxCompute承擔了唱吧全部的離線計算工作。每天有近千個任務定時運行,處理TB級別的數據,生成上百個數據報表在QuickBI進行展示。可視化的管理理界面和基于SQL的計算方式大大降低了使用門檻,提升了效率。除此之外,推薦和風控業務也都利用了MaxCompute的計算能力,實現了對需求的快速跟進和迭代。MaxCompute云服務和自建體系的結合,讓我們能充分滿足業務需求,在效率成本和靈活性上取得了很好的平衡。
下一步,對于MaxCompute我們有幾個方向上的計劃:
一是利用機器學習能力,進一步挖掘數據的價值。
二是對那些歷史比較久的冷數據,利用MaxCompute的外表功能,定期轉移至OSS等服務中,保證可讀的基礎上降低成本。
三是評估阿里云的實時計算服務,作為自建體系的補充。
歡迎加入“MaxCompute開發者社區2群”,點擊鏈接申請加入或掃描二維碼
https://h5.dingtalk.com/invite-page/index.html?bizSource=____source____&corpId=dingb682fb31ec15e09f35c2f4657eb6378f&inviterUid=E3F28CD2308408A8&encodeDeptId=0054DC2B53AFE745
總結
以上是生活随笔為你收集整理的唱吧基于 MaxCompute 弥补自建体系的不足的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MaxCompute规格详解 让您花更低
- 下一篇: 让机器读懂视频:亿级淘宝视频背后的多模态