RadonDB深入学习系列-安装

发表于:2020-3-26 09:49

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:佚名    来源:老叶茶馆

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

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号