崑崙分散式資料庫技術優勢

KunlunDB發表於2022-01-17

上章節介紹了崑崙分散式資料庫的技術特點,這章緊接上文帶來資料庫的技術優勢。


一、開源、揚眾長避眾短


1.1  集3大主要資料庫Oracle、MySQL、PostgreSQL的強項於一身併產生1+1>>2的放大效應,可以廣泛匯聚社群能量,產生長久的價值和生命力。


  • Oracle:儲存引擎,查詢處理。


  • innodb完全遵從Oracle的儲存引擎的設計。


  • MySQL:innodb儲存引擎和 binlog 複製(RBR)。


  • PostgreSQL:查詢處理能力在所有開源RDBMS中最強。


  • MySQL&PostgreSQL開源社群的人力資源和技術資源。


1.2  避免它們的弱項


  • Oracle:硬體和軟體昂貴,成本過高:無法做到安全可控,政策合規。


  • MySQL:查詢處理的效能和功能有限:單機資料庫,無法水平彈性擴容。


  • PostgreSQL:儲存引擎不適合重負載OLTP負載.


二、查詢處理能力


2.1  計算節點支援PostgreSQL的所有主要查詢處理功能。


  • 支援絕大多數DDL和所有DML語法和功能。


  • 例外:外來鍵和觸發器,tablespace和儲存相關功能,WAL replication。


  • 支援所有基本資料型別。


  • 數值,字串,text/blob,時間1日期/時間戳/money/enum,序列等等。


  • 支援高階查詢處理功能。


  • 任意跨shard的多表連線,子查詢,儲存過程。


  • OLAP分析能力:聚集函式,window函式,grouping sets, cube, rollup。


  • CTE,檢視,物化檢視,真prepared stmt,jit.


2.2  計算節點相容MySQL和Oracle的常用SQL語法(*)。


  • 支援MySQL客戶端協議(*)


  • 去O的遷移工作量較小,技術人員技能可平移,學習曲線平緩 (*)


三、全方位資料安全保障


3.1  在資料來源頭控制資料訪問更加安全可靠。


  • 統一/多層級/靈活動態配置訪問控制規則。


  • 應用層面訪問控制的多種缺陷。


  • 不統一:多種應用訪問同一個資料庫,每個應用都需要規則配置甚至編碼實現。


  • 不靈活動態:硬編碼的訪問控制規則,不容易修改。


  • 不安全:控制策略和規則本身會洩露資訊。


3.2  多層級細粒度的訪問控制。


  • 多層級的使用者/角色。


  • 多層級的資料庫物件:資料庫/schema/表/檢視/列。


  • 多層級管理各種資料庫物件的訪問控制規則。


3.3  使用者資料全系統加密:資料檔案和binlog檔案以及日誌檔案均可加密;

SSL全鏈路加密,安全傳輸資料; 多級(database,schema,table,view,column)細粒度訪問控制。


四、相容幷蓄


4.1  計算節點開放架構。


  • Extension:無縫相容PostgreSQL生態,PostGIS等。


  • FDW(foreign data wrapper):可以實現介面來讀取所有主流資料來源。


  • hadoop生態:hbase,hive等。


  • 主流資料庫:Oracle,MSSQL Server,DB2,MySQL,PostgreSQL等等


  • 列儲存(OLAP)和時序資料庫。


4.2  計算節點其他優勢。


  • 完善的i18n/globalization/localization支援。


  • 時區,字符集和collation。


  • 多語言能力。


五、多層級多方面的擴充套件能力


5.1  按需彈性水平擴充套件能力。


  • 多個讀寫節點,處理讀寫負載都可以按需擴充套件處理能力。


  • 無共享(sharenothing),無單點依賴。


  • 無效能瓶頸,無計算/儲存能力瓶頸。


  • 按需增減計算節點和儲存叢集/節點。


  • 透明的按需擴充套件,業務系統和終端使用者無感知。


  • 儲存叢集擴容速度可調,對資料來源節點的計算/儲存/網路資源消耗可控。


5.2  全系統平行計算能力。


  • 充分發揮伺服器的並行工作能力。


  • 多核並行。


  • 儲存系統並行。


  • 網路系統並行。


六、其它優勢


6.1  不用固定分割槽數量,而是可以每個表不同的分割槽數量,分割槽規則(3種),並且可以使用任意數量的分割槽列,甚至對於小表可以完全不分割槽。


6.2  儲存叢集


  • 效能領先:分散式事務處理效能大大高於社群版本http//www.zettadbcom/blogs/perf-cmp-mysql。


  • 完備的容災能力:填補社群版MySQL80的分散式事務處理的容災能力空白。



  • 本技術分享影片的國內地址:https//wwwbilibilicom/video/BV1zo4y1d7pu


  • 原生的onlineDDL功能:快速加列。


6.3  崑崙資料庫 VS MySQL:使用崑崙資料庫管理小規模資料的優勢。


  • 放大了單-MySQL叢集的能力,按需水平擴充套件能力和更強大的資料分析能力。


  • 更簡單方便地使用MySQL叢集:自動切主並維護mysql叢集狀態。


  • 並行查詢處理,備機讀。


6.4  叢集結構簡單,不依賴第三方模組和軟體(etcd/zookeeper等)


  • 產品質量可控。


  • 人力負擔小。


注意:上方(*) 的條目是即將支援的功能

推薦閱讀






END


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

相關文章