基於阿里雲的數據倉庫架構設計

基於阿里雲的數據倉庫架構設計

產品對比

阿里雲產品 同類產品 簡介
RDS MySQL、PostgreSQL 關係型數據庫服務,是阿里提供的雲數據庫,有各種版本,例如MySQL版、PostgreSQL版、SQLServer版等
DTS Canal、DataX、Sqoop、Flume 數據傳輸服務,功能豐富,包括集數據遷移、數據訂閱、數據實時同步的功能,適用於RDMS、NoSQL、大數據等產品
DataHub Kafka 數據總線,主要功能和Kafka類似,但是有更多的接口、功能
MaxCompute Hadoop 通用的離線計算平臺(原名ODPS),支持SQL、MapReduce、UDF、Graph、Spark on MaxCompute等計算模型。調度系統是伏羲,存儲系統是盤古
RealtimeCompute Spark、Flink 實時計算框架(以前版本是StreamCompute),底層基於Blink
DataWorks - 可視化的一站式大數據工場,包括數據集成、開發、治理、服務、質量、安全等功能,具體地說就是方便你使用MaxCompute、RealtimeCompute
AnalyticDB GreenPlum、LibrA 分析型數據庫,基於MPP架構,主要包括MySQL版、PostgreSQL版
DataV Tableau、PowerBI 可視化數據展示工具,主要做大屏展示
QuickBI Tableau、PowerBI 相較於DataV更爲靈活,主要做數據分析,運營、分析師使用較多

離線數倉

  • 架構設計圖
    離線數倉架構圖
  • 說明
    • 原始數據主要來源於兩部分
      • 日誌服務器產生的用戶行爲數據
      • 業務數據庫產生的數據
      • 當然你還可以導入各種數據,例如網絡爬蟲的數據、數據市場購買的數據等等
    • 數據導入部分
      • 日誌數據採用Flume進行導入DataHub既可(TailDirSource + MemoryChannel + DataHubSink)
      • 業務數據直接利用MaxCompute同步進入平臺即可
    • 數據倉庫建設部分,需要進行多層劃分
      • ODS(原始數據層)- 最原始的數據,只做最簡單的格式檢查,以及數據壓縮
      • DWD(數據明細層)- 數據明細層,需要進行各種ETL清洗、抽取、拆分、降維,得到實體表、維度表、事實表
      • DWS(數據彙總層)- 針對明細層的數據做一個輕度聚合,進行各種統計指標的初步彙總,方便後面應用層直接使用
      • ADS(數據應用層)- 應用層是最終的數據結果,包括最終需要的各類指標,還需要導入到關係型數據庫中,方便Web端查詢
    • 分析用數據庫
      • 此部分可選用AnalyticDB、RDS或自建關係型庫,都可以,主要是爲了方便後續系統查詢
      • 如果數據量不大,分析量小,直接採用RDS或自建關係型庫即可
      • 如果因業務需求需要進行大量變化的數據分析,那麼建議使用AnalyticDB
    • 數據展示部分
      • 根據需求選擇阿里的QuickBI或自行定製化設計Web數據展示界面均可

實時數倉

  • 架構設計圖
    實時數倉架構圖
  • 說明
    • 原始數據主要來源於兩部分
      • 日誌服務器產生的用戶行爲數據
      • 業務數據庫產生的數據
    • 數據導入部分
      • 日誌數據採用Flume進行導入DataHub既可(TailDirSource + MemoryChannel + DataHubSink)
      • 業務數據需要利用DTS實時導入到DataHub
    • 數據倉庫建設部分(使用Kappa架構,傳統Lambda架構的兩條鏈路縮減爲一條,降低了維護成本,但出問題難以處理)
      • 原始數據先進入到DataHub,接着由RealtimeCompute進行清洗、關聯,得到實時明細數據
      • 實時明細數據進入到DataHub,接着由RealtimeCompute進行輕度、高度聚合,得到實時彙總數據
      • 實時彙總數據進入到DataHub(也可以直接進入到分析庫中),再導入到AnalyticDB
      • 注意:如果需要非常高的實時度,那麼建議不分層,直接處理得到輕度、高度聚合結果,進入AnalyticDB(推薦Lambda架構)
    • 分析用數據庫(建議同離線部分,更推薦AnalyticDB)
      • 此部分庫從前面DataHub得到了彙總數據
        • 接着可以在內部進行指標統計生成應用層數據,直接展示即可
        • 或是交由後續服務應用自行調用分析(適用於各種經常變化的分析情況)
    • 數據展示部分
      • 此部分同離線數倉,不過通常實時部分都是做的大屏展示,包含各類統計指標,可以直接使用阿里的DataV

數倉規範

  • 數倉分層規範

    分層 概念 說明
    ODS(Operational Data Store) 原始數據層 原始數據,格式基本不變,只做少量的校驗
    DWD(Data Warehouse Detail) 數據明細層 數據標準化、補齊、清洗、拆分等
    DWS(Data Warehouse Summary) 數據彙總層 數據輕度聚合,提高複用性
    ADS(Application Data Store) 數據應用層 最終應用展示指標
  • 表命名規範(按下劃線拼接)

    數倉分層 業務 描述 時間週期/存儲方式
    dwd tmall user_base_info day
    dwd tmall user_login_info day
    dws tmall active_user week
    ads tmall user_retention_rate week
    ads tmall user_convert month
    ads tmall page_view day
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章