淺談移動應用分析平臺中的開源系統實踐

原文做者:友盟數據平臺架構師吳磊數據庫

數據是移動互聯網的主旋律,面對海量的數據,友盟平臺的開源大數據系統是如何實踐的?日前,友盟數據平臺架構師磊叔在 2015 年 DTCC
數據庫技術大會上分享了他的一些感想。架構

從友盟 24 小時採樣數據繪成的全球移動互聯網用戶活躍度的圖像中,能夠看出,中國居於全球最爲突出的區域。僅友盟數據平臺就已經累積了超過 5PB 的移動互聯網歷史數據,而且這些數據正以天天 5TB 的速度快速增加。框架

圖片描述

友盟是一家成立於 2010 年 4 月的移動應用分析平臺,目前擁有 52 萬 App。磊叔按照大數據的「採集 —— 傳輸 —— 處理 —— 存儲 —— 分析 —— 展現」這個流程介紹了友盟移動應用分析平臺架構的變遷。運維

圖片描述

友盟移動應用分析平臺在成立初期採用了 Ruby on Rails 框架,可是隨着移動互聯網的爆發式增加,很快這個傳統的架構就不能知足性能需求了。因而採用了基於 lambda 架構思想的 Realtime+Batch 架構。經過將實時計算和離線批處理計算靈活地結合起來,既能對增量數據進行低延遲的實時計算,也能輕鬆地對海量的全量數據進行離線處理,來完成多個維度統計指標和統計模型的計算。異步

圖片描述

該架構中日誌收集部分使用了 finagle 異步非阻塞式 RPC 框架,經過橫向擴展可以支撐海量的日誌上傳請求。在數據傳輸部分利用 kafka 做爲數據總線,kafka 對 storm 和 hadoop 都提供了原生的支持,方便和它們集成使用。實時處理部分經過 Storm 集羣來提供服務。離線計算部分則是基於 Hadoop 生態系統,包括 Hadoop , Pig , Hive , Spark 等。經過這些開源大數據生態中的多個組件爲友盟的數據平臺提供了有力的支撐。oop

圖片描述

接下來的重點就是海量數據的存儲了。在數據存儲層面,友盟數據平臺的實時數據採用 MongoDB ,可以提供橫向擴展功能和豐富的特性。對於離線數據而言,考慮到數據量特別大,所以採用 HDFS 存儲和 HBase 存儲兩種方式。對於只須要順序讀寫的數據,存儲在 HDFS 上,已經達到 PB 級規模。對於須要提供隨機讀寫的數據,存儲在 HBase 中。性能

圖片描述

對於 HBase 的使用,吳磊介紹了友盟多年積累的實踐經驗。分別就 HBase 在讀寫方面的優化方法作了深刻剖析。大數據

對於 HBase,吳磊詳細的介紹了使用經驗。HBase 若是是採用默認參數,那麼對於大批量的隨機讀性能是徹底不夠的,須要對隨機讀進行鍼對性優化纔能有很大的性能提高。例如 HBase 參數調優,在 MR 中經過採起全局排序的方式變隨機讀爲順序讀、數據聚合、RowKey 設計、表預先切分、客戶端使用參數調優、大批寫使用 Bulk Load 、中間數據和小表使用文件替代等多種具體的優化手段。優化

在 HBase 使用過程當中,爲了不踩坑,吳磊提醒你們注意三點:第一,重視運維;第二,及時關注官方動態;第三,在使用一些新特性時須要謹慎對待。spa

關注友盟博客,查看更多數據架構分析文章。

相關文章
相關標籤/搜索