Databases 13 min read

How Apache ShardingSphere Evolved into a Distributed Database Middleware

An in‑depth interview with Zhang Liang, VP and founder of Apache ShardingSphere, explores the project’s three development phases, its graduation to a top‑level Apache project, the three‑layer plug‑in architecture, and practical lessons for building sustainable open‑source communities and enterprise‑grade database middleware.

JD Cloud Developers
JD Cloud Developers
JD Cloud Developers
How Apache ShardingSphere Evolved into a Distributed Database Middleware

With the rapid growth of the open‑source industry, open‑source technologies have become a key driver of digital transformation, attracting significant investment and corporate interest. Over the past year, more than ten domestic open‑source companies secured new financing, while major enterprises accelerated their open‑source initiatives and the first Chinese open‑source foundation was established.

In this context, Zhang Liang, architect at JD Technology and VP & founder of the Apache ShardingSphere project, shares the journey of ShardingSphere—from its humble beginnings as Sharding‑JDBC to becoming a top‑level Apache project—and discusses the challenges of enterprise open‑source governance and community operation.

Zhang Liang, Apache ShardingSphere VP & founder
Zhang Liang, Apache ShardingSphere VP & founder

Development Phases of ShardingSphere

Initially named Sharding‑JDBC, the project was personally led by Zhang Liang and implemented a database sharding and partitioning framework based on the Java JDBC interface. The first version quickly gained developer approval by abstracting the complexities of horizontal scaling.

After the success of Sharding‑JDBC, JD Technology invited Zhang Liang to join full‑time, leading to the second phase where the project was renamed ShardingSphere, expanding its scope beyond Java and attracting broader community interest.

In November 2018, ShardingSphere entered the Apache Incubator, and 17 months later graduated as a top‑level Apache project, completing the transition to community ownership and establishing a plug‑in architecture for further evolution.

Three‑Layer Plug‑in Architecture

L1 Kernel Layer: Focuses on the database kernel, including query optimization, distributed transactions, core execution chain, scheduling engine, and distributed governance. It aims to provide incremental middleware services during the early stages of distributed databases and later support full distributed query optimization and transaction management. L2 Function Layer: Targets enterprise applications, offering data sharding, read/write splitting, high availability, strong consistency, elastic migration, data encryption, shadow databases, and other extensions. This layer is extensible by developers and is now mature. L3 Ecosystem Layer: Serves the open‑source ecosystem, covering SQL dialects, database protocols, and data gateways, facilitating integration with heterogeneous data sources.

Five Practical Tips for Building a Sustainable Open‑Source Community

Listen and Observe: Use GitHub and mailing lists to capture even the smallest feedback, turning it into actionable improvements.

Maintain English Communication: Ensure the community remains inclusive by using English as the common language.

Make Issues Searchable: Encourage detailed, well‑tagged issue reports to aid future discoverability and knowledge sharing.

Implement Strong Testing: Require thorough testing before code acceptance to prevent overburdening reviewers.

Avoid Reinventing the Wheel: Leverage existing open‑source solutions and contribute back to prevent duplicate effort.

Zhang emphasizes that a vibrant community, not just code, is the true value of open source. He advocates for larger enterprises to allocate dedicated full‑time open‑source roles to foster stable, long‑term project health.

ShardingSphere architecture diagram
ShardingSphere architecture diagram
Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

ShardingSpherecommunityApache
JD Cloud Developers
Written by

JD Cloud Developers

JD Cloud Developers (Developer of JD Technology) is a JD Technology Group platform offering technical sharing and communication for AI, cloud computing, IoT and related developers. It publishes JD product technical information, industry content, and tech event news. Embrace technology and partner with developers to envision the future.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.