开源中国

我们不支持 IE 10 及以下版本浏览器

It appears you’re using an unsupported browser

为了获得更好的浏览体验,我们强烈建议您使用较新版本的 Chrome、 Firefox、 Safari 等,或者升级到最新版本的IE浏览器。 如果您使用的是 IE 11 或以上版本,请关闭“兼容性视图”。
Sharding-JDBC首页、文档和下载 - 增强版的 JDBC 驱动 - 开源中国社区
全部项目分类
Apache
Java
跨平台
当当网
亮_dangdang
分享
收藏
406 人收藏
收录时间:2016-01-27
Sharding-JDBC 详细介绍

Sharding-JDBC是一个轻量级的关系型数据库中间件,提供分库分表、读写分离和柔性事务等功能。它直接封装JDBC协议,可以理解为增强版的JDBC驱动,旧代码迁移成本几乎为零。它使用客户端直连数据库,以jar包形式提供服务,无proxy代理层,无需额外部署,无其他依赖,DBA也无需改变原有的运维方式。

 Sharding-JDBC是当当应用框架ddframe中,从关系型数据库模块dd-rdb中分离出来的数据库水平分片框架,实现透明化数据库分库分表访问。Sharding-JDBC是继dubbox和elastic-job之后,ddframe系列开源的第3个项目。

主要包括以下特点:

    可适用于任何基于java的ORM框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template或直接使用JDBC。

    可基于任何第三方的数据库连接池,如:DBCP, C3P0, BoneCP, Druid等。

    理论上可支持任意实现JDBC规范的数据库。虽然目前仅支持MySQL,但已有支持Oracle,SQLServer等数据库的计划。

    分片策略灵活,可支持等号,between,in等多维度分片,也可支持多分片键。

    SQL解析功能完善,支持聚合,分组,排序,limit,or等查询,并支持Binding Table以及笛卡尔积表查询。

    性能高。单库查询QPS为原生JDBC的99.8%;双库查询QPS比单库增加94%。

架构图

Sharding-JDBC

选择将代码托管在码云
你还在等什么

可能是中国最大最好的代码托管平台


大家对 Sharding-JDBC 的评论 (全部 14 条评论)
{{repayCom.userName}}
亮_dangdang
编译不通过的是lombok的问题。
这里无法回答问题,有问题的同学可以提问
qinbo
sharding-jdbc和好的解决了分库分表的问题,并且支持大部分的sql已完全够用。而且比较灵活,有分表策略配置和分裤策略配置,开发文档也将的非常详细,清楚,并提供了demo,简单易用且实用性很好,大赞!!!--杭州开发
a280131919
有一个这样的sql
SELECT
    count(1)
    FROM sds where id in (select id from gtgt)
sds和gtgt都配置了rule规则,但是gtgt的不会生效,我看了下代码,是因为ParseContext的mergeCurrentConditionContext没有把subParseContext的同步合并,请问这个是因为什么?
exqiao
如果要支持join,sort查询,分库分表比起分区表没有任何优势。分页的时候根本无法保证业务的正确性。坦白说分库分表只适合单表查询
solr
我有个联合查询   select t.order_id,t.user_id,u.name,u.age from t_order t left join user u on t.user_id=u.test_id where t.user_id=#{userId} ,其中t_order 是分库分表 但查询时会报Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
Sharding-JDBC 相关博客
顶部