当前位置: 首页 > 科技观察

RadonDB深入学习系列-安装

时间:2023-03-21 15:20:32 科技观察

RadonDB深入学习在深入学习一波xenon(MySQL高可用组件)之前,我打算深入学习一波Radon(MySQL中间件)近期,将日常学习整理成系列文章,今天先简单介绍一下。RadonDB是一个开源的云原生数据库,支持无限扩展和性能扩展,支持分布式事务。其突出特点如下:AutomaticShardingSupportsauditingSupportsparallelism:支持并行查询,并行DML,并行DDLParallelCHECKSUMTABLE:结果随MySQL分布式事务类型:SnapshotIsolation隔离级别分布式关联查询:Sort-MergeJoin,Nested-LoopJoinDistributedfull-textindexMulti-tenantsupportPreparedSQLJSONgit地址:https://github.com/radondb/radon1.安装下载gitclonehttps://github.com/radondb/radon编译安装第一个前提是要有一个go环境。如何安装?自己谷歌一下。cdradonmakebuild编译完成后,会在bin文件夹下生成可执行文件radon。{//元数据存储位置"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}}3.启动Radon./radon-cradon.json>radon.log2>&1&启动后会报错如下:2020/03/0215:00:28.210378privilege.go:96:[ERROR]plugin.privilege.update.privilege.error:backends.is.NULL这个不要紧,因为我们还要添加End数据节点,没有数据节点Radon会报错4.添加数据节点curl-i-H'Content-Type:application/json'-XPOST-d'{"name":“后端1”,“地址”:“127.0.0.1:3306","user":"xucl","password":"xuclxucl123","max-connections":1024}'http://127.0.0.1:8080/v1/radon/backend添加后输出如下遵循HTTP/1.1200OKDate:Mon,02Mar202007:02:32GMTContent-Length:0表示添加成功5.登录radonmysql-h127.0.0.1-uxucl-pxuclxucl123-P13308查看数据库xucl@mysqldb15:03:[(无)]>showdatabases;+--------------------+|数据库|+------------------+|information_schema||mysql||performance_schema||sys|+--------------------+4rowsinset(0.00sec)创建数据xucl@mysqldb15:07:[(none)]>createdatabasezst;QueryOK,1rowaffected(0.01sec)六、目录结构在我们之前配置文件中定义的meta-dir位置,这个位置保存了一些与radon相关的元数据文件[root@izbp13wpxafsmeraypddyvzradon-meta]#catbackend.json|jq.{"backends":[{"name":"backend1","address":"127.0.0.1:3306","user":"xucl","password":"xuclxucl123","数据库":"","字符集":"utf8","最大连接数s":1024,"role":0}]}backend.json保存后端节点信息catversion.json|jq.{"version":1583132882620481800}version.json保存版本信息另外meta文件中Metadata相关todatabasetables也会存放在文件夹下[root@izbp13wpxafsmeraypddyvzradon-meta]#lsbackend.jsonversion.jsonzst我们刚才创建的zst库是以文件夹的形式存放的,后续在zst下建的表也会存放在zst文件夹