ShardingSphere 的核心功能?
分库分表面试题发布于
一、定位
ShardingSphere 是分布式数据库中间件,提供分库分表、读写分离、数据加密等能力。
二、三种模式
- ShardingSphere-JDBC:嵌入应用,JAR 包方式,性能好但只支持 Java。
- ShardingSphere-Proxy:独立部署代理,支持多语言,有网络开销。
- ShardingSphere-Sidecar:云原生,Service Mesh 模式。
三、核心功能
- 数据分片:分库分表,支持多种分片算法。
- 分布式事务:XA、BASE(柔性事务)。
- 读写分离:主写从读,负载均衡。
- 数据加密:透明加解密。
- 影子库:压测数据隔离。
四、分片算法
- 精确分片(PreciseShardingAlgorithm):= 和 IN。
- 范围分片(RangeShardingAlgorithm):BETWEEN。
- 复合分片(ComplexKeysShardingAlgorithm):多字段。
- Hint 分片:强制指定分片。
五、注意
- 不支持跨库事务(XA 除外,性能差)。
- 不支持跨库 join、子查询(部分支持)。
- 分布式主键需配置。