Skip to content
Home › SQL Tools › Database Proxy & Connection Pooling › Apache ShardingSphere
Tool Review · Database Proxy & Connection Pooling

Apache ShardingSphere

Apache ShardingSphere is an Apache 2.0 project that adds sharding, read/write splitting, distributed transactions, encryption and masking on top of existing databases, either as a Java JDBC library (ShardingSphere-JDBC) or as a MySQL- and PostgreSQL-protocol proxy (ShardingSphere-Proxy); 5.5.3 is current.

Free Research-based review
Last verified November 2026. Version checked: 5.5.3 (GitHub release dated 28 February; Apache downloads directory dated 2026). Features and pricing for commercial products change; check the vendor site for the latest details.
Product status: Active Apache top-level project since 16 April 2020. Releases have slowed: 5.5.3 is the latest (5.5.2 came about a year earlier), and it removed SQL formatting and the logging rule while adding OpenJDK 24 and 25 support.
Vendor
Apache Software Foundation
Price
Free
Platforms
JVM (Linux, Windows, macOS), Docker, Kubernetes (Helm), Self-hosted
Licence
Apache License 2.0
Product type
Open source project (Apache 2.0): Java library and proxy
Works with
MySQLMariaDBPostgreSQLopenGaussSQL ServerOracleFirebird (Proxy frontend, 5.5.3)

At a glance

Supported databasesProxy protocols: MySQL, MariaDB, PostgreSQL, plus a Firebird frontend in 5.5.3; SQL parsing also covers openGauss, SQL Server, Oracle and others
Pooling modesNot documented in the pages checked
Routing and read/write splittingSharding rules route SQL to the right data nodes; readwrite-splitting rules send reads to replicas
Load balancing and failoverReadwrite-splitting rules spread reads across replicas; failover detection details not documented in the pages checked
Authentication and TLSNot documented in the pages checked
Access modesShardingSphere-JDBC (Java library, no extra server) or ShardingSphere-Proxy (standalone server for any language)
DeploymentProxy from binary tarball, Docker or Helm; GraalVM native image in alpha; JDBC embedded in Java applications
LicensingApache 2.0, free; Apache top-level project since April 2020
Short answer

ShardingSphere suits teams, often Java shops, that want to shard or split existing MySQL or PostgreSQL databases without moving to a new distributed database. Use the JDBC library inside Java services and the Proxy for other languages and DBA tools. It is a large framework with its own rule language (DistSQL), so expect to learn it properly, and check SQL compatibility for your queries before relying on sharding.

How we know: This profile is research-based: the two access modes, supported protocols, features, deployment options and release history were checked on 7 November 2026 against the apache/shardingsphere GitHub README and the 5.5.3 release notes, the ShardingSphere documentation site and the Apache downloads index. We have not deployed ShardingSphere or run queries through it.

Overview

Apache ShardingSphere describes itself as Database Plus: a layer on top of existing databases that adds sharding, read/write splitting, distributed transactions, data encryption, data masking, shadow databases for testing, traffic governance, data migration, SQL federation and observability. Rules are written in YAML or managed with DistSQL, ShardingSphere's SQL-like language for defining and querying rules at runtime.

There are two ways in. ShardingSphere-JDBC is a JAR that acts as an enhanced JDBC driver inside a Java application and works with ORMs such as MyBatis, JPA and Hibernate, with no extra server. ShardingSphere-Proxy is a separately deployed server that speaks the MySQL, MariaDB and PostgreSQL protocols, so any compatible client, language or admin tool can connect; 5.5.3 adds a Firebird frontend. The README describes a hybrid setup where both share one registry center and sharding strategy. The Proxy starts from a binary tarball, Docker or Helm, with a GraalVM native image in alpha.

Key features

  • Data sharding across multiple database instances with configurable sharding rules
  • Read/write splitting to primary and replica data sources
  • Distributed transactions across shards
  • Data encryption and data masking rules applied in the access layer
  • Shadow database routing for testing with production traffic
  • DistSQL for defining, querying and administering rules at runtime
  • Two access modes, a Java JDBC library or a MySQL/PostgreSQL-protocol proxy, which can be combined

Integrations and ecosystem

MySQL and MariaDBPostgreSQL and openGaussJava ORMs: MyBatis, JPA, HibernateSpring BootDocker and Helm (Kubernetes)GraalVM native image (alpha)

Pros and cons

Pros

  • Adds sharding and read/write splitting to existing MySQL and PostgreSQL databases rather than replacing them
  • Choice of an in-process Java library or a language-neutral proxy
  • Broad feature set in one framework: encryption, masking, shadow testing and migration as well as sharding
  • Apache 2.0 licence under Apache Software Foundation governance

Cons

  • Large framework with its own concepts and DistSQL, so the learning curve is steep
  • Release cadence has slowed (5.5.3 about a year after 5.5.2), and 5.5.3 removed some features
  • Sharded SQL compatibility depends on the parser and rules, so complex queries need checking
  • ShardingSphere-JDBC only helps Java (JVM) applications

Pricing

Apache ShardingSphere is free, open source software from the Apache Software Foundation under the Apache 2.0 licence. There is no paid edition from the project; costs are the JVM hosts or containers for ShardingSphere-Proxy, any registry center used in cluster mode, and the backend databases.

Pricing checked on the vendor's official page on 7 November 2026. Prices change; confirm before buying.

Who it is best for

Java-centric teams that want to shard or split existing MySQL or PostgreSQL databases, add encryption or masking at the access layer, and keep their current database engines.

Typical use cases

  • Splitting a large MySQL or PostgreSQL table across several databases by a sharding key
  • Sending reads to replicas from Java services without changing SQL
  • Encrypting or masking sensitive columns in the access layer
  • Routing test traffic to a shadow database
  • Migrating data from a single database into a sharded layout

Who should look elsewhere

  • Teams that only need read/write splitting or pooling for MySQL: ProxySQL is a lighter fit.
  • MySQL estates that want a sharding platform with a managed option: see Vitess.

Verdict

Our take

Apache ShardingSphere is a capable open source way to add sharding and data governance features on top of databases you already run, with a useful choice between an embedded Java library and a standalone proxy. Its breadth comes with complexity and a slower recent release pace, so validate your SQL and operational model before committing.

Frequently asked questions

What is the difference between ShardingSphere-JDBC and ShardingSphere-Proxy?

ShardingSphere-JDBC is a Java library used as an enhanced JDBC driver inside the application, with no separate server. ShardingSphere-Proxy is a standalone server that speaks the MySQL, MariaDB and PostgreSQL protocols, so clients in any language and DBA tools can use it. Both can share one registry center.

Which databases does ShardingSphere-Proxy support?

The README lists MySQL, MariaDB and PostgreSQL protocol versions of the Proxy, and 5.5.3 added a Firebird frontend. Its SQL parser also covers dialects such as openGauss, SQL Server and Oracle.

Is Apache ShardingSphere free?

Yes. It is an Apache Software Foundation project under the Apache 2.0 licence, with no paid edition from the project.

Sources

Checked November 2026.

Listed in: Database Proxy & Connection Pooling.

How we research reviews and what star ratings mean: our editorial method.

Compare your options

Browse the full tools directory or see the head to head comparisons.