1.简介

Sharding-JDBC 历史

Sharding-JDBC 是当当应用框架 ddframe 中,从关系型数据库模块 dd-rdb 中分离出来的数据库水平分片框架,实现透明化数据库分库分表访问。 Sharding-JDBC 是继 dubbox 和 elastic-job 之后, ddframe 系列开源的第 3 个项目。 3.X 之后已经改变了名字,叫 ShardingSphere ,已交由 apache 进行孵化。

ShardingSphere 简介

ShardingSphere 是一套开源的分布式数据库中间件解决方案组成的生态圈,它由 Sharding-JDBC 、 Sharding-Proxy 和 Sharding-Sidecar (计划中)这 3 款相互独立的产品组成。他们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如 Java 同构、异构语言、容器、云原生等各种多样化的应用场景。

如果我们不需要向 mycat 一样,部署独立服务代理,那么其实我们只要关注 Sharding-JDBC 即可,目前最新的是 4.0.0-RC1 的版本。

Sharding-JDBC 简介

定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。 它使用客户端直连数据库,以 jar 包形式提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架。

2.分库分表

分库分表用于应对当前互联网常见的两个场景——大数据量和高并发

分库分表-垂直拆分

当一个数据库中存在着多种不同业务中的表时,各种业务需要同时操作这个 DB ,数据库过大过多会引起 IO 读写瓶颈,这个时候就需要垂直拆分,将一个库(表)拆分为多个库(表)。

优点: