RadonDB深入学习系列-安装

发布时间:2025-05-13 22:44:36 作者:益华网络 来源:undefined 浏览量(0) 点赞(0)
摘要:RadonDB深入学习 之前深入学习了一波xenon(MySQL高可用组件),近期打算深入学习一波Radon(MySQL中间件),将每日所学整理成一个系列文章,今天先来个简单的入门。 RadonDB是一个开源、云原生的数据库,支持无限伸缩和性能扩展,支持分布式事务,优秀特性如下:自动Shardin

 RadonDB深入学习

之前深入学习了一波xenon(MySQL高可用组件),近期打算深入学习一波Radon(MySQL中间件),将每日所学整理成一个系列文章,今天先来个简单的入门。

RadonDB是一个开源、云原生的数据库,支持无限伸缩和性能扩展,支持分布式事务,优秀特性如下:

自动Sharding  支持审计  支持并行:支持并行查询,并行DML,并行DDL  并行CHECKSUM TABLE: 结果同MySQL  分布式事务: Snapshot Isolation隔离级别  分布式关联查询: Sort-Merge Join, Nested-Loop Join  分布式全文索引  多租户  支持Prepared SQL  JSON

git地址:https://github.com/radondb/radon

一、安装

下载 

git clone https://github.com/radondb/radon 

编译安装

首先前提是要有go环境,怎么安装的话自行google一下   

cd radon     make build 

编译完成以后,会在bin文件夹下生成可执行文件radon

二、配置文件 

{    "proxy": {    //元数据保存位置    "meta-dir": "meta/radon-meta",    //对外提供服务端口    "endpoint": ":13308",    //分布式事务二阶段提交    "twopc-enable": false,    //最大连接数    "max-connections": 1024,    //限制最大结果集大小    "max-result-size": 1073741824,    //最大关联行数    "max-join-rows": 32768,    //ddl超时时间    "ddl-timeout": 36000000,    //查询超时时间    "query-timeout": 300000,    //api及多个成员通信端口    "peer-address": ":8080",    //慢查询时间    "long-query-time": 5,    //流式处理内存大小    "stream-buffer-size": 33554432,    //超时连接处理    "kill-idle-transaction": 60,    "autocommit-false-is-txn": false    },    //审计相关    "audit": {    "mode": "N",    "audit-dir": "meta/radon-audit",    "max-size": 268435456,    "expire-hours": 1    },    //这里定义了全局的分库分别的大小    "router": {    "slots-readonly": 4096,    "blocks-readonly": 32    },    //日志等级    "log": {    "level": "INFO"    },    "monitor": {    "monitor-address": "0.0.0.0:13380"    },    //XA事务相关    "scatter": {    "xa-check-interval": 10,    "xa-check-dir": "./xacheck",    "XaCheckRetrys": 10    }    }

三、启动Radon   

./radon -c radon.json > radon.log 2>&1 & 

启动以后会报错如下: 

2020/03/02 15:00:28.210378 privilege.go:96: [ERROR] plugin.privilege.update.privilege.error:backends.is.NULL 

这个没有关系,因为我们现在还有添加后端数据节点,Radon检测到没有数据节点就会报错

四、添加数据节点   

curl -i -H Content-Type: application/json -X POST -d {"name": "backend1", "address": "127.0.0.1:3306", "user": "xucl", "password": "xuclxucl123", "max-connections":1024} http://127.0.0.1:8080/v1/radon/backend 

添加完成以后,输出如下 

HTTP/1.1 200 OK    Date: Mon, 02 Mar 2020 07:02:32 GMT    Content-Length: 0 

表示添加成功

五、登陆radon   

mysql -h127.0.0.1 -uxucl -pxuclxucl123 -P13308 

查看数据库 

xucl@mysqldb 15:03: [(none)]> show databases;    +--------------------+    | Database |    +--------------------+    | information_schema |    | mysql |    | performance_schema |    | sys |    +--------------------+    4 rows in set (0.00 sec)

创建数据 

xucl@mysqldb 15:07: [(none)]> create database zst;    Query OK, 1 row affected (0.01 sec) 

六、目录结构

在我们之前配置文件中定义的meta-dir位置,在这个位置中,保存了radon相关的一些元数据文件 

[root@izbp13wpxafsmeraypddyvz radon-meta]# cat backend.json|jq .    {    "backends": [    {    "name": "backend1",    "address": "127.0.0.1:3306",    "user": "xucl",    "password": "xuclxucl123",    "database": "",    "charset": "utf8",    "max-connections": 1024,    "role": 0    }    ]   }

backend.json保存的是后端节点的信息 

cat version.json |jq .  { "version": 1583132882620481800  } 

version.json保存的是版本信息

此外,在meta文件夹下还会存放跟数据库表相关的元数据   

[root@izbp13wpxafsmeraypddyvz radon-meta]# ls       backend.json version.json zst

刚刚我们创建的zst的库就以文件夹的形式存放,后续在zst下建的表也会存放在zst这个文件夹下。 

二维码

扫一扫,关注我们

声明:本文由【益华网络】编辑上传发布,转载此文章须经作者同意,并请附上出处【益华网络】及本页链接。如内容、图片有任何版权问题,请联系我们进行处理。

感兴趣吗?

欢迎联系我们,我们愿意为您解答任何有关网站疑难问题!

您身边的【网站建设专家】

搜索千万次不如咨询1次

主营项目:网站建设,手机网站,响应式网站,SEO优化,小程序开发,公众号系统,软件开发等

立即咨询 15368564009
在线客服
嘿,我来帮您!