1. 程式人生 > >基於MaxCompute打造輕盈的人人車移動端數據平臺

基於MaxCompute打造輕盈的人人車移動端數據平臺

問題 市場 封裝 過濾 個性 自己 數據同步 面向 dea

以下內容根據演講視頻以及PPT整理而成。

一.人人車數據平臺

快速搭建,一年時間完成6大平臺的搭建

基於阿裏雲平臺上成熟的技術,人人車企業只用了一年時間便實現了6大數據平臺的設計與搭建,其中包括:Jarvis-BI報表平臺、Metadata-元數據管理平臺、Streaming-實時計算平臺、Athena-數據工單平臺、Cateye-監控平臺與AD-HOC-自助取數平臺。

上述數據平臺的最底層均由阿裏雲的相關技術支撐運行,阿裏雲為平臺的搭建提供了兩種不同技術的支持,在儲存計算技術方面,阿裏雲提供了 RDS雲數據庫、MaxCompute大數據計算平臺、OSS對象儲存等儲蓄技術。在雲通信技術方面,阿裏雲同樣提供了SLB、DTS、DataX、CDN等雲通道技術。

企業遵循阿裏雲 “One Data,One Server,One Meta”理念進行平臺的設計與實現。“One Data”這裏表示統一的數據源,企業將所有數據出口匯總到MaxCompute並在Hadoop集群上搭建統一的數據源。圍繞統一的數據源,企業搭建了許多相關業務的搜索引擎,包括:Spark、Clickhouse、Presto、Druid.io等。在搜索引擎的基礎上,平臺基於“One Server”的設計思想封裝了統一的DataServer為這些搜索引擎提供上層數據服務。“One Meta”代表統一的元數據,元數據相當於數據流中的骨架,企業設計並實現的元數據管理平臺很好地完成了對元數據的管理任務,通過元數據企業可以更好的管理數據權限及各種數據指標。人人車企業基於阿裏雲的技術與思想打造的數據平臺輕盈可靠,為企業帶來了很高的效益。

如下圖所示,在阿裏雲技術的基礎上,人人車數據平臺的數據流實現分為以下4層:

查詢引擎:包括Presto、ClickHouse、Druid.io等查詢引擎。
通道存儲:包括Hadoop、Kafka等數據儲存工具。
計算層:使用了阿裏雲的MaxCompute服務。
數據源:企業的數據源。
技術分享圖片

二.數據倉庫建模

基於數據驅動理念及市場的需求,人人車企業基於阿裏雲成熟的MaxCompute技術嘗試設計搭建了企業自己的數據倉庫。在阿裏雲便捷的方案與穩定技術的支持下,企業的數據倉庫搭建順利成功,目前已開始為公司貢獻數據上的效益。

  1. 數據倉庫可以解決什麽問題?

建立數據倉庫可以為整個工程提供一個良好的數據體系,解決異構數據源工程開發中的口徑版本不一、效率低下、缺乏可信度等問題。數據平臺的開發是由良好的頂層設計來決定底層建築的過程,優秀的數據平臺設計方案在實現過程中會為開發團隊節省大量的人力與時間。搭建一個標準的數據倉庫,即是完成數據平臺頂層設計的第一步。

2.數據倉庫的標準

企業業務上常用的數據倉庫為三段式模型,目前最為流行的是基於主題內容的Inmon模型與基於維度的Kimball模型。這兩種建模的目標都是建立一個更高效、穩定、靈活的數據倉庫模型。企業可以從耦合度、性能與成本、效率與質量這三大維度選擇合適自己業務的數據倉庫模型。在數據倉庫搭建的實施過程中,人人車平臺選擇在阿裏雲的MaxCompute服務基礎上進行企業數據倉庫的搭建。如下圖所示,通過阿裏雲MaxCompute服務搭建的數據倉庫從以下五大方面為人人車的數據倉庫搭建帶來了便利:

