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.

Reply via email to