RADON
Radon 是一款自研 SQL 内核,具备以下 SQL 语法形式和使用规范。
RADON ATTACH
- 
附加一个 MySQL 到 RadonDB 的 backend。 
- 
在 backend 中类型为 attach.
语法
RADON ATTACH($address,$user,$password)
示例
mysql> radon attach('127.0.0.1:3306','root','123456');
Query OK, 0 rows affected (0.94 sec)
RADON ATTACHLIST
列出类型为 attach 的 backend。
示例
mysql> radon attachlist;
+----------------+----------------+------+
| Name           | Address        | User |
+----------------+----------------+------+
| 127.0.0.1:3306 | 127.0.0.1:3306 | root |
+----------------+----------------+------+
1 row in set (0.00 sec)
RADON DETACH
将一个类型为 attach 的 backend 从 RadonDB 中剥离。
语法
RADON DETACH($address)
示例
mysql> radon detach('127.0.0.1:3306');
Query OK, 0 rows affected (0.22 sec)
mysql> radon attachlist;
Empty set (0.00 sec)
RADON RESHARD
- 
将数据从一个 single 表转移到另一个 hash 分区表。 
- 
执行后立即返回,迁移将在后台运行。 
- 
single 表必须带有主键。 
语法
RADON RESHARD tbl_name TO new_tbl_name
示例
mysql> show tables;
Empty set (0.10 sec)
mysql> create table t1(a int primary key, b varchar(255)) single;
Query OK, 0 rows affected (0.13 sec)
mysql> insert into t1(a,b) values(1,'a'),(2,'b');
Query OK, 2 rows affected (0.10 sec)
mysql> radon reshard t1 to new_tb;
Query OK, 0 rows affected (0.00 sec)
mysql> show tables;
+---------------+
| Tables_in_zzq |
+---------------+
| t1            |
| new_tb        |
+---------------+
2 rows in set (0.10 sec)
mysql> show create table new_tb;
+--------+----------------------------------------------------------------+
| Table  | Create Table                                                   |
+--------+----------------------------------------------------------------+
| new_tb | CREATE TABLE `new_tb` (
  `a` int(11) NOT NULL,
  `b` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`a`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
/*!50100 PARTITION BY HASH(a) */ |
+--------+----------------------------------------------------------------+
1 row in set (0.05 sec)
mysql> select * from new_tb;
+---+------+
| a | b    |
+---+------+
| 1 | a    |
| 2 | b    |
+---+------+
2 rows in set (1.09 sec)
RADON CLEANUP
用于数据重分布之后,旧数据的清理。
示例
mysql> radon cleanup;
Empty set (0.00 sec)
RADON REBALANCE
这条指令旨在让节点之间的数据重新均衡分布,每次从一个后端节点只迁移一张分区表到另一个后端节点。可重复执行,直至数据分布均衡。
- 
当指令执行时,客户端会阻塞; 
- 
若执行 ctrl+c或者退出客户端,操作将会在后台继续进行。
示例
mysql> radon rebalance;
Query OK, 0 rows affected (39.09 sec)