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下释放。请参阅许可证