前言
上一篇描述了Sharding-JDBC的历史演进过程和设计理念,本篇将具体描述Sharding-Sphere的具体功能和个版本特性。后续将对常用核心功能逐一进行分析和探讨。
版本功能
1.x功能列表
分库分表
SQL解析功能完善,支持聚合,分组,排序,LIMIT,TOP等查询,并且支持级联表以及笛卡尔积的表查询
支持内、外连接查询
分片策略灵活,可支持=,BETWEEN,IN等多维度分片,也可支持多分片键共用,以及自定义分片策略
- 基于Hint的强制分库分表路由
读写分离 - 一主多从的读写分离配置,可配合分库分表使用
- 基于Hint的强制主库路由
柔性事务 - 最大努力送达型
- TCC型(TBD)
分布式主键 - 统一的分布式基于时间序列的ID生成器
- 协议适配&多样性配置
- 全ORM支持
- 全数据库连接池支持
- 多数据库支持(目前支持MySQL,Oracle,SQLServer和PostgreSQL)
- Spring命名空间支持
- YAML命名空间支持
- 基于动态语言的分片策略配置
2.x功能列表
在1.x版本的基础上又增加了下列功能
分库分表
- 自定义的灵活分片策略,支持多分片键共用,支持inline表达式
读写分离 - 支持同一线程内的数据一致性
- 支持分库分表与读写分离共同使用
- 支持基于Hint的强制主库路由
- 分布式治理(2.x新增功能)
- 支持配置中心,可动态修改配置
- 支持客户端熔断和失效转移
- 支持Open Tracing协议
3.x功能列表
3.x已更新名字为Sharding-Sphere,包名也随之转换
- 数据库治理
- 配置动态化
- 熔断 & 禁用
- Open Tracing
- 多数据副本 (Planing)
- 弹性伸缩 (Planing)
相关文档
1.x文档:http://shardingsphere.io/document/legacy/1.x/cn/01-start/
2.x文档:http://shardingsphere.io/document/legacy/2.x/cn/01-start/
3.x文档:http://shardingsphere.io/document/current/en/overview/