RadonDB - 基于MySQL的云原始分布式数据库,用于构建全局的,可扩展的云服务

RadonDB是开源的云原生MySQL数据库,用于构建全局的,可扩展的云服务 

 

概观

RadonDB是一个开源的,云原生的MySQL数据库,可实现无限的可扩展性和性能。

什么是RadonDB?

RadonDB是基于MySQL的云原生数据库,并在完全分布式的集群中进行设计,可实现无限的可扩展性(横向扩展),容量和性能。它支持确保高数据一致性的分布式事务,并利用MySQL作为存储引擎来提高可信数据的可靠性。RadonDB与MySQL协议兼容,支持自动表分片以及批处理自动化功能,以简化维护和操作流程。

特征

  • 自动分片
  • 审核和记录
  • 并行执行:并行查询,并行DML和并行DDL
  • 并行CHECKSUM TABLE:提供与MySQL相同的结果
  • 分布式事务:快照隔离
  • 分布式联接:排序合并联接,嵌套循环联接
  • 分布式全文本搜索
  • 数据库的多Tenan
  • 准备好的SQL语句
  • JSON格式

文献资料

有关安装,部署和管理的指南,请参阅我们的文档

建筑

总览

RadonDB是基于MySQL的新一代分布式关系数据库(MyNewSQL)。它旨在创建供开发人员使用的开源数据库:该数据库具有财务高可用性,大容量数据库,自动平面拆分表,可伸缩性和强一致性等功能,该指南着手详细说明内部-the过程的工作方式,作为一种解释手段。

SQL层

SQL支持

在SQL语法级别上,RadonDB与MySQL完全兼容。您可以在此处查看 RadonDB支持的所有SQL功能 radon_sql_support

SQL解析器,计划器,执行器

在您的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

SQL节点是无状态的,但是为了保证事务处理Snapshot Isolation,它目前是写多读模式。

交易层

Distributed transaction

RadonDB提供分布式事务处理功能。如果位于不同存储节点的分布式执行程序并且其中一个节点执行失败,则其余节点的操作将被回滚。这保证了跨节点操作的原子性,并使数据库处于一致状态。

Isolation Levels

RadonDB在一致性级别上达到了SI(快照隔离)级别。只要分布式事务尚未提交,或者如果某些分区已提交,则该操作对其他事务不可见。

Transaction with SQL Layer

SQL节点是无状态的,但是为了保证事务处理Snapshot Isolation,它目前是写多读模式。

现场演示

https://radonchain.org

问题

集成GitHub的问题跟踪器 被用于此项目。

执照

RadonDB在GPLv3下发布。参见许可

 

开源地址:https://github.com/radondb/radon

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值