成本:通過阿裏雲搭建數據倉庫可以為企業節省30%的服務成本及大量的人力成本,使企業研發團隊可以更加專註於業務的研發。
時間:通過阿裏雲搭建數據倉庫可以大大節省企業的研發時間
性能:阿裏雲的MaxCompute服務為企業提供了完善的數據處理方案、大規模的計算儲存、細粒度的節點依賴管理等功能,大大優化了企業數據平臺的性能。
穩定性:MaxCompute服務安全可靠,每天穩定在8點前產出企業需要的數據。
用戶個性化:提供了滿足用戶需求的諸多功能。
技術分享圖片

3.平臺數據倉庫結構

如下圖所示,人人車平臺數據倉庫的結構分為以下幾層:

業務數據層:最底層是業務數據層,這裏通過MySQL數據庫及數據庫日誌存放整個數據倉庫的業務運行數據。
操作數據層:業務數據產生後會同步進入操作數據層的ODS中,平臺在這裏要進行數據的對接,通過增量抽取等方式使同步到ODS的原始數據與業務數據保持一致。
明細數據層:在明細數據層中,平臺會將原始數據進行過濾,並從中抽取一些比較重要的數據。
維表層:通過維表層的使用,平臺可以有效下降數據的體積並在處理數據時更加靈活方便。維表層將貫穿整個數據倉庫的生命周期。
匯總數據層:在匯總層中,業務邏輯會對數據進行輕度的匯總,通過匯總收縮明細數據的體積,以此方便數據向最上層的數據集市進行匯總。
數據集市:數據集市中包含了大量的主題表,主題表主要功能是面向分析及統一指標。主題表可以幫助平臺分析並匯總企業每條業務線上的數據,可以有效防止由於數據匯總而導致的數據量的爆炸式增長。
技術分享圖片

4.基於MaxCompute搭建的數據倉庫效果

如下圖所示,是人人車平臺基於阿裏雲MaxCompute搭建的數據倉庫的運行數據。通過阿裏雲的MaxCompute,人人車平臺實現了快速高效搭建數據倉庫的願景。平臺所搭建的數據倉庫安全可靠,運行平穩,並且在每日數據峰值階段的表現優異。同時,通過使用阿裏雲的服務搭建數據倉庫,企業節省了很多不必要的開銷。

技術分享圖片

5.數據同步問題

在數據倉庫的實現過程中,數據同步是一大難題。阿裏雲提供了一些便捷的標準接口幫助企業更方便地將數據同步到MySQL以外的設備上。企業可以對這些標準化的接口進行個性化的定義,以此方便自身業務的開發與編寫。
技術分享圖片

6.數據倉庫最佳實踐

在數據倉庫的設計與實踐過程中,人人車平臺總結了以下一些經驗:

數據產品非常重要:在企業的業務發展中,數據需求與產品需求同樣重要。數據可以為企業帶來機械化的數據驅動,幫助企業更好的掌握市場的流量、流量轉化情況及數據峰值等重要信息。在設計產品時保證必要的數據預估,會使產品更加符合市場預期,更加受到市場的歡迎。
數據指標要克制:數據指標並不是越多越有價值,企業需要聚焦最有價值的數據報表,通過關聯相關項得出最有價值的分析結果。
業務表:數據庫中業務表切忌隨意刪除,開發團隊可以通過狀態位標識的方法完成相關業務邏輯。

三.基於阿裏雲技術的BI數據報表平臺

人人車企業以阿裏雲技術為基礎設計並實踐的另一大成果是BI數據報表平臺,通過BI數據報表平臺,企業完成了對市場數據的輕松掌控,並大大提高了自身決策的準確度。

  1. 方案的選擇--論POC以及TPC的重要性

在BI報表平臺實現的方案中,人人車采用了POC模式與TPC模型來實現。
POC模式意為產品原型驗證模式,開發者在產品原型驗證模式下需要去了解客戶的基礎需求,通過理解用戶的需求為用戶搭建一個業務原型場景。
TPC-DS模型是設計數據庫常常會用到的模型,其中包括:關系模型、星型模型及雪花模型,其優秀的工作負載能力可以為系統帶來很高的穩定性。
技術分享圖片

