作者:田亮 深圳市有信網絡 大資料團隊負責人
克拉克拉(KilaKila)是國内專注二次元、主打年輕使用者的娛樂互動内容社群軟體。KilaKila 推出互動語音直播、短視訊配音、對話小說等功能,滿足當下年輕使用者個性化、碎片化的文娛需求。随着業務規模增長,海量資料存儲與計算的瓶頸也日益突出,由于單台伺服器的處理能力有限,海量資料的分析需要分布式計算模型。分布式的計算模型對資料分析人員要求較高且不易維護:資料分析人員不僅需要了解業務需求,同時還需要熟悉底層分布式計算模型。MaxCompute提供完善的資料導入方案以及多種經典的分布式計算模型,可快速解決克拉克拉所面臨的海量資料的計算問題,有效降低企業成本并保障資料安全。對于使用方的我們不必關心分布式計算和維護細節便可輕松完成大資料分析,最終我們采用阿裡雲MaxCompute方案進行資料上雲。
一、資料上雲
克拉克拉(KilaKila)資料源主要分為兩部分:1.結構化業務資料表(MySQL);2.非結構化使用者行為日志
結構化業務庫上雲主要使用阿裡雲datax、DTS兩種工具。

▲圖一:datax資料同步
datax原理是将MySQL資料完全透明化同步至MaxCompute資料表中,是表對表的映射。
▲圖二:DTS資料同步
DTS主要以MySQL binlog方式來進行資料同步,該同步的優勢在于不會影響線上生産環境MySQL庫I/O壓力,與此同時對于删除操作也會進行實時同步。
使用者行為日志上雲,該日志主要使用阿裡雲日志服務(Log Service)元件。該元件除了滿足将海量日志存儲在MaxCompute資料倉庫中外,也解決了實時業務計算需求,如storm叢集。
▲圖三:Log Service工作流
▲圖四:日志服務各Topic日志源
▲圖五:克拉克拉使用者行為日志片段
二、資料計算
為滿足各類批處理計算業務需求,基于MaxCompute建立了小時次元、天次元、月次元等不同次元的工作流以及業務流程。在資料開發階段我們使用MaxCompute的Web datawork進行任務開發、任務運維、任務監控等。
▲圖六:datawork SQL開發
在datawork中可以建立SQL腳本,通過編寫SQL語言滿足我們的臨時查詢需求。
▲datawork工作流
在datawork中可以根據業務場景配置工作流,解決生産環節中所面臨的定時計算任務等訴求。
圖七:datawork運維中心
運維中心可實時監控任務的狀态,對應不同的任務狀态進行不同情況的報警;
綜上所訴,得益于datawork強大的資料開發多樣性和豐富的内置函數,我們可以針對不同業務場景進行快速的項目開發和上線。
三、克拉克拉業務應用場景
克拉克拉(KilaKila)在實際生産環境中,主要有以下四個資料業務應用場景。如下:
- 報表系統
發光的二次元——克拉克拉上雲實踐
▲圖八:克拉克拉BI報表系統架構
基于MaxCompute與quickBI組合快速建構了業務報表系統。該系統通過datawork部署系列報表計算任務,最終的計算結果可存儲MaxCompute表中以及MySQL表中。quickBI通過資料源關聯即可實作前端趨勢圖靈活展示。
圖八:克拉克拉BI報表系統
- 克拉克拉(KilaKila)榜單業務
圖九:克拉克拉榜單業務計算場景
通過MaxCompute滿足了克拉克拉主播排行榜、熱門榜單等排序業務。
-
對外開放接口平台(Restful API )
為了滿足第三方通過API接口擷取克拉克拉資料倉庫中的使用者标簽資料,基于MaxCompute Lightning架構搭建開放接口服務,通過該服務的網關鑒權機制保證了授權通路和防DDOS攻擊。
圖九:克拉克拉開放接口結構
4.算法業務
阿裡雲機器學習平台是建構在阿裡雲MaxCompute(原ODPS)計算平台之上,集資料處理、模組化、離線預測、線上預測為一體的機器學習平台。克拉克拉(KilaKila)預測算法業務、推薦業務等相關項目均建立在機器學習平台基礎上,項目上線快且效果符合預期。
▲圖九:克拉克拉短視訊推薦業務
圖十:克拉克拉管道ROI預測業務
通過阿裡雲所提供大資料解決方案,除了解決了克拉克拉所遇到的大資料挑戰,也極大的縮短了克拉克拉(Kilakila)諸多資料項目從想法到落地的研發周期。