首页 资讯频道 互联频道 智能频道 网络 数据频道 安全频道 服务器频道 存储频道

RadonDB深入学习及如何安装

2020-03-24 14:53:20 来源 : 今日头条

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

一、安装

下载

gitclonehttps://github.com/radondb/radon

编译安装

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

cdradon

makebuild

编译完成以后,会在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-cradon.json>radon.log2>&1&

启动以后会报错如下:

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

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

四、添加数据节点

curl-i-H'Content-Type:application/json'-XPOST-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.1200OK

Date:Mon,02Mar202007:02:32GMT

Content-Length:0

表示添加成功

五、登陆radon

mysql-h127.0.0.1-uxucl-pxuclxucl123-P13308

查看数据库

[email protected]:03:[(none)]>showdatabases;

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

|Database|

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

|information_schema|

|mysql|

|performance_schema|

|sys|

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

4rowsinset(0.00sec)

创建数据

[email protected]:07:[(none)]>createdatabasezst;

QueryOK,1rowaffected(0.01sec)

六、目录结构

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

[[email protected]]#catbackend.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保存的是后端节点的信息

catversion.json|jq.

{

"version":1583132882620481800

}

version.json保存的是版本信息

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

[r[email protected]]#ls

backend.jsonversion.jsonzst

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

相关文章

最近更新