2.ClickHouse數據管理系統

ClickHouse數據庫管理系統開發自俄羅斯,系統擁有如下優點:

簡單可靠
支持高並發
支持增量、全量同步
支持億級別量級查詢
延時短
技術分享圖片
3.BI數據報表平臺架構

如下圖所示為BI數據報表平臺的架構示意圖,平臺的架構可以分為以下幾大部分:

數據源:包括阿裏雲HDFS及MaxCompute的服務以及企業內部的MySQL數據庫與待分析儲存的數據。
調度平臺:負責調度整個平臺的增量與全量同步,包括DataX與KafkaConnect模塊。
ClickHouse集群:ClickHouse集群是這個架構的核心,ClickHouse提供分片與副本的模式供用戶來進行部署,副本可以大大提高系統的並發性能,使系統的運行更加安全可靠。
API層:在最外層,系統統一生成一致的API供用戶的電腦、手機等智能設備進行訪問及調用,API層具有鑒權及操作審計功能。
技術分享圖片

下圖為系統使用時的效果圖。在編輯圖表的過程中,使用者可以按照自己所想自由的拖拽拉動數據圖表,實現數據圖表的簡單化操作。基於大數據統計出的表格會將數據的特點直觀地表現給用戶,大大方便了用戶的使用。

技術分享圖片

下圖所示為BI數據報表平臺在移動端的效果圖。
技術分享圖片

4.BI數據報表平臺的優勢

BI數據報表平臺除了其方便操作的特點外,還為使用者帶來了以下優勢技術:

SQL合成表:對於特殊需求的開發者,BI數據報表平臺支持用戶通過特殊關聯將SQL表格相連接,合成新表。
血緣關系:與合成表格相對應的是表格血緣關系查看的功能,開發者可以通過血緣關系的查看搜索表格的相關依賴及被使用情況。
AD-HOC:為開發者提供AD-HOC技術支持,方便數據平臺的開發使用。
技術分享圖片
在上述架構與優勢技術的支持下,BI數據報表平臺具備下列特點:

離線、實時特性:BI數據報表平臺支持用戶隨時的離線與實時數據查詢,並且具備低延時、高並發的特點。
易用性:BI數據報表平臺簡單易上手,小白級的拖拉拽操作方式,支持用戶高效快捷辦公。
細膩的權限管控:數據的權限是數據使用中十分重要的一個問題,數據權限不清晰往往會造成很嚴重的後果。BI數據報表平臺的數據權限可以細膩到行級別與字段值域級別,細膩的權限管控讓不同的使用者看到不同的數據,增加了項目的安全可靠性。
ETL:支持關聯表查詢,合表生成原生SQL支持等。
數據一致性:嚴格進行增量全量的同步,使存入的數據可信可靠。
頂級可視化效果:平臺提供可以突出數據特點的可視化效果,讓使用者一目了然,迅速發現數據特點,提高工作效率。
技術分享圖片

5.BI數據報表平臺搭建時的經驗

在BI數據平臺的設計與搭建中,人人車平臺也摸索總結了很多經驗:

先做好POC,做好benchmark:先確定好用戶的需求,進行產品原型驗證,再進行相關的產品開發。
權限是魔鬼,平臺一定要壓制住:數據權限是數據平臺開發的重中之重,在開發時一定要重點設計關註數據權限的問題。
6.BI數據報表平臺的數據驅動

BI平臺使用了數據驅動的運營方式,僅對用戶最感興趣的幾個指標項進行考核,將考核得到的結果與業績直接掛鉤,實現用戶在掌上查看相關數據,大大方便用戶的工作與生活。
技術分享圖片

基於MaxCompute打造輕盈的人人車移動端數據平臺