You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2022/07/26 08:35:16 UTC

[shardingsphere] branch master updated: Refactor document (#19570)

This is an automated email from the ASF dual-hosted git repository.

zhaojinchao 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 e6b8cbbe802 Refactor document (#19570)
e6b8cbbe802 is described below

commit e6b8cbbe802806aa6a664e7b0ac9e12f0797cae6
Author: Mike0601 <40...@users.noreply.github.com>
AuthorDate: Tue Jul 26 16:35:09 2022 +0800

    Refactor document (#19570)
    
    * Refactor document
    
    Remove concepts document
    
    * refactor
---
 docs/document/content/concepts/_index.cn.md        | 12 ----
 docs/document/content/concepts/_index.en.md        | 13 ----
 .../document/content/concepts/adaptor/_index.cn.md | 68 ---------------------
 .../document/content/concepts/adaptor/_index.en.md | 71 ----------------------
 .../document/content/concepts/distsql/_index.cn.md | 35 -----------
 .../document/content/concepts/distsql/_index.en.md | 33 ----------
 docs/document/content/concepts/mode/_index.cn.md   | 26 --------
 docs/document/content/concepts/mode/_index.en.md   | 23 -------
 .../content/concepts/pluggable/_index.cn.md        | 44 --------------
 .../content/concepts/pluggable/_index.en.md        | 53 ----------------
 .../content/features/db-compatibility/_index.cn.md |  2 +-
 .../content/features/db-compatibility/_index.en.md |  2 +-
 .../content/features/db-gateway/_index.cn.md       |  2 +-
 .../content/features/db-gateway/_index.en.md       |  2 +-
 .../document/content/features/distsql/_index.cn.md |  2 +-
 .../document/content/features/distsql/_index.en.md |  2 +-
 .../document/content/features/encrypt/_index.cn.md |  2 +-
 .../document/content/features/encrypt/_index.en.md |  2 +-
 docs/document/content/features/ha/_index.cn.md     |  2 +-
 docs/document/content/features/ha/_index.en.md     |  2 +-
 .../content/features/management/_index.cn.md       |  2 +-
 .../content/features/management/_index.en.md       |  2 +-
 .../content/features/observability/_index.cn.md    |  2 +-
 .../content/features/observability/_index.en.md    |  2 +-
 .../features/readwrite-splitting/_index.cn.md      |  2 +-
 .../features/readwrite-splitting/_index.en.md      |  2 +-
 .../document/content/features/scaling/_index.cn.md |  2 +-
 .../document/content/features/scaling/_index.en.md |  2 +-
 docs/document/content/features/shadow/_index.cn.md |  2 +-
 docs/document/content/features/shadow/_index.en.md |  2 +-
 .../content/features/sharding/_index.cn.md         |  2 +-
 .../content/features/sharding/_index.en.md         |  2 +-
 .../content/features/transaction/_index.cn.md      |  2 +-
 .../content/features/transaction/_index.en.md      |  2 +-
 34 files changed, 24 insertions(+), 402 deletions(-)

diff --git a/docs/document/content/concepts/_index.cn.md b/docs/document/content/concepts/_index.cn.md
deleted file mode 100644
index 2e4a6b46659..00000000000
--- a/docs/document/content/concepts/_index.cn.md
+++ /dev/null
@@ -1,12 +0,0 @@
-+++
-pre = "<b>3. </b>"
-title = "概念"
-weight = 3
-chapter = true
-+++
-
-Apache ShardingSphere 功能十分复杂,有数百模块之多,但众多模块间的概念却简单明了。大部分模块都是面向这几个概念的横向扩展。
-
-它的概念主要包括:面向独立产品的接入端、面向启动的运行模式、面向使用者操作的 DistSQL 以及面向开发者的可插拔架构。
-
-本章节将详细阐述 Apache ShardingSphere 相关的概念。
diff --git a/docs/document/content/concepts/_index.en.md b/docs/document/content/concepts/_index.en.md
deleted file mode 100644
index d4fdf344d34..00000000000
--- a/docs/document/content/concepts/_index.en.md
+++ /dev/null
@@ -1,13 +0,0 @@
-+++
-pre = "<b>3. </b>"
-title = "Concepts"
-weight = 3
-chapter = true
-+++
-
-The functions of Apache ShardingSphere are pretty complex with hundreds of modules, but the concepts are very simple and clear. 
-Most modules are horizontal extensions faced to these concepts.
-
-The concepts include: adaptor faced to independent products, runtime mode faced to startup, DistSQL faced to users and pluggable architecture faced to developers.
-
-This chapter describes concepts about Apache ShardingSphere.
diff --git a/docs/document/content/concepts/adaptor/_index.cn.md b/docs/document/content/concepts/adaptor/_index.cn.md
deleted file mode 100644
index 6cb26b717fe..00000000000
--- a/docs/document/content/concepts/adaptor/_index.cn.md
+++ /dev/null
@@ -1,68 +0,0 @@
-+++
-pre = "<b>3.1. </b>"
-title = "接入端"
-weight = 1
-chapter = true
-+++
-
-Apache ShardingSphere 由 ShardingSphere-JDBC 和 ShardingSphere-Proxy 这 2 款既能够独立部署,又支持混合部署配合使用的产品组成。
-它们均提供标准化的基于数据库作为存储节点的增量功能,可适用于如 Java 同构、异构语言、云原生等各种多样化的应用场景。
-
-## ShardingSphere-JDBC
-
-ShardingSphere-JDBC 是 Apache ShardingSphere 的第一个产品,也是 Apache ShardingSphere 的前身。
-定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。
-它使用客户端直连数据库,以 jar 包形式提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架。
-
-* 适用于任何基于 JDBC 的 ORM 框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template 或直接使用 JDBC;
-* 支持任何第三方的数据库连接池,如:DBCP, C3P0, BoneCP, HikariCP 等;
-* 支持任意实现 JDBC 规范的数据库,目前支持 MySQL,PostgreSQL,Oracle,SQLServer 以及任何可使用 JDBC 访问的数据库。
-
-![ShardingSphere-JDBC Architecture](https://shardingsphere.apache.org/document/current/img/shardingsphere-jdbc_v3.png)
-
-|           | *ShardingSphere-JDBC* | *ShardingSphere-Proxy* |
-| --------- | --------------------- | ---------------------- |
-| 数据库     | `任意`                | MySQL/PostgreSQL       |
-| 连接消耗数 | `高`                  | 低                      |
-| 异构语言   | `仅 Java`              | 任意                    |
-| 性能       | `损耗低`              | 损耗略高                |
-| 无中心化   | `是`                  | 否                     |
-| 静态入口   | `无`                  | 有                     |
-
-ShardingSphere-JDBC 的优势在于对 Java 应用的友好度。
-
-**源码:https://github.com/apache/shardingsphere/tree/master/shardingsphere-jdbc**
-
-## ShardingSphere-Proxy
-
-ShardingSphere-Proxy 是 Apache ShardingSphere 的第二个产品。
-它定位为透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持。
-目前提供 MySQL 和 PostgreSQL(兼容 openGauss 等基于 PostgreSQL 的数据库)版本,它可以使用任何兼容 MySQL/PostgreSQL 协议的访问客户端(如:MySQL Command Client, MySQL Workbench, Navicat 等)操作数据,对 DBA 更加友好。
-
-* 向应用程序完全透明,可直接当做 MySQL/PostgreSQL 使用;
-* 适用于任何兼容 MySQL/PostgreSQL 协议的的客户端。
-
-![ShardingSphere-Proxy Architecture](https://shardingsphere.apache.org/document/current/img/shardingsphere-proxy_v2.png)
-
-|           | *ShardingSphere-JDBC* | *ShardingSphere-Proxy*  |
-| --------- | --------------------- | ----------------------- |
-| 数据库     | 任意                  | `MySQL/PostgreSQL`      |
-| 连接消耗数 | 高                    | `低`                     |
-| 异构语言   | 仅 Java                | `任意`                   |
-| 性能       | 损耗低                | `损耗略高`                |
-| 无中心化   | 是                    | `否`                     |
-| 静态入口   | 无                    | `有`                     |
-
-ShardingSphere-Proxy 的优势在于对异构语言的支持,以及为 DBA 提供可操作入口。
-
-**源码:https://github.com/apache/shardingsphere/tree/master/shardingsphere-proxy**
-
-## 混合架构
-
-ShardingSphere-JDBC 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用;
-ShardingSphere-Proxy 提供静态入口以及异构语言的支持,独立于应用程序部署,适用于 OLAP 应用以及对分片数据库进行管理和运维的场景。
-
-Apache ShardingSphere 是多接入端共同组成的生态圈。
-通过混合使用 ShardingSphere-JDBC 和 ShardingSphere-Proxy,并采用同一注册中心统一配置分片策略,能够灵活的搭建适用于各种场景的应用系统,使得架构师更加自由地调整适合于当前业务的最佳系统架构。
-
-![Hybrid Architecture](https://shardingsphere.apache.org/document/current/img/shardingsphere-hybrid-architecture_v2.png)
diff --git a/docs/document/content/concepts/adaptor/_index.en.md b/docs/document/content/concepts/adaptor/_index.en.md
deleted file mode 100644
index 494b7da5687..00000000000
--- a/docs/document/content/concepts/adaptor/_index.en.md
+++ /dev/null
@@ -1,71 +0,0 @@
-+++
-pre = "<b>3.1. </b>"
-title = "Adaptor"
-weight = 1
-chapter = true
-+++
-
-Apache ShardingSphere including 2 independent products: ShardingSphere-JDBC & ShardingSphere-Proxy.
-They all provide functions of data scale-out, distributed transaction and distributed governance,
-applicable in a variety of situations such as Java isomorphism, heterogeneous language and Cloud-Native.
-
-## ShardingSphere-JDBC
-
-As the first product and the predecessor of Apache ShardingSphere,
-ShardingSphere-JDBC defines itself as a lightweight Java framework that provides extra service at Java JDBC layer.
-With the client end connecting directly to the database, it provides service in the form of jar and requires no extra deployment and dependence.
-It can be considered as an enhanced JDBC driver, which is fully compatible with JDBC and all kinds of ORM frameworks.
-
-* Applicable in any ORM framework based on JDBC, such as JPA, Hibernate, Mybatis, Spring JDBC Template or direct use of JDBC;
-* Support any third-party database connection pool, such as DBCP, C3P0, BoneCP, HikariCP;
-* Support any kind of JDBC standard database: MySQL, PostgreSQL, Oracle, SQLServer and any JDBC adapted databases.
-
-![ShardingSphere-JDBC Architecture](https://shardingsphere.apache.org/document/current/img/shardingsphere-jdbc_v3.png)
-
-|                        | *ShardingSphere-JDBC* | *ShardingSphere-Proxy* |
-| ---------------------- | --------------------- | ---------------------- |
-| Database               | `Any`                 | MySQL/PostgreSQL       |
-| Connections Count Cost | `More`                | Less                   |
-| Supported Languages    | `Java Only`           | Any                    |
-| Performance            | `Low loss`            | Relatively High loss   |
-| Decentralization       | `Yes`                 | No                     |
-| Static Entry           | `No`                  | Yes                    |
-
-ShardingSphere-JDBC is suitable for java application.
-
-**Source Codes: https://github.com/apache/shardingsphere/tree/master/shardingsphere-jdbc**
-
-## ShardingSphere-Proxy
-
-ShardingSphere-Proxy is the second product of Apache ShardingSphere.
-It defines itself as a transparent database proxy, providing a database server that encapsulates database binary protocol to support heterogeneous languages.
-Currently, MySQL and PostgreSQL (compatible with PostgreSQL-based databases, such as openGauss) versions are provided. It can use any kind of terminal (such as MySQL Command Client, MySQL Workbench, etc.) that is compatible with MySQL or PostgreSQL protocol to operate data, which is friendlier to DBAs
-
-* Totally transparent to applications, it can be used directly as MySQL/PostgreSQL;
-* Applicable to any kind of client end that is compatible with MySQL/PostgreSQL protocol.
-
-![ShardingSphere-Proxy Architecture](https://shardingsphere.apache.org/document/current/img/shardingsphere-proxy_v2.png)
-
-|                          | *ShardingSphere-JDBC* | *ShardingSphere-Proxy*       |
-| ------------------------ | --------------------- | ---------------------------- |
-| Database                 | Any                   | `MySQL/PostgreSQL`           |
-| Connections Count Cost   | High                  | `Low`                        |
-| Supported Languages      | Java Only             | `Any`                        |
-| Performance              | Low loss              | `Relatively high loss`       |
-| Decentralization         | Yes                   | `No`                         |
-| Static Entry             | No                    | `Yes`                        |
-
-The advantages of ShardingSphere-Proxy lie in supporting heterogeneous languages and providing operational entries for DBA.
-
-**Source Codes: https://github.com/apache/shardingsphere/tree/master/shardingsphere-proxy**
-
-## Hybrid Adaptors
-
-ShardingSphere-JDBC adopts a decentralized architecture, applicable to high-performance light-weight OLTP application developed with Java.
-ShardingSphere-Proxy provides static entry and all languages support, applicable for OLAP application and the sharding databases management and operation situation.
-
-ShardingSphere is an ecosystem consisting of multiple endpoints together.
-Through a mixed use of ShardingSphere-JDBC and ShardingSphere-Proxy and a unified sharding strategy by the same registry center, ShardingSphere can build an application system that is applicable to all kinds of scenarios.
-Architects can adjust the system architecture to the most applicable one to their needs to conduct business more freely.
-
-![Hybrid Architecture](https://shardingsphere.apache.org/document/current/img/shardingsphere-hybrid-architecture_v2.png)
diff --git a/docs/document/content/concepts/distsql/_index.cn.md b/docs/document/content/concepts/distsql/_index.cn.md
deleted file mode 100644
index d14fbab4fd4..00000000000
--- a/docs/document/content/concepts/distsql/_index.cn.md
+++ /dev/null
@@ -1,35 +0,0 @@
-+++
-pre = "<b>3.3. </b>"
-title = "DistSQL"
-weight = 3
-chapter = true
-+++
-
-## 背景
-
-DistSQL(Distributed SQL)是 Apache ShardingSphere 特有的操作语言。
-它与标准 SQL 的使用方式完全一致,用于提供增量功能的 SQL 级别操作能力。
-
-## 挑战
-
-灵活的规则配置和资源管控能力是 Apache ShardingSphere 的特点之一。
-在使用 4.x 及其之前版本时,开发者虽然可以像使用原生数据库一样操作数据,但却需要通过本地文件或注册中心配置资源和规则。
-然而,操作习惯变更,对于运维工程师并不友好。
-
-DistSQL 让用户可以像操作数据库一样操作 Apache ShardingSphere,使其从面向开发人员的框架和中间件转变为面向运维人员的数据库产品。
-
-DistSQL 细分为 RDL、RQL 和 RAL 三种类型。
-
- - RDL(Resource & Rule Definition Language)负责资源和规则的创建、修改和删除;
- - RQL(Resource & Rule Query Language)负责资源和规则的查询和展现;
- - RAL(Resource & Rule Administration Language)负责 Hint、事务类型切换、分片执行计划查询等管理功能。
-
-## 目标
-
-**打破中间件和数据库之间的界限,让开发者像使用数据库一样使用 Apache ShardingSphere,是 DistSQL 的设计目标。**
-
-## 注意事项
-
-DistSQL 只能用于 ShardingSphere-Proxy,ShardingSphere-JDBC 暂不提供。
-
-**源码:https://github.com/apache/shardingsphere/tree/master/shardingsphere-distsql**
diff --git a/docs/document/content/concepts/distsql/_index.en.md b/docs/document/content/concepts/distsql/_index.en.md
deleted file mode 100644
index b96c3193cb9..00000000000
--- a/docs/document/content/concepts/distsql/_index.en.md
+++ /dev/null
@@ -1,33 +0,0 @@
-+++
-pre = "<b>3.3. </b>"
-title = "DistSQL"
-weight = 3
-chapter = true
-+++
-
-## Background
-
-DistSQL (Distributed SQL) is Apache ShardingSphere specific SQL, which provide added-on operation capability beside standard SQL.
-
-## Challenges
-
-When using ShardingSphere-Proxy, developers can operate data just like using database, but they need to configure resources and rules through YAML file (or registry center).
-However, the format of YAML and habits changed by using registry center are not friendly to DBA.
-
-DistSQL enables users to operate Apache ShardingSphere like a database, transforming it from a framework and middleware for developers to a database product for DBAs.
-
-DistSQL is divided into RDL, RQL and RAL.
-
- - RDL (Resource & Rule Definition Language) responsible for the definition of resources and rules;
- - RQL (Resource & Rule Query Language) responsible for the query of resources and rules;
- - RAL (Resource & Rule Administration Language) responsible for the added-on administrator feature of hint, transaction type switch, sharding execute planning and so on.
-
-## Goal
-
-**It is the design goal of DistSQL to break the boundary between middleware and database and let developers use Apache ShardingSphere just like database.**
-
-## Notice
-
-DistSQL can use for ShardingSphere-Proxy only, not for ShardingSphere-JDBC now.
-
-**Source Codes: https://github.com/apache/shardingsphere/tree/master/shardingsphere-distsql**
diff --git a/docs/document/content/concepts/mode/_index.cn.md b/docs/document/content/concepts/mode/_index.cn.md
deleted file mode 100644
index 54932fc6408..00000000000
--- a/docs/document/content/concepts/mode/_index.cn.md
+++ /dev/null
@@ -1,26 +0,0 @@
-+++
-pre = "<b>3.2. </b>"
-title = "运行模式"
-weight = 2
-chapter = true
-+++
-
-## 背景
-
-Apache ShardingSphere 是一套完善的产品,使用场景非常广泛。
-除生产环境的集群部署之外,还为工程师在开发和自动化测试等场景提供相应的运行模式。
-Apache ShardingSphere 提供的 2 种运行模式分别是单机模式和集群模式。
-
-## 单机模式
-
-能够将数据源和规则等元数据信息持久化,但无法将元数据同步至多个 Apache ShardingSphere 实例,无法在集群环境中相互感知。
-通过某一实例更新元数据之后,会导致其他实例由于获取不到最新的元数据而产生不一致的错误。
-适用于工程师在本地搭建 Apache ShardingSphere 环境。
-
-## 集群模式
-
-提供了多个 Apache ShardingSphere 实例之间的元数据共享和分布式场景下状态协调的能力。
-在真实部署上线的生产环境,必须使用集群模式。它能够提供计算能力水平扩展和高可用等分布式系统必备的能力。
-集群环境需要通过独立部署的注册中心来存储元数据和协调节点状态。 
-
-**源码:https://github.com/apache/shardingsphere/tree/master/shardingsphere-mode**
diff --git a/docs/document/content/concepts/mode/_index.en.md b/docs/document/content/concepts/mode/_index.en.md
deleted file mode 100644
index 815ef8e6d2f..00000000000
--- a/docs/document/content/concepts/mode/_index.en.md
+++ /dev/null
@@ -1,23 +0,0 @@
-+++
-pre = "<b>3.2. </b>"
-title = "Mode"
-weight = 2
-chapter = true
-+++
-
-## Background
-
-In order to meet the different needs of users for quick test startup, standalone running and cluster running, 
-Apache shardingsphere provides various mode such as standalone and cluster.
-
-## Standalone mode
-
-Suitable in a standalone environment, through which data sources, rules, and metadata can be persisted. 
-Will use H2 database to store configuration data by default.
-
-## Cluster mode
-
-Suitable for use in distributed scenarios which provides metadata sharing and state coordination among multiple computing nodes.
-It is necessary to provide registry center for distributed coordination, such as ZooKeeper or Etcd.
-
-**Source Codes: https://github.com/apache/shardingsphere/tree/master/shardingsphere-mode**
diff --git a/docs/document/content/concepts/pluggable/_index.cn.md b/docs/document/content/concepts/pluggable/_index.cn.md
deleted file mode 100644
index 1f70266ac83..00000000000
--- a/docs/document/content/concepts/pluggable/_index.cn.md
+++ /dev/null
@@ -1,44 +0,0 @@
-+++
-pre = "<b>3.4. </b>"
-title = "可插拔架构"
-weight = 4
-chapter = true
-+++
-
-## 背景
-
-在 Apache ShardingSphere 中,很多功能实现类的加载方式是通过 [SPI(Service Provider Interface)](https://docs.oracle.com/javase/tutorial/sound/SPI-intro.html) 注入的方式完成的。
-SPI 是一种为了被第三方实现或扩展的 API,它可以用于实现框架扩展或组件替换。
-
-## 挑战
-
-可插拔架构对程序架构设计的要求非常高,需要将各个模块相互独立,互不感知,并且通过一个可插拔内核,以叠加的方式将各种功能组合使用。
-设计一套将功能开发完全隔离的架构体系,既可以最大限度的将开源社区的活力激发出来,也能够保障项目的质量。
-
-Apache ShardingSphere 5.x 版本开始致力于可插拔架构,项目的功能组件能够灵活的以可插拔的方式进行扩展。
-目前,数据分片、读写分离、数据库高可用、数据加密、影子库压测等功能,以及对 MySQL、PostgreSQL、SQLServer、Oracle 等 SQL 与协议的支持,均通过插件的方式织入项目。
-Apache ShardingSphere 目前已提供数十个 SPI 作为系统的扩展点,而且仍在不断增加中。
-
-## 目标
-
-**让开发者能够像使用积木一样定制属于自己的独特系统,是 Apache ShardingSphere 可插拔架构的设计目标。**
-
-![Pluggable Platform](https://shardingsphere.apache.org/document/current/img/pluggable_platform.png)
-
-## 实现
-
-Apache ShardingSphere 的可插拔架构划分为 3 层,它们是:L1 内核层、L2 功能层、L3 生态层。
-
-### L1 内核层
-
-是数据库基本能力的抽象,其所有组件均必须存在,但具体实现方式可通过可插拔的方式更换。
-主要包括查询优化器、分布式事务引擎、分布式执行引擎、权限引擎和调度引擎等。
-
-### L2 功能层
-
-用于提供增量能力,其所有组件均是可选的,可以包含零至多个组件。组件之间完全隔离,互无感知,多组件可通过叠加的方式相互配合使用。
-主要包括数据分片、读写分离、数据库高可用、数据加密、影子库等。用户自定义功能可完全面向 Apache ShardingSphere 定义的顶层接口进行定制化扩展,而无需改动内核代码。
-
-### L3 生态层
-
-用于对接和融入现有数据库生态,包括数据库协议、SQL 解析器和存储适配器,分别对应于 Apache ShardingSphere 以数据库协议提供服务的方式、SQL 方言操作数据的方式以及对接存储节点的数据库类型。
diff --git a/docs/document/content/concepts/pluggable/_index.en.md b/docs/document/content/concepts/pluggable/_index.en.md
deleted file mode 100644
index a1f43faee9e..00000000000
--- a/docs/document/content/concepts/pluggable/_index.en.md
+++ /dev/null
@@ -1,53 +0,0 @@
-+++
-pre = "<b>3.4. </b>"
-title = "Pluggable Architecture"
-weight = 4
-chapter = true
-+++
-
-## Background
-
-In Apache ShardingSphere, many functionality implementations are uploaded through [SPI (Service Provider Interface)](https://docs.oracle.com/javase/tutorial/sound/SPI-intro.html),
-which is a kind of API for the third party to implement or expand, and can be applied in framework expansion or component replacement.
-
-## Challenges
-
-Pluggable architecture is very difficult to design for the project architecture. 
-It needs to make each module decouple to independent and imperceptible to each other totally, and enables appendable functions in a way of superposition through a pluggable kernel.
-Design an architecture to completely isolate each function, not only can stimulate the enthusiasm of the open source community, but also can guarantee the quality of the project.
-
-Apache ShardingSphere begin to focus on pluggable architecture from version 5.x, features can be embedded into project flexibility.
-Currently, the features such as data sharding, readwrite-splitting, data encrypt, shadow database,
-and SQL dialects / database protocols such as MySQL, PostgreSQL, SQLServer, Oracle supported are all weaved by plugins.
-Developers can customize their own ShardingSphere just like building lego blocks.
-There are lots of SPI extensions for Apache ShardingSphere now and increase continuously.
-
-## Goal
-
-**It is the design goal of Apache shardingsphere pluggable architecture to enable developers to customize their own unique systems just like building blocks.**
-
-![Pluggable Platform](https://shardingsphere.apache.org/document/current/img/pluggable_platform.png)
-
-## Implementation
-
-The pluggable architecture of Apache ShardingSphere are composed by L1 Kernel Layer, L2 Feature Layer and L3 Ecosystem Layer.
-
-### L1 Kernel Layer
-
-An abstraction of basic capabilities of database. 
-All components are required and the specific implementation can be replaced by pluggable way.
-It includes query optimizer, distributed transaction engine, distributed execution engine, authority engine and scheduling engine.
-
-### L2 Feature Layer
-
-Used to provide enhanced capability. 
-All components are optional and can contain zero or multiple components. 
-Components isolate each other and multiple components can be used together superimposed.
-It includes data sharding, readwrite-splitting, database highly availability, data encryption, shadow database and so on.
-The user-defined feature can be fully customized and extended for the top-level interface defined by Apache ShardingSphere without changing kernel codes.
-
-### L3 Ecosystem Layer
-
-Used to integrate into the current database ecosystem.
-It includes database protocol, SQL parser and storage adapter. 
-
diff --git a/docs/document/content/features/db-compatibility/_index.cn.md b/docs/document/content/features/db-compatibility/_index.cn.md
index 4685757f6ee..16fadcd2492 100644
--- a/docs/document/content/features/db-compatibility/_index.cn.md
+++ b/docs/document/content/features/db-compatibility/_index.cn.md
@@ -1,5 +1,5 @@
 +++
-pre = "<b>4.1. </b>"
+pre = "<b>3.1. </b>"
 title = "数据库兼容"
 weight = 1
 chapter = true
diff --git a/docs/document/content/features/db-compatibility/_index.en.md b/docs/document/content/features/db-compatibility/_index.en.md
index 0bbf3217551..e0960a3f442 100644
--- a/docs/document/content/features/db-compatibility/_index.en.md
+++ b/docs/document/content/features/db-compatibility/_index.en.md
@@ -1,5 +1,5 @@
 +++
-pre = "<b>4.1. </b>"
+pre = "<b>3.1. </b>"
 title = "DB Compatibility"
 weight = 1
 chapter = true
diff --git a/docs/document/content/features/db-gateway/_index.cn.md b/docs/document/content/features/db-gateway/_index.cn.md
index 67e36734b7a..5dc3ffc6d19 100644
--- a/docs/document/content/features/db-gateway/_index.cn.md
+++ b/docs/document/content/features/db-gateway/_index.cn.md
@@ -1,5 +1,5 @@
 +++
-pre = "<b>4.2. </b>"
+pre = "<b>3.2. </b>"
 title = "数据库网关"
 weight = 2
 chapter = true
diff --git a/docs/document/content/features/db-gateway/_index.en.md b/docs/document/content/features/db-gateway/_index.en.md
index 2e45b876d18..2d80ad90a67 100644
--- a/docs/document/content/features/db-gateway/_index.en.md
+++ b/docs/document/content/features/db-gateway/_index.en.md
@@ -1,5 +1,5 @@
 +++
-pre = "<b>4.2. </b>"
+pre = "<b>3.2. </b>"
 title = "DB Gateway"
 weight = 2
 chapter = true
diff --git a/docs/document/content/features/distsql/_index.cn.md b/docs/document/content/features/distsql/_index.cn.md
index 1b9cdb34d30..ed618c3a7fa 100644
--- a/docs/document/content/features/distsql/_index.cn.md
+++ b/docs/document/content/features/distsql/_index.cn.md
@@ -1,5 +1,5 @@
 +++
-pre = "<b>4.12. </b>"
+pre = "<b>3.12. </b>"
 title = "DistSQL"
 weight = 12
 +++
diff --git a/docs/document/content/features/distsql/_index.en.md b/docs/document/content/features/distsql/_index.en.md
index 14d9645bbb1..85f813d081e 100644
--- a/docs/document/content/features/distsql/_index.en.md
+++ b/docs/document/content/features/distsql/_index.en.md
@@ -1,5 +1,5 @@
 +++
-pre = "<b>4.12. </b>"
+pre = "<b>3.12. </b>"
 title = "DistSQL"
 weight = 12
 +++
diff --git a/docs/document/content/features/encrypt/_index.cn.md b/docs/document/content/features/encrypt/_index.cn.md
index 97b94c138a8..6fab6094046 100644
--- a/docs/document/content/features/encrypt/_index.cn.md
+++ b/docs/document/content/features/encrypt/_index.cn.md
@@ -1,5 +1,5 @@
 +++
-pre = "<b>4.9. </b>"
+pre = "<b>3.9. </b>"
 title = "数据加密"
 weight = 9
 chapter = true
diff --git a/docs/document/content/features/encrypt/_index.en.md b/docs/document/content/features/encrypt/_index.en.md
index a0cff36b964..474aa31989d 100644
--- a/docs/document/content/features/encrypt/_index.en.md
+++ b/docs/document/content/features/encrypt/_index.en.md
@@ -1,5 +1,5 @@
 +++
-pre = "<b>4.9. </b>"
+pre = "<b>3.9. </b>"
 title = "Encryption"
 weight = 9
 chapter = true
diff --git a/docs/document/content/features/ha/_index.cn.md b/docs/document/content/features/ha/_index.cn.md
index 1a731c9e7a4..f4e71c217c6 100644
--- a/docs/document/content/features/ha/_index.cn.md
+++ b/docs/document/content/features/ha/_index.cn.md
@@ -1,5 +1,5 @@
 +++
-pre = "<b>4.7. </b>"
+pre = "<b>3.7. </b>"
 title = "高可用"
 weight = 7
 chapter = true
diff --git a/docs/document/content/features/ha/_index.en.md b/docs/document/content/features/ha/_index.en.md
index c008b0c46f8..1b6c637241b 100644
--- a/docs/document/content/features/ha/_index.en.md
+++ b/docs/document/content/features/ha/_index.en.md
@@ -1,5 +1,5 @@
 +++
-pre = "<b>4.7. </b>"
+pre = "<b>3.7. </b>"
 title = "HA"
 weight = 7
 chapter = true
diff --git a/docs/document/content/features/management/_index.cn.md b/docs/document/content/features/management/_index.cn.md
index 0a4427963f7..159016cb380 100644
--- a/docs/document/content/features/management/_index.cn.md
+++ b/docs/document/content/features/management/_index.cn.md
@@ -1,5 +1,5 @@
 +++
-pre = "<b>4.3. </b>"
+pre = "<b>3.3. </b>"
 title = "集群管控"
 weight = 3
 chapter = true
diff --git a/docs/document/content/features/management/_index.en.md b/docs/document/content/features/management/_index.en.md
index 880d3914eaa..73e8e0f2b8a 100644
--- a/docs/document/content/features/management/_index.en.md
+++ b/docs/document/content/features/management/_index.en.md
@@ -1,5 +1,5 @@
 +++
-pre = "<b>4.3. </b>"
+pre = "<b>3.3. </b>"
 title = "Cluster Management"
 weight = 3
 chapter = true
diff --git a/docs/document/content/features/observability/_index.cn.md b/docs/document/content/features/observability/_index.cn.md
index 7bebc14f682..7790e1951c3 100644
--- a/docs/document/content/features/observability/_index.cn.md
+++ b/docs/document/content/features/observability/_index.cn.md
@@ -1,5 +1,5 @@
 +++
-pre = "<b>4.11. </b>"
+pre = "<b>3.11. </b>"
 title = "可观察性"
 weight = 11
 +++
diff --git a/docs/document/content/features/observability/_index.en.md b/docs/document/content/features/observability/_index.en.md
index 93f9a24632c..742be66d544 100644
--- a/docs/document/content/features/observability/_index.en.md
+++ b/docs/document/content/features/observability/_index.en.md
@@ -1,5 +1,5 @@
 +++
-pre = "<b>4.11. </b>"
+pre = "<b>3.11. </b>"
 title = "Observability"
 weight = 11
 +++
diff --git a/docs/document/content/features/readwrite-splitting/_index.cn.md b/docs/document/content/features/readwrite-splitting/_index.cn.md
index 7705a5bd117..468072105c1 100644
--- a/docs/document/content/features/readwrite-splitting/_index.cn.md
+++ b/docs/document/content/features/readwrite-splitting/_index.cn.md
@@ -1,5 +1,5 @@
 +++
-pre = "<b>4.6. </b>"
+pre = "<b>3.6. </b>"
 title = "读写分离"
 weight = 6
 chapter = true
diff --git a/docs/document/content/features/readwrite-splitting/_index.en.md b/docs/document/content/features/readwrite-splitting/_index.en.md
index db05660554b..518764fd1fd 100644
--- a/docs/document/content/features/readwrite-splitting/_index.en.md
+++ b/docs/document/content/features/readwrite-splitting/_index.en.md
@@ -1,5 +1,5 @@
 +++
-pre = "<b>4.6. </b>"
+pre = "<b>3.6. </b>"
 title = "Readwrite-splitting"
 weight = 6
 chapter = true
diff --git a/docs/document/content/features/scaling/_index.cn.md b/docs/document/content/features/scaling/_index.cn.md
index a2948f0b58b..7a78807d21d 100644
--- a/docs/document/content/features/scaling/_index.cn.md
+++ b/docs/document/content/features/scaling/_index.cn.md
@@ -1,5 +1,5 @@
 +++
-pre = "<b>4.8. </b>"
+pre = "<b>3.8. </b>"
 title = "数据迁移"
 weight = 8
 chapter = true
diff --git a/docs/document/content/features/scaling/_index.en.md b/docs/document/content/features/scaling/_index.en.md
index a44e49c3fac..a790f834a76 100644
--- a/docs/document/content/features/scaling/_index.en.md
+++ b/docs/document/content/features/scaling/_index.en.md
@@ -1,5 +1,5 @@
 +++
-pre = "<b>4.8. </b>"
+pre = "<b>3.8. </b>"
 title = "Data Migration"
 weight = 8
 chapter = true
diff --git a/docs/document/content/features/shadow/_index.cn.md b/docs/document/content/features/shadow/_index.cn.md
index cddcf4d60a0..0a953a6cc33 100644
--- a/docs/document/content/features/shadow/_index.cn.md
+++ b/docs/document/content/features/shadow/_index.cn.md
@@ -1,5 +1,5 @@
 +++
-pre = "<b>4.10. </b>"
+pre = "<b>3.10. </b>"
 title = "影子库"
 weight = 10
 +++
diff --git a/docs/document/content/features/shadow/_index.en.md b/docs/document/content/features/shadow/_index.en.md
index 9c32b875545..da7990a838e 100644
--- a/docs/document/content/features/shadow/_index.en.md
+++ b/docs/document/content/features/shadow/_index.en.md
@@ -1,5 +1,5 @@
 +++
-pre = "<b>4.10. </b>"
+pre = "<b>3.10. </b>"
 title = "Shadow"
 weight = 10
 +++
diff --git a/docs/document/content/features/sharding/_index.cn.md b/docs/document/content/features/sharding/_index.cn.md
index 6b578675cc1..60be0de674b 100644
--- a/docs/document/content/features/sharding/_index.cn.md
+++ b/docs/document/content/features/sharding/_index.cn.md
@@ -1,5 +1,5 @@
 +++
-pre = "<b>4.4. </b>"
+pre = "<b>3.4. </b>"
 title = "数据分片"
 weight = 4
 chapter = true
diff --git a/docs/document/content/features/sharding/_index.en.md b/docs/document/content/features/sharding/_index.en.md
index 891d31e55ed..9d9451f2607 100644
--- a/docs/document/content/features/sharding/_index.en.md
+++ b/docs/document/content/features/sharding/_index.en.md
@@ -1,5 +1,5 @@
 +++
-pre = "<b>4.4. </b>"
+pre = "<b>3.4. </b>"
 title = "Sharding"
 weight = 4
 chapter = true
diff --git a/docs/document/content/features/transaction/_index.cn.md b/docs/document/content/features/transaction/_index.cn.md
index 26a8fe03598..6bc32b919d0 100644
--- a/docs/document/content/features/transaction/_index.cn.md
+++ b/docs/document/content/features/transaction/_index.cn.md
@@ -1,5 +1,5 @@
 +++
-pre = "<b>4.5. </b>"
+pre = "<b>3.5. </b>"
 title = "分布式事务"
 weight = 5
 chapter = true
diff --git a/docs/document/content/features/transaction/_index.en.md b/docs/document/content/features/transaction/_index.en.md
index 4d734309095..b38bfdec792 100644
--- a/docs/document/content/features/transaction/_index.en.md
+++ b/docs/document/content/features/transaction/_index.en.md
@@ -1,5 +1,5 @@
 +++
-pre = "<b>4.5. </b>"
+pre = "<b>3.5. </b>"
 title = "Distributed Transaction"
 weight = 5
 chapter = true