天天看點

一遇到複雜分析查詢就卡頓?MySQL分析執行個體了解一下

作者:悅暢,阿裡雲資料庫進階産品經理

随着企業資料爆發式增長,MySQL分析查詢卡頓問題越來越多,使用者時效性不能保證,精細化營運訴求不能滿足。如何能無縫對接業務庫,實作毫秒級針對萬億級資料進行即時的多元分析透視和業務探索,MySQL分析執行個體給出完美解決方案。

MySQL分析執行個體是雲資料庫RDS MySQL與AnalyticDB for MySQL聯合打造,産品級深度融合的OLTP+OLAP解決方案,解決客戶複雜分析查詢卡頓問題,快速建構實時數倉。

一鍵購買,即可打通權限,免費自動資料同步,業務庫在毫無感覺和影響情況下,資料實時同步到分析庫,幫助雲資料庫RDS MySQL客戶快速建構實時數倉平台。

使用者無需自行搭建數倉,無需關注資料如何入庫,更無需擔心資料實時性,隻需購買分析執行個體,即可同步建立一個分析性能約為MySQL 100倍的分析庫。

1、MySQL分析執行個體和隻讀執行個體差別

使用場景上,隻讀執行個體主要面向線上應用,而分析執行個體針對RDS MySQL源執行個體的複雜報表分析,如下圖所示;産品實作上,隻讀執行個體是隻能接收隻讀請求的RDS MySQL,而分析執行個體是一個AnalyticDB for MySQL叢集。

一遇到複雜分析查詢就卡頓?MySQL分析執行個體了解一下

2、分析執行個體其實是AnalyticDB

MySQL分析執行個體其實是一個内置了資料傳輸(DTS)的AnalyticDB for MySQL叢集(目前預設為基礎版),購買成功後會自動将雲資料庫RDS MySQL主執行個體中的全量資料和增量資料實時同步到AnalyticDB for MySQL中,使用者可以登陸AnalyticDB for MySQL控制台的叢集詳情頁檢視資料同步進度和延時情況。

2.1 AnalyticDB介紹

AnalyticDB是阿裡巴巴自主研發、唯一經過超大規模以及核心業務驗證的PB級實時資料倉庫。自2012年第一次在集團釋出上線以來,至今已累計疊代釋出近百個版本,支撐起集團内的電商、廣告、菜鳥、文娛、飛豬等衆多線上分析業務。每年雙十一上述衆多實時分析業務高峰驅動着AnalyticDB不斷的架構演進和技術創新。

AnalyticDB于2014年在阿裡雲開始正式對外輸出,支撐行業既包括傳統的大中型企業和政府機構,也包括衆多的網際網路公司,覆寫外部十幾個行業。

2019年7月,全球最知名的資料管理系統評測标準化TPC組織公布了資料庫領域分析性能基準測試排名,AnalyticDB登上榜首,是全球首個通過TPC嚴格審計認證的雲資料庫産品。AnalyticDB對資料進行線上統計和分析,幫助企業簡單快速實時挖掘資料價值。登上TPC榜首,意味着其已經成為全球最快的實時資料倉庫!在複雜分析場景中性能提升10倍,萬億資料多元分析僅需毫秒級。

近期,阿裡雲基于常見的開源資料分析産品與阿裡雲自研的AnalyticDB進行了TPC-H(100GB)對比測試,測試結果為:AnalyticDB性能約為開源MySQL 100倍,約為Presto、Spark、Impala的6~10倍,詳情情況參考測試結果。

一遇到複雜分析查詢就卡頓?MySQL分析執行個體了解一下

2.2 AnalyticDB基礎版

AnalyticDB for MySQL的産品系列包括基礎版(單機版)和叢集版,基礎版為單個節點提供服務,極簡的架構大大的降低了基礎版的使用門檻。存儲計算分離架構、行列混存技術、輕量的索引建構方式和分布式混合計算引擎又保證了基礎版強大的分析性能。隻需要花費860元就可以建構實時數倉,無需成立專門的大資料團隊,為企業節省百萬成本。

2.3 AnalyticDB技術架構

如下為基礎版和叢集版架構圖,無論哪種系列AnalyticDB都是由Coordinator和Worker組成。

一遇到複雜分析查詢就卡頓?MySQL分析執行個體了解一下

上圖為基礎版架構圖,下面為叢集版架構圖

一遇到複雜分析查詢就卡頓?MySQL分析執行個體了解一下
2.3.1 Coordinator:前端控制節點,職責包括:

(1)MySQL協定層接入,SQL解析

