当前位置: 首页 > 软件库 > 程序开发 > 搜索引擎 >

radon

授权协议 GPL-3.0 License
开发语言 C/C++
所属分类 程序开发、 搜索引擎
软件类型 开源软件
地区 不详
投 递 者 胡锋
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Go Report Cardcodecov.io

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_statements_manual

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

The integrated github issue trackeris used for this project.

License

RadonDB is released under the GPLv3. See LICENSE

  • 使用python和radon批量获取代码复杂度 任务概述 我们小组的大作业要从多个维度分析同学们的代码情况,描绘出编程者的用户画像。 为啥用radon 起初,我们小组商量着对同学们的py代码分析出循环深度。不得不说,对文件做词法分析和“循环深度”这样的事情,看着就很烦。 于是我在网上看到了下面这个文章。 如何科学评估代码复杂度? 确实,mi指数或者圈复杂度要比我们想的循环深度要好(再说直接调用就好

  • 其数学基础是 Radon 变换及其逆变换.测试 CT 系统后得到的数据,可用 Matlab 软件提供的 iradon 逆变换函数,得出介质密度分布的图像,根据 CT 系统的标定参数值,把...... ? 信息技术 基于 Radon 变换的文本图像倾斜校正* 吴珅 黄道平 刘少君(... CT 成像的基本数学原理是 Radon 变换及其逆变换, 对于大量精确的投影数据来说,这是一种具有高效率的重建

  • 1.https://zhuanlan.zhihu.com/p/79722768 2.https://blog.csdn.net/qq_33837704/article/details/79504530 3.https://blog.csdn.net/yu132563/article/details/99228303

  • 其数学基础是 Radon 变换及其逆变换.测试 CT 系统后得到的数据,可用 Matlab 软件提供的 iradon 逆变换函数,得出介质密度分布的图像,根据 CT 系统的标定参数值,把...... ? 信息技术 基于 Radon 变换的文本图像倾斜校正* 吴珅 黄道平 刘少君(... CT 成像的基本数学原理是 Radon 变换及其逆变换, 对于大量精确的投影数据来说,这是一种具有高效率的重建

相关阅读

相关文章

相关问答

相关文档