加载中...
Apache ShardingSphere 是一套开源的分布式数据库中间件生态,提供数据分片、读写分离、分布式事务与数据加密等能力。它以数据库增强计算引擎的定位,可在不改造现有数据库的前提下实现水平扩展。

| 类型 | 分布式数据库中间件 |
| 前身 | Sharding-JDBC |
| 所属组织 | Apache 软件基金会 |
| 形态 | JDBC/Proxy |
| 核心能力 | 分库分表 |
Apache ShardingSphere是一套开源的分布式数据库中间件生态,旨在在现有关系型数据库之上提供数据分片、读写分离、分布式事务与数据安全等增强能力。它把自身定位为数据库增强计算引擎,而非替代数据库,是国内外广泛使用的分库分表解决方案。
该项目最初名为 Sharding-JDBC,由当当团队发起,后进入 Apache 软件基金会并成为顶级项目,同时更名为 ShardingSphere。它提供了两种主要形态,一是以 JDBC 驱动方式嵌入应用的轻量客户端,二是以独立代理进程对外提供数据库协议的服务端。二者可单独使用也可混合部署,以适应不同架构需求。
ShardingSphere 适用于单库单表难以承载海量数据与高并发的业务,通过分库分表实现水平扩展;也用于快速为已有系统增加读写分离与分布式治理能力,而无需大规模改造应用与数据库。金融、电商等对数据规模和安全要求较高的行业是其典型用户。
问:JDBC 模式和 Proxy 模式该如何选择?答:JDBC 模式以库形式嵌入应用,性能损耗小但仅限 Java 生态;Proxy 模式作为独立代理提供数据库协议,支持多语言接入且便于统一治理,但会引入额外网络跳转。可根据技术栈与运维需求选择或混用。
问:分库分表后跨库查询怎么办?答:ShardingSphere 会自动改写并路由 SQL,对跨分片的聚合与排序进行归并处理,但复杂的跨库关联仍有性能代价,设计分片键时应尽量让常用查询落在同一分片内。

| 类型 | 分布式数据库中间件 |
| 前身 | Sharding-JDBC |
| 所属组织 | Apache 软件基金会 |
| 形态 | JDBC/Proxy |
| 核心能力 | 分库分表 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