分库分表 sharding-jdbc

一、介绍

Sharding-JDBC是一个开源的分布式数据库中间件,它无需额外部署和依赖,旧代码迁移成本几乎为零。Sharding-JDBC作为面向开发的微服务云原生基础类库,完整的实现了分库分表、读写分离和分布式主键功能,
并初步实现了柔性事务。服务云原生基础类库,完整的实现了分库分表、读写分离和分布式主键功能,并初步实现了柔性事务。

官网:http://shardingsphere.io/document/current/cn/overview/

github源码:https://github.com/shardingjdbc/sharding-jdbc 
官方demo:https://github.com/shardingjdbc/sharding-jdbc-example 

二、 为什么选择sharding-jdbc

 目前基础服务有很多业务都涉及到不少数据库拆分的问题,目前行业中比较主流的方式:

    1、代理模式中间件(例如阿里开源的cobar,以及进化版的mycat)
    2、client中间件模式(例如阿里的TDDL,以及我们选择的Sharding-JDBC)
    3、自己业务端查询时动态指定数据源和表信息(spring的动态数据等)


我们为什么会选择Sharding-JDBC呢?
     Sharding-JDBC直接封装JDBC API,可以理解为增强版的JDBC驱动,旧代码迁移成本几乎为零:   

     可适用于任何基于java的ORM框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template或直接使用JDBC。
     可基于任何第三方的数据库连接池,如:DBCP, C3P0, BoneCP, Druid等。
     理论上可支持任意实现JDBC规范的数据库。目前支持MySQL,Oracle,SQLServer和PostgreSQL。

    Sharding-JDBC定位为轻量级java框架,使用客户端直连数据库,以jar包形式提供服务,未使用中间层,无需额外部署,无其他依赖,DBA也无需改变原有的运维方式。采用”半理解”理念的SQL解析引擎,以达到性能与兼容性的最大平衡。
    Sharding-JDBC功能灵活且全面:

          分片策略灵活,可支持=,BETWEEN,IN等多维度分片,也可支持多分片键共用。
         

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值