写点什么

当当开源 sharding-jdbc,轻量级数据库分库分表中间件

  • 2016-01-25
  • 本文字数:964 字

    阅读完需:约 3 分钟

近期,当当开源了数据库分库分表中间件 sharding-jdbc

Sharding-JDBC 是当当应用框架 ddframe 中,从关系型数据库模块 dd-rdb 中分离出来的数据库水平分片框架,实现透明化数据库分库分表访问。Sharding-JDBC 是继 dubbox 和 elastic-job 之后,ddframe 系列开源的第 3 个项目。
Sharding-JDBC 直接封装 JDBC 协议,可以理解为增强版的 JDBC 驱动,旧代码迁移成本几乎为零。
Sharding-JDBC 定位为轻量级 java 框架,使用客户端直连数据库,以 jar 包形式提供服务,无 proxy 代理层,无需额外部署,无其他依赖,DBA 也无需改变原有的运维方式。

主要包括以下特点:

  1. 可适用于任何基于 java 的 ORM 框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template 或直接使用 JDBC。
  2. 可基于任何第三方的数据库连接池,如:DBCP, C3P0, BoneCP, Druid 等。
  3. 理论上可支持任意实现 JDBC 规范的数据库。虽然目前仅支持 MySQL,但已有支持 Oracle,SQLServer 等数据库的计划。
  4. 分片策略灵活,可支持等号,between,in 等多维度分片,也可支持多分片键。
  5. SQL 解析功能完善,支持聚合,分组,排序,limit,or 等查询,并支持 Binding Table 以及笛卡尔积表查询。
  6. 性能高。单库查询 QPS 为原生 JDBC 的 99.8%;双库查询 QPS 比单库增加 94%。

架构图

与常见开源产品对比
这里仅列出目前停止更新,但仍然在数据库分片领域非常有影响力的几个项目。

功能 Cobar Cobar-client TDDL Sharding-JDBC 分库 有 有 未开源 有 分表 无 无 未开源 有 中间层 是 否 否 否 ORM 支持 任意 仅 MyBatis 任意 任意 数据库支持 仅 MySQL 任意 任意 任意 异构语言 可 仅 Java 仅 Java 仅 Java 外部依赖 无 无 Diamond 无 Sharding-JDBC 严格遵循 Apache 2.0 许可证的要求。测试覆盖率 95%,目前已部署至 maven 中央仓库。可使用以下坐标引用:

复制代码
<groupId>com.dangdang</groupId>
<artifactId>sharding-jdbc-core</artifactId>
<version>1.0.0</version>

Sharding-JDBC 将保持持续更新,后续会完善读写分离、柔性分布式事务和高可用等相关功能。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。

2016-01-25 18:0030767
用户头像

发布了 25 篇内容, 共 26.5 次阅读, 收获喜欢 119 次。

关注

评论

发布
暂无评论
发现更多内容

以经济价格享受旗舰体验!华为云Flexus X实例打破传统云服务器局限

YG科技

华为云Flexus X实例以柔性算力赋能中小企业,打造轻量云服务“标杆”.

YG科技

“船小好调头”,华为云Flexus X实例为中小企业上云再添助力!

YG科技

满足业务高速增长需求!华为云Flexus云数据库RDS限时特惠

平平无奇爱好科技

华为云Flexus X实例引领云服务变革,助力中小企业降本增效

YG科技

华为云Flexus云服务器X实例:柔性算力新物种,开启企业云上跃级体验

YG科技

顺应时代趋势!华为云Flexus云数据库RDS加速中小企业数据上云

平平无奇爱好科技

无需部署、开箱即用!华为云Flexus云数据库RDS赋能中小企业降本增效

平平无奇爱好科技

开箱即用、稳定可靠!上云优选华为云Flexus云数据库RDS

平平无奇爱好科技

【实操回顾】基于Apache SeaTunnel从MySQL同步到PostgreSQL——Demo方舟计划

Apache SeaTunnel

云数据库安全吗?华为云Flexus云数据库RDS多重安全机制全面守护

平平无奇爱好科技

六倍性能,旗舰体验!华为云Flexus X实例以柔性算力引领云服务变革

YG科技

开箱即用、便捷运维!华为云Flexus云数据库RDS限时特惠最低30元起

平平无奇爱好科技

小白也能看懂!华为云Flexus云数据库RDS有效降低上云门槛

平平无奇爱好科技

专为中小企业打造!华为云Flexus云数据库RDS“零配置”开箱即用

平平无奇爱好科技

4大优势,刷新体验!华为云Flexus云数据库RDS助力中小企业高效上云

平平无奇爱好科技

抓准数字化转型“突破口”!华为云Flexus X实例助力企业高效上云.

YG科技

中小企业上云必选!华为云Flexus云服务器X实例六倍性能、旗舰体验.

YG科技

鸿蒙之路:家国情怀下的坚守与成长

坚果

鸿蒙 HarmonyOS

华为云Flexus X实例首创柔性算力技术,让中小企业上云“化难为易”

YG科技

鸿蒙全球电影票房排行榜应用

坚果

鸿蒙 HarmonyOS 坚果派

Go 语言常见错误——方法函数

FunTester

华为云 Flexus 云服务器 X 实例:开启云上新篇,让业务自由驰骋.

YG科技

企业上云好处多多!华为云Flexus X实例有效降低上云门槛

YG科技

加量不加价!华为云Flexus云数据库RDS精准解决中小企业上云难题

平平无奇爱好科技

华为云Flexus X实例首创柔性算力技术,让中小企业上云“化难为易”

YG科技

Easysearch 节点磁盘不足应对方法

极限实验室

easysearch

StarRocks + Paimon 在阿里集团 Lakehouse 的探索与实践

StarRocks

OLAP StarRocks 湖仓一体 paimon 数据库 大数据

电商网站上云好处多!华为云Flexus云数据库RDS让业务更有保障

平平无奇爱好科技

更贴合中小企业业务需求!华为云Flexus X实例助力提速增效、硬核降本.

YG科技

当当开源sharding-jdbc,轻量级数据库分库分表中间件_语言 & 开发_张亮_InfoQ精选文章