AnalyticDB for MySQL是阿里巴巴自主研發、經過超大規模以及核心業務驗證的PB級即時資料倉庫。
概述
自2012年第一次在集團發布上線以來,AnalyticDB for MySQL至今已累計迭代發布近百個版本,支撐起集團內的電商、廣告、物流、文娛、旅遊、風控等眾多線上分析業務。AnalyticDB for MySQL從2014年開始正式對外提供服務,覆蓋十多個行業,既包括傳統的大中型企業和政府機構,也包括眾多的互連網公司。
AnalyticDB for MySQL是基於資料庫巨量資料一體化的理念和趨勢,在工程上深度打磨出的雲原生資料倉儲。
技術架構
AnalyticDB for MySQL採用雲原生架構,計算儲存分離、冷熱資料分離,支援高吞吐即時寫入和資料強一致,兼顧高並發查詢和大吞吐批處理的混合負載。
AnalyticDB for MySQL數倉版主要用來處理高效能線上分析情境的資料。隨著資料規模的暴增和資料格式的多樣化,通常需要離線處理ETL前,先對資料進行加工規整。AnalyticDB for MySQL新推出的湖倉版新增了高吞吐離線處理能力,通過一體化的方式解決離線處理和線上分析兩種情境的需求,恰好可以解決該問題。
數倉版
數倉版架構如下:
接入層
接入層由Multi-Master可線性擴充的協調節點構成,主要負責協議層接入、SQL解析和最佳化、即時寫入Sharding、資料調度和查詢調度。
計算引擎
計算引擎具備分布式MPP和DAG融合執行能力,結合智能最佳化器,可支援高並發和複雜SQL混合負載。同時藉助雲原生基礎設施,計算節點實現了彈性調度,可根據業務需求做到分鐘級甚至秒級擴充,實現了資源的有效利用。
儲存引擎
儲存引擎是基於Raft協議實現的分布式即時強一致高可用的引擎,通過資料分區和Multi-Raft實現並行,利用階層式存放區實現冷熱分離降低成本,通過行列儲存和智能索引達到很好的效能。
在這三層架構之上,通過服務秒級恢複,支援跨可用性區域部署,自動故障檢測、摘除和副本重搭。配合三副本儲存、全量和增量備份,提供金融層級的資料可靠性。在周邊生態上,提供資料移轉、資料同步、資料管理、Data Integration、資料安全等配套工具,方便使用,使您能更加專註於業務發展。
湖倉版
在數倉版基礎上,同時滿足低成本離線處理和高效能線上分析的湖倉一體化版本,稱為湖倉版。湖倉版在資料全鏈路的“采存算管用”5大方面都進行了全面升級。
湖倉版架構如下:
資料來源
資料管道APS可以一鍵低成本接入資料庫、日誌、巨量資料中的資料。
儲存層+計算層
支援自研引擎,羲和計算引擎和玄武儲存引擎。新增整合的開源引擎,Spark計算引擎和Hudi儲存引擎。可以藉助開源的能力為您提供更豐富的資料分析情境。同時打通自研和開源引擎之間的互相訪問,提供更一體化的體驗。
儲存層:只需一份全量資料,滿足離線和線上情境。
線上分析情境需要資料盡量在高效能儲存介質上提高效能,離線情境需要資料盡量在低成本儲存介質上降低儲存成本。為滿足不同情境需求,首先將一份全量資料存放區在低成本高吞吐儲存介質中,低成本離線處理情境直接讀寫低成本儲存介質中的資料,可降低資料存放區和資料IO成本,保證高吞吐。其次將即時資料儲存在單獨的儲存IO節點(EIU)上,保證行級的資料即時性,同時對全量資料構建索引,並通過緩衝能力對資料進行加速,滿足百毫秒級高效能線上分析情境。
計算層:羲和計算引擎,智能選擇計算模式。開源Spark計算引擎,滿足多種情境。
羲和計算引擎同時提供MPP和BSP兩種模式。MPP模式是一種流式計算模式,不適合離線處理低成本和高吞吐情境。BSP模式,通過DAG進行任務切分,分批調度,滿足有限資源下巨量資料量計算,支援計算資料落盤。羲和計算引擎提供自動切換能力,即當查詢使用MPP模式無法在一定耗時內完成時,系統會自動切換為BSP模式進行執行。
湖倉版新增的開源Spark計算引擎可以滿足更複雜的離線處理情境和機器學習情境。湖倉版中Spark計算層和儲存層互相打通,您可以使用計算層資源來處理儲存層資料,在建立和配置Spark資源群組時更容易。
訪問層
訪問層通過統一計費單位、統一中繼資料和許可權、統一開發語言、統一傳輸鏈路,提升開發效率。
AnalyticDB for MySQL融合了分布式、彈性計算與雲端運算的優勢,對規模性、易用性、可靠性和安全性等方面進行了大規模的改進,充分滿足不同情境即時資料倉庫的需求。支援更大規模的並發訪問、更快讀寫能力以及更智能的混合查詢負載管理等,實現更精細化的資源利用和更低成本的投入,讓您能更加專註於業務發展,專註於資料價值。