(2)認證和鑒權,提供了更完善和細化的權限體系模型,白名單和叢集級别RAM控制,并審計與合規記錄所有SQL操作。

(3)叢集管理:成員管理、中繼資料、資料一緻性、路由同步、備份與恢複(資料與log管理)

(4)背景異步任務管理

(5)事務管理

(6)優化器,執行計劃生成

(7)計算排程,負責執行任務排程

2.3.2 Worker: 存儲和計算節點,包含

(1)計算子產品

分布式MPP+DAG混合計算引擎和優化器達到了更高的複雜計算能力和混合負載管理能力。利用阿裡雲計算平台之上資源靈活排程上的優勢,實作了計算資源的彈性排程。計算 Worker節點可以單獨拉起,因應業務需求做到分鐘級甚至秒級擴充,實作資源的最有效利用。

(2)存儲子產品

存儲子產品更加輕量化,具備了承載更大吞吐資料實時寫入和讀取能力,寫入性能比之前版本同等規格高50%倍左右,毫秒級可見,滿足客戶實時分析需求。存儲節點提供全量和增量備份和恢複能力,雲盤的定期快照和日志會實時同步到OSS中儲存,對使用者資料提供更高的安全保障,幫助使用者在資料庫發生問題時最大限度的找回。

(3)Worker Group

帶存儲子產品的Worker節點被劃分為一個個節點組(Worker Group),叢集版提供三副本的存儲,通過Raft分布式一緻性協定像一個整體一樣工作,允許其中一些Worker節點出現故障也能繼續提供服務。

AnalyticDB的讀寫鍊路就是穩定運作在上訴元件之上

(1)寫傳入連結路,資料通過Coordinator寫入後,會根據表上的分區鍵寫入到不同的表分區(Shard)所屬的Worker Group中,每個Worker Group中的Worker三副本通過Raft協定保證了資料的強一緻性、高可靠、高可用、實時可見(線性一緻性);為了保證高效,AnalyticDB 進行了GroupCommit、壓縮、異步化、零拷貝等衆多優化技術,大幅優化了寫入性能, TPC-H表單節點TPS 到達15w 以上,并且可以線性擴充;

(2)查詢鍊路,使用者的SQL語句通過MySQL協定發送到Coordinator後,SQL會被Parser進行解析生成邏輯計劃,然後被Optimizer進行優化後生成實體執行計劃,再發送給計算排程子產品将該SQL的實體執行Task分發到不同的Worker節點執行,每個執行Task都會被關聯到Worker上的存儲,從存儲拉取資料進行分布式計算。

為了提升計算性能,AnalyticDB 進行了計算下推存儲、高效智能索引篩選、向量化+Pipeline流式執行等一系列優化,這也是AnalyticDB的TPC-DS性能做到了全球最快的原因。

3、MySQL分析執行個體優勢

(1)一鍵購買,權限打通

RDS MySQL使用者隻需通過控制台購買MySQL分析執行個體,即可實作資料同步,無需分别購買AnalyticDB for MySQL叢集和資料傳輸(DTS)執行個體;系統自動打通RDS MySQL、資料傳輸(DTS)和AnalyticDB for MySQL之間的權限,無需反複授權。

(2)免費自動同步資料

MySQL分析執行個體内置資料傳輸(DTS),建立成功後自動進行全量和增量資料同步。

(3)更大規模,性能更高

複雜分析性能約為MySQL的100倍以上;具有承載更大吞吐資料實時寫入和讀取能力。

(4)極度靈活的彈性能力

針對節點組和磁盤空間可以随時秒級擴縮容或者升降配;支援升配存儲密集型和計算密集型規格,冷熱資料分層存儲,曆史資料無限低成本保留(即将上線)。

(5)完整的OLTP+OLAP解決方案

産品級别深度融合,完美解決客戶複雜分析查詢卡頓問題,快速建構實時數倉。

4、适合使用者

MySQL分析執行個體特别适合以下人群:

(1)Hadoop/Spark等太複雜,想快速實作資料化轉型的RDS客戶;

(2)報表資料庫查詢慢的RDS使用者;

(3)需要快速建構測試環境的進行數倉選型RDS使用者;

(4)學習類客戶,可快速了解AnalyticDB for MySQL的RDS使用者;

解讀到這裡大家一定很想體驗下MySQL執行個體

現在還有限時優惠哦!

新使用者10元3個月

續費包年低至7折

趕緊掃描下圖二維碼體驗吧!

一遇到複雜分析查詢就卡頓?MySQL分析執行個體了解一下