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

[shardingsphere] branch master updated: Create architecture.en.md (#19553)

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

menghaoran 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 7ca871bd4a0 Create architecture.en.md (#19553)
7ca871bd4a0 is described below

commit 7ca871bd4a03f5f4757ec2e03382ee64dc7eb7aa
Author: Mike0601 <40...@users.noreply.github.com>
AuthorDate: Tue Jul 26 14:28:15 2022 +0800

    Create architecture.en.md (#19553)
---
 docs/document/content/overview/architecture.en.md | 31 +++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/docs/document/content/overview/architecture.en.md b/docs/document/content/overview/architecture.en.md
new file mode 100644
index 00000000000..8ad004ce1fa
--- /dev/null
+++ b/docs/document/content/overview/architecture.en.md
@@ -0,0 +1,31 @@
++++
+pre = "<b>1.3 </b>"
+title = "Architecture"
+weight = 3
+chapter = true
++++
+
+Apache ShardingSphere's pluggable architecture is designed to enable developers to customize their own unique systems by adding the desired features, just like adding building blocks.
+
+A plugin-oriented architecture has very high requirements for program architecture design. It requires making each module independent, and using a pluggable kernel to combine various functions in an overlapping manner. Designing an architecture system that completely isolates the feature development not only fosters an active open source community, but also ensures the quality of the project.
+
+Apache ShardingSphere began to focus on the pluggable architecture since version 5.X, and the functional components of the project can be flexibly extended in a pluggable manner. Currently, features such as data sharding, read/write splitting, database high availability, data encryption, shadow DB stress testing, and support for SQL and protocols such as MySQL, PostgreSQL, SQLServer, Oracle, etc. are woven into the project through plugins. 
+Apache ShardingSphere has provided dozens of SPIs (service provider interfaces) as extension points of the system, with the total number still increasing.
+
+![Pluggable Platform](https://shardingsphere.apache.org/document/current/img/pluggable_platform.png)
+
+The pluggable architecture of Apache ShardingSphere is composed of three layers - L1 Kernel Layer, L2 Feature Layer and L3 Ecosystem Layer.
+
+![Overview](https://shardingsphere.apache.org/document/current/img/overview.en.png)
+
+## L1 Kernel Layer
+
+An abstraction of databases' basic capabilities. All the components are required and the specific implementation method can be replaced thanks to plugins. It includes a query optimizer, distributed transaction engine, distributed execution engine, permission engine and scheduling engine.
+
+## L2 Feature Layer
+
+Used to provide enhancement capabilities. All components are optional, allowing you to choose whether to include zero or multiple components. Components are isolated from each other, and multiple components can be used together by overlaying. It includes data sharding, read/write splitting, database high availability, data encryption and shadow database and so on. The user-defined feature can be fully customized and extended for the top-level interface defined by Apache ShardingSphere wi [...]
+
+## L3 Ecosystem Layer
+
+It is used to integrate and merge the current database ecosystems. The ecosystem layer includes database protocol, SQL parser and storage adapter, corresponding to the way in which Apache ShardingSphere provides services by database protocol, the way in which SQL dialect operates data, and the database type that interacts with storage nodes.