RadondB是一個開源,雲原生MySQL數據庫,用於無限的可伸縮性和性能。
RadondB是一個基於MySQL的雲本地數據庫,並在完全分佈的群集中進行了構建,可實現無限的可擴展性(擴展),容量和性能。它支持確保數據一致性的分佈式交易,並利用MySQL作為可信數據可靠性的存儲引擎。 RadondB與MySQL協議兼容,SUPPORTING自動桌碎片以及用於簡化維護和操作工作流程的自動化功能的批次。
有關安裝,部署和管理的指導,請參閱我們的文檔。
RadondB是基於MySQL的新一代分佈式關係數據庫(MyNewSQL)。它旨在創建開發人員想要使用的開源數據庫:具有諸如財務高可用性之類的功能,大容量數據庫,自動平面拆分錶,自動平面split table,可擴展且強大的一致性,本指南列出了詳細介紹radon過程的內部工作,作為解釋的手段。
在SQL語法級別上,radondb與mysql完全兼容。
SQL節點通過代理從MySQL客戶端接收SQL請求後,RadondB解析了該語句,創建查詢計劃,然後執行計劃。
+---------------+
x---------->|node1_Executor |
+--------------------+ x +---------------+
| SQL Node | x
|--------------------| x
+-------------+ | sqlparser | x +---------------+
| query |+----------->| |--x---------->|node2_Executor |
+-------------+ | Distributed Plan | x +---------------+
| | x
+--------------------+ x
x +---------------+
x---------->|node3_Executor |
+---------------+
Parsing
收到的查詢由SQLPARSER(描述MySQL支持的語法)解析,並生成抽象的語法樹(AST)。
Planning
在AST的情況下,RadondB開始通過生成一棵plannodes樹來計劃查詢的執行。此步驟還包括針對預期的AST表達式分析客戶端SQL語句的步驟,其中包括類型檢查。
您可以看到使用EXPLAIN查詢計劃生成(在此階段,我們只使用EXPLAIN到分析表分佈)。
Excuting
與分佈式執行計劃並行地在存儲層中執行執行層。
SQL節點是無狀態的,但是為了保證事務Snapshot Isolation ,它當前是一種寫入模式。
Distributed transaction
RadDB提供分佈式交易功能。如果不同存儲節點處的分佈式執行者和一個節點之一未能執行,則將返回其餘節點的操作,這保證了跨節點操作的原子量,並使數據庫以一致的狀態使數據庫。
Isolation Levels
RadondB在一致性水平上達到了Si(快照隔離)的水平。只要分佈式交易沒有提交,或者某些分區所承諾,則該操作對於其他交易是看不見的。
Transaction with SQL Layer
SQL節點是無狀態的,但是為了保證事務Snapshot Isolation ,它當前是一種寫入模式。
集成的GitHub問題跟踪器用於此項目。
RadondB在GPLV3下釋放。請參閱許可證