Apache ShardingSphere

Apache ShardingSphere 是一款分布式 SQL 事务和查询引擎,可通过数据分片、弹性伸缩、加密等能力对任意数据库进行增强。

核心功能

数据分片

ShardingSphere 提供数据分片功能,可水平、垂直跨数据源分发数据,从而提升数据库集群性能和可扩展性。

读写分离

基于对 SQL 语义理解及对底层数据库拓扑感知能力,ShardingSphere 提供灵活的读写流量拆分和读流量负载均衡。

高性能

利用 Apache ShardingSphere 解决数据库性能瓶颈,提升效率,实现数据库高性能。并在第38届 IEEE 数据工程国际会议( ICDE 2022) 上展示了这一突破性成果。

分布式事务

基于 XA 和 BASE 的混合事务引擎,ShardingSphere 提供在独立数据库上的分布式事务功能,保证跨数据源的数据一致性。

数据加密及脱敏

ShardingSphere 提供完整、透明、安全、低成本的数据加密及脱敏解决方案。

多数据库支持

ShardingSphere 可以兼容所有符合 SQL-92 标准语法的数据库,包括 MySQL、PostgreSQL、SQL Server 和 Oracle ,用户可根据需求选择最适合的数据库。

联邦查询

ShardingSphere 提供跨数据源的复杂查询分析能力,实现跨源的数据关联与聚合。

数据迁移

SharingSphere 提供跨数据源的数据迁移能力,并可支持重分片扩展。

云原生

ShardingSphere天然支持云原生及多云架构,在构建分布式数据库架构的过程中轻松利用云计算的强大功能,实现性能、弹性、以及适应力的最大化。

适用场景

  • 分布式数据库
  • 数据安全
  • 统一数据库

分布式数据库

  • 依托 ShardingSphere 开源分布式数据库解决方案,充分发挥大型数据库在高并发场景下的潜力。
  • 解决单机数据库在存储和计算方面的瓶颈,同时规避因架构变化带来的技术风险。
  • 使用数据分片、分布式事务和弹性伸缩等能力,确保单机数据库的稳定性,对接存储与计算的动态扩展需求。

数据安全

  • 使用 ShardingSphere 实现自动化透明化保证用户数据安全,防止数据泄露,解决用户数据加密、数据脱敏等方面问题。
  • 无需改动原有代码,即可在跨平台和异构环境下使用数据安全解决方案。
  • 提供数据加密、数据脱敏、可定制算法和密钥管理等能力,为数据安全保驾护航。

统一数据库

  • 利用 ShardingSphere 构建统一的开源、云数据平台,兼容包括 MySQL、PostgreSQL、SQL Server、Oracle、openGauss 等多种异构数据库。
  • 使用数据分片、加密、迁移和扩展等执行并行查询,提升系统吞吐量,突破性能瓶颈。
  • 拥抱云原生及多云生态架构,结合天然适配云的属性,优雅实现数据库迁移上云。

版本演进

1.x

Sharding-JDBC

初始版本,基于 JDBC 驱动,仅可进行分片。

2016
2.x

面向集群

引入 ZooKeeper 作为注册中心,提供分布式能力。

2017
3.x

Sharding-Proxy

ShardingSphere-Proxy 上线,提供 like-database 的访问能力。

2018
4.x

Apache ShardingSphere

正式进入 Apache 基金会,并兼容各种关系型数据库。

2019
5.x

可插拔

内核可插拔化多种功能,例如加密、分片都可灵活组合使用。

2021
6.x

面向云

ShardingSphere 通过 Helm Chart 和 Operator 方式扩展到云端。通过这些方式可将 ShardingSphere 部署在 Kubernetes,包括 AWS EKS、minikube 及自有 Kuberneters。

...
7.x

面向生态

Database Plus 理念实践化,通过 DistSQL 构建分布式可插拔生态。

...
8.x

规划中

...