Building the standards and ecosystem on top of heterogeneous databases, empowering enterprise data architecture transformation
Official Website: https://shardingsphere.apache.org/
|
|
|
|
|---|
Apache ShardingSphere is positioned as Database Plus, a standard and ecosystem built on top of heterogeneous databases. As an operating system layer above databases, ShardingSphere does not create new databases but focuses on maximizing the computing capabilities of existing databases, providing unified data access and enhanced computing capabilities.
Database Plus Core Concept: By building a standardized and scalable enhancement layer above databases, it makes heterogeneous databases as simple to use as a single database, providing unified governance capabilities and distributed computing capabilities for enterprise data architectures.
Connect, Enhance, and Pluggable are the three core pillars of Apache ShardingSphere:
Connect: Building database upper-layer standards, quickly connecting applications with multi-modal heterogeneous databases through flexible adaptation of database protocols, SQL dialects, and storage formats, providing unified data access experience;
Enhance: As a database computing enhancement engine, transparently providing enterprise-grade capabilities including distributed computing (data sharding, readwrite-splitting, SQL federation), data security (encryption, masking, audit), traffic control (circuit breaker, rate limiting), and observability (monitoring, tracing, analysis);
Pluggable: Adopting a micro-kernel + 3-layer pluggable architecture to achieve complete decoupling of kernel, functional components, and ecosystem integration. Developers can flexibly customize unique data architecture solutions that meet enterprise needs, just like building with LEGO blocks.
Differentiation Advantages: - vs Distributed Databases: More lightweight, protecting existing investments, avoiding vendor lock-in - vs Traditional Middleware: Richer features, more complete ecosystem, more flexible architecture - vs Cloud Vendor Solutions: Support multi-cloud deployment, avoid technology binding, autonomous and controllable
ShardingSphere became an Apache Top-Level Project on April 16, 2020, and has been adopted by 19,000+ projects worldwide.
ShardingSphere adopts a unique dual-access architecture design, providing two access ends - JDBC and Proxy - that can be deployed independently or in hybrid deployment, meeting diverse requirements for different scenarios.
Positioning: Lightweight Java framework, enhanced JDBC driver
Core Features: - Client-side direct connection: Shares resources with applications, decentralized architecture - High performance, low overhead: Direct database connection with minimal performance loss - Complete compatibility: Compatible with all ORM frameworks (MyBatis, JPA, Hibernate, etc.) - Zero additional deployment: Provided as JAR package, no independent deployment and dependencies required
Use Cases: High-performance Java applications, integrated deployment with business applications, pursuing ultimate performance
Positioning: Transparent database proxy, independently deployed server-side
Core Features: - Static entry point: Independent deployment from applications, providing stable database access entry - Heterogeneous language support: Supports any MySQL/PostgreSQL protocol compatible client - DBA friendly: Database operation and maintenance management interface, convenient for O&M personnel - Enterprise-grade features: Supports cluster deployment, load balancing, failover
Use Cases: Heterogeneous language environments, database operation and maintenance management, enterprise applications requiring unified access entry
By hybridizing ShardingSphere-JDBC and ShardingSphere-Proxy with unified configuration through the same registry center, you can flexibly build application systems suitable for various scenarios:
For full documentation & more details, visit: Docs
For guides on how to get started and setup your environment, contributor & committer guides, visit: Contribution Guidelines
We deeply appreciate community contributors for their dedication to Apache ShardingSphere.
:link: Mailing List. Best for: Apache community updates, releases, changes.
:link: GitHub Issues. Best for: design discussions, bug reports, or anything development related.
:link: Slack channel. Best for: instant communications and online meetings, sharing your applications.
:link: X. Best for: keeping up to date on everything ShardingSphere.
:link: LinkedIn. Best for: professional networking and career development with other ShardingSphere contributors.
:white_check_mark: Version 5.5.4-SNAPSHOT: Actively under development :tada
$ claude mcp add shardingsphere \
-- python -m otcore.mcp_server <graph>