Apache ShardingSphere
Plus & Link & Pluggable

Apache ShardingSphere is an open-source ecosystem consisted of a set of distributed database solutions, including 3 independent products, JDBC, Proxy & Sidecar (Planning). 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.

Apache ShardingSphere aiming at reasonably making full use of the computation and storage capacity of existed database in distributed system, rather than a totally new database. As the cornerstone of enterprises, relational database still takes a huge market share. Therefore, we prefer to focus on its increment instead of a total overturn.

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, replica query, 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.

ShardingSphere became an Apache Top Level Project on April 16, 2020.

Scale Out

Data storage is not limited by single disk capacity, it is possible for increase storage capacity by increasing database servers, system can migrate data dynamically in anytime and anywhere without shutdown.

Compute and Storage Split

Computing nodes are stateless and can be increased by scale out, storage and computing nodes can be optimized independently. it is possible for share the capacity by computing push down.

Distributed Transaction

Provide hybrid engine based on XA 2PC and BASE transaction.

HA & Consensus

Integrated native database HA and consensus solution.

DistSQL

Provide distribute SQL to operate resources and rules like native database.

Extensible

Features can be embedded into project flexibility. Developers can customize their own ShardingSphere just like building lego blocks.