xenon mysql_数据库RadonDB深入学习系列-安装

本文介绍了开源云原生数据库RadonDB的安装、配置及数据节点的添加过程。首先从GitHub克隆源码并编译,然后配置包括元数据、审计、路由等参数,启动后添加数据节点。通过curl命令添加了一个名为backend1的MySQL后端节点,并成功连接验证。最后展示了RadonDB的目录结构,包括保存的元数据文件和数据库信息。
摘要由CSDN通过智能技术生成

354c77c34446b497c113589a532dd803.png

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这个文件夹下。

严格来说,数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据指的是以一定的数据模型组织、描述和储存在一起、具有尽可能小的冗余度、较高的数据独立性和易扩展性的特点并可在一定范围内为多个用户共享。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值