ShardingSphere 的核心功能?

发布于

一、定位

ShardingSphere 是分布式数据库中间件,提供分库分表、读写分离、数据加密等能力。

二、三种模式

  • ShardingSphere-JDBC:嵌入应用,JAR 包方式,性能好但只支持 Java。
  • ShardingSphere-Proxy:独立部署代理,支持多语言,有网络开销。
  • ShardingSphere-Sidecar:云原生,Service Mesh 模式。

三、核心功能

  • 数据分片:分库分表,支持多种分片算法。
  • 分布式事务:XA、BASE(柔性事务)。
  • 读写分离:主写从读,负载均衡。
  • 数据加密:透明加解密。
  • 影子库:压测数据隔离。

四、分片算法

  • 精确分片(PreciseShardingAlgorithm):= 和 IN。
  • 范围分片(RangeShardingAlgorithm):BETWEEN。
  • 复合分片(ComplexKeysShardingAlgorithm):多字段。
  • Hint 分片:强制指定分片。

五、注意

  • 不支持跨库事务(XA 除外,性能差)。
  • 不支持跨库 join、子查询(部分支持)。
  • 分布式主键需配置。