崑崙分散式資料庫技術特點

KunlunDB發表於2022-01-17

上章節介紹了崑崙分散式資料庫的架構,這章節接著介紹崑崙分散式資料庫的技術特點!


一、高可用性(HA)


相容多種強一致性,高可用性方案(strong consistency,high availability)


1.1  儲存shard:預設使用MySQLGroupReplication保障資料庫服務高可用


1.2  2*N+1個節點的shard,每個已提交的事務都複製到了至少N個備機


崑崙分散式資料庫技術特點


1.3  相容基於mysqlrowbasedreplication的半同步同步的高可用技術(*)


1.4  相容基於共享儲存實現高可用的mysql儲存叢集(*)


二、完備的容災能力


完備的容災能力(crash safety&fault tolerance)


2.1  儲存叢集主備強一致


2.2  GTP:全域性事務容災能力


  • 分散式事務兩階段提交


  • 節點/網路故障時可以保障分散式事務ACID


2.3  GMR:DDL與叢集全域性後設資料一致性


  • DDL事務涉及計算節點,後設資料叢集,儲存叢集


2.4  GMR:計算節點之間的後設資料語句複製及其一致性保障


  • 複製過程隨時可能中斷


2.5  GTP:計算節點自動切換儲存叢集主節點(auto failover)


  • 後設資料叢集,儲存叢集


2.6  GTP:cluster_mgr:自動維護各shard的儲存叢集複製狀態


三、水平擴充套件能力


高可擴充套件性(high scalability):計算能力,儲存空間,資源利用率


3.1  IAP:靈活的sharding方式


  • 使用者對sharding方式擁有全部控制


  • sharding方式:hash/range/list,未來mirror(*)


  • 選擇sharding列:任意若干個列

     

  • 使用者最理解自己的資料及其訪問模式


  • 定製分割槽選項達到最優效能


  • 專業模式VS 傻瓜模式


  • 根據資料表的規模定製sharding方案


  • 不需要預估全域性的固定的分割槽數目,也不把所有表等分為固定數量的分割槽


  • 可以為每個表按需增加分割槽,各表分割槽數量各異


  • 最少化兩階段提交的事務數量


  • 計算節點自動為每個分片選擇合適的儲存叢集


3.2  ESO:自動按需擴充套件(*)


  • 自動透明地分佈資料表到新加入的儲存叢集


  • 業務和終端使用者無感知


3.3  GPQP:全域性並行查詢處理:後摩爾時代,利用更多的計算資源


  • 計算節點層的並行


  • 計算節點與儲存節點之間的並行


  • 儲存節點層的並行(*)


3.4  多點讀寫


  • 按需增加/減少計算節點


  • 按需增加/減少儲存shard(*)


  • 儲存叢集支援多點寫入(*)


  • 備機讀(*)


四、查詢處理


4.1  充分理解使用者資料


  • 本地儲存完備的後設資料和資料字典


  • 本地儲存完備的全域性資料統計資訊


  • 有條件產生最優的分散式查詢計劃和查詢執行效能


4.2  完整的查詢處理過程


  • parser->resolver->optimizer->executer


  • 可以處理任意SQL查詢


  • 支援多表連線,子查詢,聚集查詢,CTE,window function,儲存過程,檢視,物化檢視


  • 完整的查詢處理功能:真prepared statement


4.3  完美支援OLAP查詢


  • 查詢處理能力完美支援大資料分析任務


  • 直接使用本地資料,無需資料搬遷,無需spark/hadoop生態


4.4  可以呼叫MySQL系統函式和使用者定義的儲存過程/函式


END

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70011764/viewspace-2852616/,如需轉載,請註明出處,否則將追究法律責任。

相關文章