唱吧基於 MaxCompute 的大數據之路

使用 MaxCompute以前,唱吧使用自建體系來存儲處理各端收集來的日誌數據,包括請求訪問記錄、埋點數據、服務器業務數據等。初期這套基於開源組件的體系有力支撐了數據統計、業務報表、風控等業務需求。但隨着天天處理數據量的增加,積累的歷史數據愈來愈多,來自其餘部門同事的需求愈來愈複雜,自建體系逐漸暴露出了能力上的短板。同時期,唱吧開始嘗試阿里雲提供的ECS、OSS等雲服務,大數據部門也開始使用 MaxCompute來彌補自建體系的不足。

在內部ELK實現的基礎上,從自建機房向MaxCompute進行數據同步工做是比較簡單的,實踐中咱們主要採起兩種方式:一是利用阿里雲提供的datahub組件,直接對接logstash;二是把待同步數據落地到文件,而後使用tunnel命令行工具上傳至MaxCompute的對應表中。mysql

數據進入MaxCompute後,咱們按照數據的主題和使用場景構造了三層結構:原始數據層ODS、中間數據層MDS、報表數據層DM。ODS層中保存直接同步的數據,在此基礎上加工整理到的原始表,例如增量同步的原mysql表,通過風控清洗的訪問日誌表等。MDS層存放原始層數據聚合、抽象加工過的結果,這一層的數據表更可讀、讀取計算時更經濟,通常狀況下要求其餘部門的同事使用這一層的數據。DM層是處理理的最終結果,支持QuickBI直接讀取進行報表展現,同時也支持同步回自建機房,供其餘業務使用。sql

目前除了某些對實時要求比較高的場景還使用自建體系外,MaxCompute承擔了唱吧所有的離線計算工做。天天有近千個任務定時運行,處理TB級別的數據,生成上百個數據報表在QuickBI進行展現。可視化的管理理界面和基於SQL的計算方式大大下降了使用門檻,提高了效率。除此以外,推薦和風控業務也都利用了MaxCompute的計算能力,實現了對需求的快速跟進和迭代。MaxCompute雲服務和自建體系的結合,讓咱們能充分知足業務需求,在效率成本和靈活性上取得了很好的平衡。服務器

下一步,對於MaxCompute咱們有幾個方向上的計劃:
一是利用機器學習能力,進一步挖掘數據的價值。
二是對那些歷史比較久的冷數據,利用MaxCompute的外表功能,按期轉移至OSS等服務中,保證可讀的基礎上下降成本。
三是評估阿里雲的實時計算服務,做爲自建體系的補充。機器學習

 

本文做者:馬星顯 (唱吧大數據負責人)工具

原文連接學習

本文爲雲棲社區原創內容,未經容許不得轉載。大數據

相關文章
相關標籤/搜索