分库分表之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数据库一样