分库分表之Sharding-JDBC

分库分表之Sharding-JDBC

1 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。
与MyCAT区别:
Sharding-JDBC和MyCAT使用不同的理念,Sharding-JDBC目前是基于JDBC驱动,无需额外的
Proxy,因此也无需关注Proxy本身的高可用, 是基于 JDBC 接口的扩展,是以 jar 包的形式提供轻量级服务的。----》JDBC Proxy。
MyCAT是基于Proxy,它复写了MySQL协议,将MyCAT Server伪装成一个 MySQL数据库,开发人员直接使用逻辑库就跟使用MySQL数据库一样,分库分表和读写分离的工作都交由MyCAT中间件处理(当然,增大了运维的难度)----》DB Proxy。
2 架构回顾
在数据量不是很多的情况下,我们可以将数据库进行读写分离,以应对高并发的需求,通过水平扩展从库,来缓解查询的压力。如下&#

猜你喜欢

转载自blog.csdn.net/weixin_40055163/article/details/109237553