This is an automated email from the ASF dual-hosted git repository.
jianglongtao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new e254a65 Improve usage documentation (#12794)
e254a65 is described below
commit e254a65b0b86d6af8f2d3e1e0e32803f1610fb91
Author: lanchengx <[email protected]>
AuthorDate: Tue Sep 28 22:16:29 2021 -0500
Improve usage documentation (#12794)
* Usage doc.
* Usage doc.
* compare
* Update DB to database
---
.../features/dist-sql/usage/db-discovery.cn.md | 99 ++++++++++++++++++++
.../features/dist-sql/usage/db-discovery.en.md | 99 ++++++++++++++++++++
.../features/dist-sql/usage/encrypt-rule.cn.md | 98 ++++++++++++++++++++
.../features/dist-sql/usage/encrypt-rule.en.md | 98 ++++++++++++++++++++
.../dist-sql/usage/readwirte-splitting-rule.cn.md | 95 ++++++++++++++++++++
.../dist-sql/usage/readwirte-splitting-rule.en.md | 96 ++++++++++++++++++++
.../features/dist-sql/usage/shadow-rule.cn.md | 100 +++++++++++++++++++++
.../features/dist-sql/usage/shadow-rule.en.md | 100 +++++++++++++++++++++
.../features/dist-sql/usage/sharding-rule.cn.md | 25 +++---
.../features/dist-sql/usage/sharding-rule.en.md | 23 +++--
10 files changed, 806 insertions(+), 27 deletions(-)
diff --git a/docs/document/content/features/dist-sql/usage/db-discovery.cn.md
b/docs/document/content/features/dist-sql/usage/db-discovery.cn.md
new file mode 100644
index 0000000..e8c7a85
--- /dev/null
+++ b/docs/document/content/features/dist-sql/usage/db-discovery.cn.md
@@ -0,0 +1,99 @@
++++
+title = "数据库发现"
+weight = 5
++++
+
+## 使用实战
+
+### 前置工作
+
+1. 启动MySQL服务
+2. 创建MySQL数据库(参考ShardingProxy数据源配置规则)
+3. 为ShardingProxy创建一个拥有创建权限的角色或者用户
+4. 启动Zookeeper服务 (为了持久化配置)
+
+### 启动ShardingProxy
+
+1. 添加 `mode` 和 `authentication` 配置参数到 `server.yaml` (请参考相关example案例)
+2. 启动 ShardingProxy ([相关介绍](/cn/quick-start/shardingsphere-proxy-quick-start/))
+
+### 创建分布式数据库和分片表
+
+1. 连接到ShardingProxy
+2. 创建分布式数据库
+
+```SQL
+CREATE DATABASE discovery_db;
+```
+
+3. 使用新创建的数据库
+
+```SQL
+USE discovery_db;
+```
+
+4. 配置数据源信息
+
+```SQL
+ADD RESOURCE ds_0 (
+HOST=127.0.0.1,
+PORT=3306,
+DB=ds_0,
+USER=root,
+PASSWORD=root
+),ds_1 (
+HOST=127.0.0.1,
+PORT=3306,
+DB=ds_1,
+USER=root,
+PASSWORD=root
+),ds_2 (
+HOST=127.0.0.1,
+PORT=3306,
+DB=ds_2,
+USER=root,
+PASSWORD=root
+);
+```
+
+5. 创建数据库发现规则
+
+```SQL
+CREATE DB_DISCOVERY RULE group_0 (
+RESOURCES(ds_0,ds_1),
+TYPE(NAME=mgr,PROPERTIES(groupName='92504d5b-6dec',keepAliveCron=''))
+);
+```
+
+6. 修改数据库发现规则
+
+```SQL
+ALTER DB_DISCOVERY RULE group_0 (
+RESOURCES(ds_0,ds_1,ds_2),
+TYPE(NAME=mgr,PROPERTIES(groupName='92504d5b-6dec' ,keepAliveCron=''))
+);
+```
+
+7. 删除数据库发现规则
+
+```SQL
+DROP DB_DISCOVERY RULE group_0;
+```
+
+8. 删除数据源
+
+```SQL
+DROP RESOURCE ds_0,ds_1,ds_2;
+```
+
+9. 删除分布式数据库
+
+```SQL
+DROP DATABASE discovery_db;
+```
+
+### 注意事项
+
+1. 当前, `DROP DATABASE` 只会移除`逻辑的分布式数据库`,不会删除用户真实的数据库。
+2. `DROP TABLE` 会将逻辑分片表和数据库中真实的表全部删除。
+3. `CREATE DATABASE` 只会创建`逻辑的分布式数据库`,所以需要用户提前创建好真实的数据库。
diff --git a/docs/document/content/features/dist-sql/usage/db-discovery.en.md
b/docs/document/content/features/dist-sql/usage/db-discovery.en.md
new file mode 100644
index 0000000..f2ffb8b
--- /dev/null
+++ b/docs/document/content/features/dist-sql/usage/db-discovery.en.md
@@ -0,0 +1,99 @@
++++
+title = "DB Discovery"
+weight = 5
++++
+
+## Usage
+
+### Pre-work
+
+1. Start the MySQL service
+2. Create MySQL database (refer to ShardingProxy data source configuration
rules)
+3. Create a role or user with creation permission for ShardingProxy
+4. Start Zookeeper service (for persistent configuration)
+
+### Start ShardingProxy
+
+1. Add `mode` and `authentication` configurations to `server.yaml` (please
refer to the example of ShardingProxy)
+2. Start ShardingProxy ([Related
introduction](/en/quick-start/shardingsphere-proxy-quick-start/))
+
+### Create a distributed database and sharding tables
+
+1. Connect to ShardingProxy
+2. Create a distributed database
+
+```SQL
+CREATE DATABASE discovery_db;
+```
+
+3. Use newly created database
+
+```SQL
+USE discovery_db;
+```
+
+4. Configure data source information
+
+```SQL
+ADD RESOURCE ds_0 (
+HOST=127.0.0.1,
+PORT=3306,
+DB=ds_0,
+USER=root,
+PASSWORD=root
+),RESOURCE ds_1 (
+HOST=127.0.0.1,
+PORT=3306,
+DB=ds_1,
+USER=root,
+PASSWORD=root
+),RESOURCE ds_2 (
+HOST=127.0.0.1,
+PORT=3306,
+DB=ds_2,
+USER=root,
+PASSWORD=root
+);
+```
+
+5. Create DB discovery rule
+
+```SQL
+CREATE DB_DISCOVERY RULE group_0 (
+RESOURCES(ds_0,ds_1),
+TYPE(NAME=mgr,PROPERTIES(groupName='92504d5b-6dec',keepAliveCron=''))
+);
+```
+
+6. Alter DB discovery rule
+
+```SQL
+ALTER DB_DISCOVERY RULE group_0 (
+RESOURCES(ds_0,ds_1,ds_2),
+TYPE(NAME=mgr,PROPERTIES(groupName='92504d5b-6dec' ,keepAliveCron=''))
+);
+```
+
+7. Drop db_discovery rule
+
+```SQL
+DROP DB_DISCOVERY RULE group_0;
+```
+
+8. Drop resource
+
+```SQL
+DROP RESOURCE ds_0,ds_1,ds_2;
+```
+
+9. Drop distributed database
+
+```SQL
+DROP DATABASE discovery_db;
+```
+
+### Notice
+
+1. Currently, `DROP DATABASE` will only remove the `logical distributed
database`, not the user's actual database.
+2. `DROP TABLE` will delete all logical fragmented tables and actual tables in
the database.
+3. `CREATE DATABASE` will only create a `logical distributed database`, so
users need to create actual databases in advance .
diff --git a/docs/document/content/features/dist-sql/usage/encrypt-rule.cn.md
b/docs/document/content/features/dist-sql/usage/encrypt-rule.cn.md
new file mode 100644
index 0000000..f129cb7
--- /dev/null
+++ b/docs/document/content/features/dist-sql/usage/encrypt-rule.cn.md
@@ -0,0 +1,98 @@
++++
+title = "数据加密"
+weight = 3
++++
+
+## 使用实战
+
+### 前置工作
+
+1. 启动MySQL服务
+2. 创建MySQL数据库(参考ShardingProxy数据源配置规则)
+3. 为ShardingProxy创建一个拥有创建权限的角色或者用户
+4. 启动Zookeeper服务 (为了持久化配置)
+
+### 启动ShardingProxy
+
+1. 添加 `mode` 和 `authentication` 配置参数到 `server.yaml` (请参考相关example案例)
+2. 启动 ShardingProxy ([相关介绍](/cn/quick-start/shardingsphere-proxy-quick-start/))
+
+### 创建分布式数据库和分片表
+
+1. 连接到ShardingProxy
+2. 创建分布式数据库
+
+```SQL
+CREATE DATABASE encrypt_db;
+```
+
+3. 使用新创建的数据库
+
+```SQL
+USE encrypt_db;
+```
+
+4. 配置数据源信息
+
+```SQL
+ADD RESOURCE ds_0 (
+HOST=127.0.0.1,
+PORT=3306,
+DB=ds_0,
+USER=root,
+PASSWORD=root
+);
+```
+5. 创建加密表
+
+```SQL
+CREATE TABLE `t_encrypt` (
+ `order_id` int NOT NULL,
+ `user_plain` varchar(45) DEFAULT NULL,
+ `user_cipher` varchar(45) DEFAULT NULL,
+ PRIMARY KEY (`order_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
+```
+
+6. 创建加密规则
+
+```SQL
+CREATE ENCRYPT RULE t_encrypt (
+COLUMNS(
+(NAME=user_id,PLAIN=user_plain,CIPHER=user_cipher,TYPE(NAME=AES,PROPERTIES('aes-key-value'='123456abc'))),
+(NAME=order_id, CIPHER =order_cipher,TYPE(NAME=MD5))
+));
+```
+
+7. 修改加密规则
+
+```SQL
+CREATE ENCRYPT RULE t_encrypt (
+COLUMNS(
+(NAME=user_id,PLAIN=user_plain,CIPHER=user_cipher,TYPE(NAME=AES,PROPERTIES('aes-key-value'='123456abc'))),
+));
+```
+
+8. 删除加密规则
+
+```SQL
+DROP ENCRYPT RULE t_encrypt;
+```
+
+9. 删除数据源
+
+```SQL
+DROP RESOURCE ds_0;
+```
+
+10. 删除分布式数据库
+
+```SQL
+DROP DATABASE encrypt_db;
+```
+
+### 注意事项
+
+1. 当前, `DROP DATABASE` 只会移除`逻辑的分布式数据库`,不会删除用户真实的数据库。
+2. `DROP TABLE` 会将逻辑分片表和数据库中真实的表全部删除。
+3. `CREATE DATABASE` 只会创建`逻辑的分布式数据库`,所以需要用户提前创建好真实的数据库。
diff --git a/docs/document/content/features/dist-sql/usage/encrypt-rule.en.md
b/docs/document/content/features/dist-sql/usage/encrypt-rule.en.md
new file mode 100644
index 0000000..bddcecc
--- /dev/null
+++ b/docs/document/content/features/dist-sql/usage/encrypt-rule.en.md
@@ -0,0 +1,98 @@
++++
+title = "Encrypt"
+weight = 3
++++
+
+## Usage
+
+### Pre-work
+
+1. Start the MySQL service
+2. Create MySQL database (refer to ShardingProxy data source configuration
rules)
+3. Create a role or user with creation permission for ShardingProxy
+4. Start Zookeeper service (for persistent configuration)
+
+### Start ShardingProxy
+
+1. Add `mode` and `authentication` configurations to `server.yaml` (please
refer to the example of ShardingProxy)
+2. Start ShardingProxy ([Related
introduction](/en/quick-start/shardingsphere-proxy-quick-start/))
+
+### Create a distributed database and sharding tables
+
+1. Connect to ShardingProxy
+2. Create a distributed database
+
+```SQL
+CREATE DATABASE encrypt_db;
+```
+
+3. Use newly created database
+
+```SQL
+USE encrypt_db;
+```
+
+4. Configure data source information
+
+```SQL
+ADD RESOURCE ds_0 (
+HOST=127.0.0.1,
+PORT=3306,
+DB=ds_0,
+USER=root,
+PASSWORD=root
+);
+```
+5. Create encrypt table
+
+```SQL
+CREATE TABLE `t_encrypt` (
+ `order_id` int NOT NULL,
+ `user_plain` varchar(45) DEFAULT NULL,
+ `user_cipher` varchar(45) DEFAULT NULL,
+ PRIMARY KEY (`order_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
+```
+
+6. Create encrypt rule
+
+```SQL
+CREATE ENCRYPT RULE t_encrypt (
+COLUMNS(
+(NAME=user_id,PLAIN=user_plain,CIPHER=user_cipher,TYPE(NAME=AES,PROPERTIES('aes-key-value'='123456abc'))),
+(NAME=order_id, CIPHER =order_cipher,TYPE(NAME=MD5))
+));
+```
+
+7. Alter encrypt rule
+
+```SQL
+CREATE ENCRYPT RULE t_encrypt (
+COLUMNS(
+(NAME=user_id,PLAIN=user_plain,CIPHER=user_cipher,TYPE(NAME=AES,PROPERTIES('aes-key-value'='123456abc'))),
+));
+```
+
+8. Drop encrypt rule
+
+```SQL
+DROP ENCRYPT RULE t_encrypt;
+```
+
+9. Drop resource
+
+```SQL
+DROP RESOURCE ds_0;
+```
+
+10. Drop distributed database
+
+```SQL
+DROP DATABASE encrypt_db;
+```
+
+### Notice
+
+1. Currently, `DROP DATABASE` will only remove the `logical distributed
database`, not the user's actual database.
+2. `DROP TABLE` will delete all logical fragmented tables and actual tables in
the database.
+3. `CREATE DATABASE` will only create a `logical distributed database`, so
users need to create actual databases in advance.
diff --git
a/docs/document/content/features/dist-sql/usage/readwirte-splitting-rule.cn.md
b/docs/document/content/features/dist-sql/usage/readwirte-splitting-rule.cn.md
new file mode 100644
index 0000000..21e1d70
--- /dev/null
+++
b/docs/document/content/features/dist-sql/usage/readwirte-splitting-rule.cn.md
@@ -0,0 +1,95 @@
++++
+title = "读写分离"
+weight = 2
++++
+
+## 使用实战
+
+### 前置工作
+
+1. 启动MySQL服务
+2. 创建MySQL数据库(参考ShardingProxy数据源配置规则)
+3. 为ShardingProxy创建一个拥有创建权限的角色或者用户
+4. 启动Zookeeper服务 (为了持久化配置)
+
+### 启动ShardingProxy
+
+1. 添加 `mode` 和 `authentication` 配置参数到 `server.yaml` (请参考相关example案例)
+2. 启动 ShardingProxy ([相关介绍](/cn/quick-start/shardingsphere-proxy-quick-start/))
+
+### 创建分布式数据库和分片表
+
+1. 连接到ShardingProxy
+2. 创建分布式数据库
+
+```SQL
+CREATE DATABASE readwrite_splitting_db;
+```
+
+3. 使用新创建的数据库
+
+```SQL
+USE readwrite_splitting_db;
+```
+
+4. 配置数据源信息
+
+```SQL
+ADD RESOURCE write_ds (
+HOST=127.0.0.1,
+PORT=3306,
+DB=ds_0,
+USER=root,
+PASSWORD=root
+),read_ds (
+HOST=127.0.0.1,
+PORT=3307,
+DB=ds_0,
+USER=root,
+PASSWORD=root
+);
+```
+
+5. 创建读写分离规则
+
+```SQL
+CREATE READWRITE_SPLITTING RULE group_0 (
+WRITE_RESOURCE=write_ds,
+READ_RESOURCES(read_ds),
+TYPE(NAME=random)
+);
+```
+
+6. 修改读写分离规则
+
+```SQL
+ALTER READWRITE_SPLITTING RULE group_0 (
+WRITE_RESOURCE=write_ds,
+READ_RESOURCES(read_ds),
+TYPE(NAME=random,PROPERTIES(read_weight='2:0'))
+)
+```
+
+7. 删除读写分离规则
+
+```SQL
+DROP READWRITE_SPLITTING RULE group_0;
+```
+
+8. 删除数据源
+
+```SQL
+DROP RESOURCE write_ds,read_ds;
+```
+
+9. 删除分布式数据库
+
+```SQL
+DROP DATABASE readwrite_splitting_db;
+```
+
+### 注意事项
+
+1. 当前, `DROP DATABASE` 只会移除`逻辑的分布式数据库`,不会删除用户真实的数据库。
+2. `DROP TABLE` 会将逻辑分片表和数据库中真实的表全部删除。
+3. `CREATE DATABASE` 只会创建`逻辑的分布式数据库`,所以需要用户提前创建好真实的数据库。
diff --git
a/docs/document/content/features/dist-sql/usage/readwirte-splitting-rule.en.md
b/docs/document/content/features/dist-sql/usage/readwirte-splitting-rule.en.md
new file mode 100644
index 0000000..bae4ee1
--- /dev/null
+++
b/docs/document/content/features/dist-sql/usage/readwirte-splitting-rule.en.md
@@ -0,0 +1,96 @@
++++
+title = "readwrite_splitting"
+weight = 2
++++
+
+## Usage
+
+### Pre-work
+
+1. Start the MySQL service
+2. Create MySQL database (refer to ShardingProxy data source configuration
rules)
+3. Create a role or user with creation permission for ShardingProxy
+4. Start Zookeeper service (for persistent configuration)
+
+### Start ShardingProxy
+
+1. Add `mode` and `authentication` configurations to `server.yaml` (please
refer to the example of ShardingProxy)
+2. Start ShardingProxy ([Related
introduction](/en/quick-start/shardingsphere-proxy-quick-start/))
+
+### Create a distributed database and sharding tables
+
+1. Connect to ShardingProxy
+2. Create a distributed database
+
+```SQL
+CREATE DATABASE readwrite_splitting_db;
+```
+
+3. Use newly created database
+
+```SQL
+USE readwrite_splitting_db;
+```
+
+4. Configure data source information
+
+```SQL
+ADD RESOURCE write_ds (
+HOST=127.0.0.1,
+PORT=3306,
+DB=ds_0,
+USER=root,
+PASSWORD=root
+),read_ds (
+HOST=127.0.0.1,
+PORT=3307,
+DB=ds_0,
+USER=root,
+PASSWORD=root
+);
+```
+
+5. Create readwrite_splitting rule
+
+```SQL
+CREATE READWRITE_SPLITTING RULE group_0 (
+WRITE_RESOURCE=write_ds,
+READ_RESOURCES(read_ds),
+TYPE(NAME=random)
+);
+```
+
+6. Alter readwrite_splitting rule
+
+```SQL
+ALTER READWRITE_SPLITTING RULE group_0 (
+WRITE_RESOURCE=write_ds,
+READ_RESOURCES(read_ds),
+TYPE(NAME=random,PROPERTIES(read_weight='2:0'))
+)
+```
+
+7. Drop readwrite_splitting rule
+
+```SQL
+DROP READWRITE_SPLITTING RULE group_0;
+```
+
+8. Drop resource
+
+```SQL
+DROP RESOURCE write_ds,read_ds;
+```
+
+9. Drop distributed database
+
+```SQL
+DROP DATABASE readwrite_splitting_db;
+```
+
+### Notice
+
+1. Currently, `DROP DATABASE` will only remove the `logical distributed
database`, not the user's actual database.
+2. `DROP TABLE` will delete all logical fragmented tables and actual tables in
the database.
+3. `CREATE DATABASE` will only create a `logical distributed database`, so
users need to create actual databases in advance .
+
diff --git a/docs/document/content/features/dist-sql/usage/shadow-rule.cn.md
b/docs/document/content/features/dist-sql/usage/shadow-rule.cn.md
new file mode 100644
index 0000000..9d61e3c
--- /dev/null
+++ b/docs/document/content/features/dist-sql/usage/shadow-rule.cn.md
@@ -0,0 +1,100 @@
++++
+title = "影子库压测"
+weight = 5
++++
+
+## 使用实战
+
+### 前置工作
+
+1. 启动MySQL服务
+2. 创建MySQL数据库(参考ShardingProxy数据源配置规则)
+3. 为ShardingProxy创建一个拥有创建权限的角色或者用户
+4. 启动Zookeeper服务 (为了持久化配置)
+
+### 启动ShardingProxy
+
+1. 添加 `mode` 和 `authentication` 配置参数到 `server.yaml` (请参考相关example案例)
+2. 启动 ShardingProxy ([相关介绍](/cn/quick-start/shardingsphere-proxy-quick-start/))
+
+### 创建分布式数据库和分片表
+
+1. 连接到ShardingProxy
+2. 创建分布式数据库
+
+```SQL
+CREATE DATABASE shadow_db;
+```
+
+3. 使用新创建的数据库
+
+```SQL
+USE shadow_db;
+```
+
+4. 配置数据源信息
+
+```SQL
+ADD RESOURCE ds_0 (
+HOST=127.0.0.1,
+PORT=3306,
+DB=ds_0,
+USER=root,
+PASSWORD=root
+),ds_1 (
+HOST=127.0.0.1,
+PORT=3306,
+DB=ds_1,
+USER=root,
+PASSWORD=root
+),ds_2 (
+HOST=127.0.0.1,
+PORT=3306,
+DB=ds_2,
+USER=root,
+PASSWORD=root
+);
+```
+
+5. 创建影子库压测规则
+
+```SQL
+CREATE SHADOW RULE group_0(
+SOURCE=ds_0,
+SHADOW=ds_1,
+t_order((simple_note_algorithm, TYPE(NAME=SIMPLE_NOTE,
PROPERTIES("shadow"="true", foo="bar"))),(TYPE(NAME=COLUMN_REGEX_MATCH,
PROPERTIES("operation"="insert","column"="user_id", "regex"='[1]')))),
+t_order_item((TYPE(NAME=SIMPLE_NOTE, PROPERTIES("shadow"="true",
"foo"="bar")))));
+```
+
+6. 修改影子库压测规则
+
+```SQL
+ALTER SHADOW RULE group_0(
+SOURCE=ds_0,
+SHADOW=ds_2,
+t_order_item((TYPE(NAME=SIMPLE_NOTE, PROPERTIES("shadow"="true",
"foo"="bar")))));
+```
+
+7. 删除影子库压测规则
+
+```SQL
+DROP SHADOW RULE group_0;
+```
+
+8. 删除数据源
+
+```SQL
+DROP RESOURCE ds_0,ds_1,ds_2;
+```
+
+9. 删除分布式数据库
+
+```SQL
+DROP DATABASE shadow_db;
+```
+
+### 注意事项
+
+1. 当前, `DROP DATABASE` 只会移除`逻辑的分布式数据库`,不会删除用户真实的数据库。
+2. `DROP TABLE` 会将逻辑分片表和数据库中真实的表全部删除。
+3. `CREATE DATABASE` 只会创建`逻辑的分布式数据库`,所以需要用户提前创建好真实的数据库。
diff --git a/docs/document/content/features/dist-sql/usage/shadow-rule.en.md
b/docs/document/content/features/dist-sql/usage/shadow-rule.en.md
new file mode 100644
index 0000000..1ba5b42
--- /dev/null
+++ b/docs/document/content/features/dist-sql/usage/shadow-rule.en.md
@@ -0,0 +1,100 @@
++++
+title = "Shadow"
+weight = 5
++++
+
+## Usage
+
+### Pre-work
+
+1. Start the MySQL service
+2. Create MySQL database (refer to ShardingProxy data source configuration
rules)
+3. Create a role or user with creation permission for ShardingProxy
+4. Start Zookeeper service (for persistent configuration)
+
+### Start ShardingProxy
+
+1. Add `mode` and `authentication` configurations to `server.yaml` (please
refer to the example of ShardingProxy)
+2. Start ShardingProxy ([Related
introduction](/en/quick-start/shardingsphere-proxy-quick-start/))
+
+### Create a distributed database and sharding tables
+
+1. Connect to ShardingProxy
+2. Create a distributed database
+
+```SQL
+CREATE DATABASE shadow_db;
+```
+
+3. Use newly created database
+
+```SQL
+USE shadow_db;
+```
+
+4. Configure data source information
+
+```SQL
+ADD RESOURCE ds_0 (
+HOST=127.0.0.1,
+PORT=3306,
+DB=ds_0,
+USER=root,
+PASSWORD=root
+),ds_1 (
+HOST=127.0.0.1,
+PORT=3306,
+DB=ds_1,
+USER=root,
+PASSWORD=root
+),ds_2 (
+HOST=127.0.0.1,
+PORT=3306,
+DB=ds_2,
+USER=root,
+PASSWORD=root
+);
+```
+
+5. Create shadow rule
+
+```SQL
+CREATE SHADOW RULE group_0(
+SOURCE=ds_0,
+SHADOW=ds_1,
+t_order((simple_note_algorithm, TYPE(NAME=SIMPLE_NOTE,
PROPERTIES("shadow"="true", foo="bar"))),(TYPE(NAME=COLUMN_REGEX_MATCH,
PROPERTIES("operation"="insert","column"="user_id", "regex"='[1]')))),
+t_order_item((TYPE(NAME=SIMPLE_NOTE, PROPERTIES("shadow"="true",
"foo"="bar")))));
+```
+
+6. Alter shadow rule
+
+```SQL
+ALTER SHADOW RULE group_0(
+SOURCE=ds_0,
+SHADOW=ds_2,
+t_order_item((TYPE(NAME=SIMPLE_NOTE, PROPERTIES("shadow"="true",
"foo"="bar")))));
+```
+
+7. Drop shadow rule
+
+```SQL
+DROP SHADOW RULE group_0;
+```
+
+8. Drop resource
+
+```SQL
+DROP RESOURCE ds_0,ds_1,ds_2;
+```
+
+9. Drop distributed database
+
+```SQL
+DROP DATABASE shadow_db;
+```
+
+### Notice
+
+1. Currently, `DROP DATABASE` will only remove the `logical distributed
database`, not the user's actual database.
+2. `DROP TABLE` will delete all logical fragmented tables and actual tables in
the database.
+3. `CREATE DATABASE` will only create a `logical distributed database`, so
users need to create actual databases in advance .
diff --git a/docs/document/content/features/dist-sql/usage/sharding-rule.cn.md
b/docs/document/content/features/dist-sql/usage/sharding-rule.cn.md
index c9a5a73..c6241c3 100644
--- a/docs/document/content/features/dist-sql/usage/sharding-rule.cn.md
+++ b/docs/document/content/features/dist-sql/usage/sharding-rule.cn.md
@@ -32,7 +32,7 @@ CREATE DATABASE sharding_db;
USE sharding_db;
```
-2. 配置数据源信息
+4. 配置数据源信息
```SQL
ADD RESOURCE ds_0 (
@@ -52,7 +52,7 @@ PASSWORD=root
);
```
-3. 创建分片规则
+5. 创建分片规则
```SQL
CREATE SHARDING TABLE RULE t_order(
@@ -63,7 +63,7 @@
GENERATED_KEY(COLUMN=order_id,TYPE(NAME=snowflake,PROPERTIES("worker-id"=123)))
);
```
-4. 创建切分表
+6. 创建切分表
```SQL
CREATE TABLE `t_order` (
@@ -74,25 +74,25 @@ CREATE TABLE `t_order` (
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
```
-5. 删除切分表
+7. 删除切分表
```SQL
DROP TABLE t_order;
```
-6. 删除分片规则
+8. 删除分片规则
```SQL
DROP SHARDING TABLE RULE t_order;
```
-7. 删除数据源
+9. 删除数据源
```SQL
DROP RESOURCE ds_0, ds_1;
```
-8. 删除分布式数据库
+10. 删除分布式数据库
```SQL
DROP DATABASE sharding_db;
@@ -100,10 +100,7 @@ DROP DATABASE sharding_db;
### 注意事项
-1. 当前, `DROP DB`只会移除`逻辑的分布式数据库`,不会删除用户真实的数据库 (**TODO**)。
-2. `DROP TABLE`会将逻辑分片表和数据库中真实的表全部删除。
-3. `CREATE DB`只会创建`逻辑的分布式数据库`,所以需要用户提前创建好真实的数据库(**TODO**)。
-4. `自动分片算法`会持续增加,从而覆盖用户各大分片场景 (**TODO**)。
-5. 重构`ShardingAlgorithmPropertiesUtil`(**TODO**)。
-6. 保证所有客户端完成RDL执行(**TODO**)。
-7. 增加 `ALTER DB` 和 `ALTER TABLE`的支持(**TODO**)。
+1. 当前, `DROP DATABASE` 只会移除 `逻辑的分布式数据库`,不会删除用户真实的数据库。
+2. `DROP TABLE` 会将逻辑分片表和数据库中真实的表全部删除。
+3. `CREATE DATABASE` 只会创建 `逻辑的分布式数据库`,所以需要用户提前创建好真实的数据库。
+4. `自动分片算法` 会持续增加,从而覆盖用户各大分片场景。
diff --git a/docs/document/content/features/dist-sql/usage/sharding-rule.en.md
b/docs/document/content/features/dist-sql/usage/sharding-rule.en.md
index f9f2f8d..2c49b0b 100644
--- a/docs/document/content/features/dist-sql/usage/sharding-rule.en.md
+++ b/docs/document/content/features/dist-sql/usage/sharding-rule.en.md
@@ -32,7 +32,7 @@ CREATE DATABASE sharding_db;
USE sharding_db;
```
-2. Configure data source information
+4. Configure data source information
```SQL
ADD RESOURCE ds_0 (
@@ -52,7 +52,7 @@ PASSWORD=root
);
```
-3. Create sharding rules
+5. Create sharding rule
```SQL
CREATE SHARDING TABLE RULE t_order(
@@ -63,7 +63,7 @@
GENERATED_KEY(COLUMN=order_id,TYPE(NAME=snowflake,PROPERTIES("worker-id"=123)))
);
```
-4. Create sharding table
+6. Create sharding table
```SQL
CREATE TABLE `t_order` (
@@ -74,25 +74,25 @@ CREATE TABLE `t_order` (
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
```
-5. Drop sharding table
+7. Drop sharding table
```SQL
DROP TABLE t_order;
```
-6. Drop sharding rule
+8. Drop sharding rule
```SQL
DROP SHARDING TABLE RULE t_order;
```
-7. Drop resource
+9. Drop resource
```SQL
DROP RESOURCE ds_0, ds_1;
```
-8. Drop distributed database
+10. Drop distributed database
```SQL
DROP DATABASE sharding_db;
@@ -100,10 +100,7 @@ DROP DATABASE sharding_db;
### Notice
-1. Currently, `DROP DATABASE` will only remove the `logical distributed
database`, not the user's actual database (**TODO**).
+1. Currently, `DROP DATABASE` will only remove the `logical distributed
database`, not the user's actual database.
2. `DROP TABLE` will delete all logical fragmented tables and actual tables in
the database.
-3. `CREATE DATABASE` will only create a `logical distributed database`, so
users need to create actual databases in advance (**TODO**).
-4. The `Auto Sharding Algorithm` will continue to increase to cover the user's
various sharding scenarios (**TODO**).
-5. Refactor `ShardingAlgorithmPropertiesUtil`(**TODO**).
-6. Ensure that all clients complete RDL execution (**TODO**).
-7. Add support for `ALTER DATABASE` and `ALTER TABLE` (**TODO**).
+3. `CREATE DATABASE` will only create a `logical distributed database`, so
users need to create actual databases in advance.
+4. The `Auto Sharding Algorithm` will continue to increase to cover the user's
various sharding scenarios.