1 ShardingJDBC 是什么
Sharding-JDBC 是 Apache ShardingSphere 生态圈中一款开源的分布式数据库第三方组件。
ShardingSphere 由 Sharding-JDBC、Sharding-Proxy 和 Sharding-Sidecar 3款相互独立的产品组成。
它们均提供标准化的数据分片、分布式事务和数据库治理功能,适用于 Java 同构、异构语言、容器、云原生等各种多样化的应用场景。
Sharding-JDBC 定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。
使用客户端直连数据库, 以 jar 包形式提供服务,无需额外部署和依赖,可视为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架的使用。
- 适用于任何基于Java的ORM框架
如:JPA、Hibernate、 Mybatis、 Spring JDBC Template 或直接使用 JDBC。
- 基于任何第三方的数据库连接池
如:DBCP、 C3P0、 BoneCP、 Druid、 HikariCP等。
- 支持任意实现JDBC规范的数据库
目前支持 MySQL、Oracle、SQLServer 和 PostgreSQL。
2 ShardingJDBC 的主要功能
- 数据分片
- 分库
- 分表
- 读写分离
- 分片策略
- 分布式主键
- 分布式事务
- 标准化的事务接口
- XA强一致性事务
- 柔性事务
- 数据库治理
- 配置动态化
- 编排和治理
- 数据脱敏
- 可视化链路追踪