RadonDB:新一代的分布式關係型數據庫

作者: 伊人影院科技集團 / 時間: 2019-06-02 23:48:03
瀏覽次數 105

  【IT168 評論】1. 簡介

  RadonDB是?款基於MySQL研發的新?代分布式關係型數據庫(MyNewSQL)。

  向?戶提供具備?融級?可?、強?致、超?容量的數據庫服務,?度兼容MySQL語法,?動?平分表,智能化擴容。

  2. RadonDB的優勢

  ?動?平分表,?鍵即可開啟智能化擴容,擴容過程業務不中斷 數據多副本並可跨數據中?部署,率先使?GTID並?複製+Raft?致性協議確保副本間數據強?致、零丟失 主副本故障?動秒級切換,實現?動化運維,?需???預 存儲副本使?MySQL(5.7.19)存儲,穩定可靠的存儲能?與強?的計算能?並存 提供分布式事務能?,保證跨節點操作的數據?致性 同時?持OLTP(?並發事務需求)和OLAP(複雜分析需求) ?度兼容MySQL語法,數據可快速導?、導出,簡單易?

  3. 架構

  RadonDB由SQL節點(Distributed SQL Nodes)和存儲節點(Storage Nodes)以及計算節點(Compute Nodes)三?部分組成。

  整體架構如下:

RadonDB:新?代的分布式關係型數據庫

  3.1 SQL節點

  SQL節點主要負責:

  ?成分布式執?計劃(Distributed Plan) ?成分布式執?器(Distributed Executor)且並?式執? 協調分布式事務

  對於?戶的每?個query,到達?個SQL節點後,處理流程如下:

RadonDB:新?代的分布式關係型數據庫

  SQL節點是?狀態的,但是為了保證事務的Snapshot Isolation隔離性,?前是?寫多讀模式。

  3.2 存儲節點

RadonDB:新?代的分布式關係型數據庫


  RadonDB整個存儲層由多個存儲節點組成。

  每個存儲節點默認是由?主兩從(三副本)的?可?MySQL集群組成,負責分區數據的存儲與計算。

  3.2.1 副本基於MySQL存儲

  為什麽選擇MySQL進?副本存儲呢?

  伊人影院的考量是:

  MySQL穩定可靠、多索引寫原?保證 儲存可以異構化,InnoDB/TokuDB多引擎可選 盡量把計算下推給MySQL,充分發揮數據就近(Data Locality)優勢,以減少存儲層與SQL層數據傳輸 MySQL 8.0即將推出,功能更加強?

  3.2.2 副本?可?、強?致

  為了保證節點內副本的?可?,伊人影院把MySQL GTID並?複製技術與分布式?致性協議Raft完美結合,在主副本故障後?動秒級切換 並瞬間可?,並確保切換後數據零丟失。

  在RadonDB?,伊人影院把GTID(Global Transaction Identifier)作為Raft協議的log index,結合MySQL的Multi-Threaded Slave (MTS), 可以做到log entry的並?複製、並?回放,log重放時間異常短暫,故障切換後即刻對外服務。

  同時,RadonDB使?強Semi-Sync-Replication技術確保?少?個從副本與主副本在數據上是完全同步的,當主副本故障後,數據完 全同步的從副本將被選為新的主副本,這樣就確保了數據零丟失,並實現了?可?。

  ?如,某個存儲節點的三副本狀態為:

RadonDB:新?代的分布式關係型數據庫

  這樣當Master(主副本)不可服務的時候,Slave1(從副本)將被選為新主,Slave2?動’CHANGE MASTER TO’到新主Slave1並根據 GTID(4和5)進?數據同步,切換後狀態為:

RadonDB:新?代的分布式關係型數據庫

  當某個副本不可?被判定為損壞時,RadonDB則開啟流式重建(streaming-rebuildme)機製,對該副本進?快速重建,以保證?夠多的 副本可?。

  3.3 數據分布

  RadonDB對數據的劃分最?單元是?個“?表”。

  劃分策略為(默認):

  整張表共 4096 slots 每個?表 128 slots

  這?的4096和128均可配置,默認可?持單表最?4PB的容量(假設物理盤最?1TB)。

  如果伊人影院在RadonDB?創建?個表t1,數據分布情況為:

RadonDB:新?代的分布式關係型數據庫

  可以看到,表t1被劃分成32個?表,它們均勻的分散在多個存儲節點上。

  每個?表都有?個??的哈希區間,?於標識??所能存儲的HASH範圍。

  3.4 動態擴容

  為了減少擴容數據遷移量,RadonDB優先以?表為單位進?遷移。

  RadonDB定期的采集存儲節點資源使?情況(CPU/Disk/表熱度等),在擴容的時候會優先選擇這些空間緊張且熱度較?的?表為遷移 對象,使得整體資源分配達到最優。

聲明:本網所有文章(包括圖片和音視頻資料)係出於傳遞更多信息之目的,且明確注明來源和作者,不希望被轉載的媒體或個人可與伊人影院聯係,伊人影院將立即進行刪除處理。所有文章僅代表作者觀點,不代表本站立場。