About this project

Apache ShardingSphere is an Apache Top-Level Project positioned as "Database Plus" — a standard and ecosystem layer built on top of existing heterogeneous databases rather than a new database itself. It aims to make multiple databases behave like a single one, providing unified access and enhanced computing capabilities. The project is organized around three pillars: Connect (adapting database protocols, SQL dialects and storage formats), Enhance (adding distributed computing, security, traffic control and observability), and Pluggable (a micro-kernel plus three-layer pluggable architecture that decouples the kernel, feature components and ecosystem integrations). Two access ends are offered. ShardingSphere-JDBC is a lightweight Java framework that acts as an enhanced JDBC driver, connecting directly to databases from the application with no separate deployment; it is compatible with common ORM frameworks. ShardingSphere-Proxy is a transparent database proxy deployed independently, speaking MySQL/PostgreSQL-compatible protocols so clients in other languages can connect, and offering a stable entry point for DBAs. The two can be deployed independently or hybridized with a shared registry center and unified configuration. Documented capabilities include data sharding (horizontal, vertical and custom strategies), read/write splitting with load balancing and failover, distributed transactions (XA and BASE), data encryption and masking, SQL audit and access control, shadow-database stress testing, observability, and SQL dialect translation across databases such as MySQL, PostgreSQL, Oracle, SQL Server and Firebird. Cluster deployment, Kubernetes integration and monitoring are also described. The README notes that the project became an Apache Top-Level Project in April 2020 and is used by many projects. It also warns that the JDBC adapter relies on ANTLR's SQL parsing cache, which can grow with many SQL templates, so a reasonable heap size should be configured. Documentation, contribution guidelines, mailing list, GitHub issues and release notes are linked. Version 5.5.4-SNAPSHOT is described as under active development.