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

摘要: 2019年1月18日,由阿里巴巴MaxCompute開發者社區和阿里雲棲社區聯合主辦的「阿里雲棲開發者沙龍大數據技術專場」走近北京聯合大學,本次技術沙龍上,人人車大數據平臺負責人吳水永從人人車數據平臺的總體架構、如何基於阿里雲打造一個輕盈的數據平臺以及人人車企業基於阿里雲技術開發的BI數據報表平臺等三個方面進行了精彩分享。數據庫

如下內容根據演講視頻以及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技術嘗試設計搭建了企業本身的數據倉庫。在阿里雲便捷的方案與穩定技術的支持下,企業的數據倉庫搭建順利成功,目前已開始爲公司貢獻數據上的效益。oop

1. 數據倉庫能夠解決什麼問題?性能

創建數據倉庫能夠爲整個工程提供一個良好的數據體系,解決異構數據源工程開發中的口徑版本不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平臺使用了數據驅動的運營方式,僅對用戶最感興趣的幾個指標項進行考覈,將考覈獲得的結果與業績直接掛鉤,實現用戶在掌上查看相關數據,大大方便用戶的工做與生活。

 

原文連接 更多技術乾貨 請關注阿里云云棲社區微信號 :yunqiinsight

相關文章
相關標籤/搜索