mysql 云数据库 开源,RadonDB是一个开源的云原生MySQL数据库,具有无限的可扩展性和性能...

68747470733a2f2f7472617669732d63692e6f72672f7261646f6e64622f7261646f6e2e7376673f6272616e63683d6d617374657268747470733a2f2f676f7265706f7274636172642e636f6d2f62616467652f6769746875622e636f6d2f7261646f6e64622f7261646f6e68747470733a2f2f636f6465636f762e696f2f67682f7261646f6e64622f7261646f6e2f6772617068732f62616467652e737667

OverView

RadonDB is an open source, Cloud-native MySQL database for unlimited scalability and performance.

What is RadonDB?

RadonDB is a cloud-native database based on MySQL, and architected in fully distributed cluster that enable unlimited scalability (scale-out), capacity and performance. It supported distributed transaction that ensure high data consistency, and leveraged MySQL as storage engine for trusted data reliability. RadonDB is compatible with MySQL protocol, and sup-porting automatic table sharding as well as batch of automation feature for simplifying the maintenance and operation workflow.

Features

Automatic Sharding

Auditing and Logging

Parallel Execution: Parallel Query, Parallel DML and Parallel DDL

Parallel CHECKSUM TABLE: Gives same results as MySQL

Distributed Transaction: Snapshot Isolation

Distributed Joins: Sort-Merge Join, Nested-Loop Join

Distributed Full Text Search

Multi Tenant by Database

Prepared SQL Statement

JSON

Documentation

For guidance on installation, deployment, and administration, see our Documentation.

Architecture

Overview

RadonDB is a new generation of distributed relational database (MyNewSQL) based on MySQL. It was designed to create the open-source database our developers would want to use: one that has features such as financial high availability、 large-capacity database、automatic plane split table、 scalable and strong consistency, this guide sets out to detail the inner-workings of the radon process as a means of explanation.

SQL Layer

SQL support

On SQL syntax level, RadonDB Fully compatible with MySQL.You can view all of the SQL features RadonDB supports here radon_sql_support

SQL parser, planner, executor

After your SQL node receives a SQL request from a mysql client via proxy, RadonDB parses the statement, creates a query plan, and then executes the plan.

+---------------+

x---------->|node1_Executor |

+--------------------+ x +---------------+

| SQL Node | x

|--------------------| x

+-------------+ | sqlparser | x +---------------+

| query |+----------->| |--x---------->|node2_Executor |

+-------------+ | Distributed Plan | x +---------------+

| | x

+--------------------+ x

x +---------------+

x---------->|node3_Executor |

+---------------+

Parsing

Received queries are parsed by sqlparser (which describes the supported syntax by mysql) and generated Abstract Syntax Trees (AST).

Planning

With the AST, RadonDB begins planning the query's execution by generating a tree of planNodes. This step also includes steps analyzing the client's SQL statements against the expected AST expressions, which include things like type checking.

You can see the a query plan generates using EXPLAIN(At this stage we only use EXPLAIN to analysis Table distribution).

Excuting

Executing an Executor in a storage layer in Parallel with a Distributed Execution Plan.

SQL with Transaction

The SQL node is stateless, but in order to guarantee transaction Snapshot Isolation, it is currently a write-multiple-read mode.

Transaction Layer

Distributed transaction

RadonDB provides distributed transaction capabilities. If the distributed executor at different storage nodes and one of the nodes failed to execute, then operation of the rest nodes will be rolled back, This guarantees the atomicity of operating across nodes and makes the database in a consistent state.

Isolation Levels

RadonDB achieves the level of SI (Snapshot Isolation) at the level of consistency. As long as a distributed transaction has not commit, or if some of the partitions have committed, the operation is invisible to other transactions.

Transaction with SQL Layer

The SQL node is stateless, but in order to guarantee transaction Snapshot Isolation, it is currently a write-multiple-read mode.

Issues

License

RadonDB is released under the GPLv3. See LICENSE

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值