大咖直播-鸿蒙原生开发与智能提效实战!>>> 了解详情
写点什么

当当开源 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:0031065
用户头像

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

关注

评论

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

Flexus X初体验之部署xxl-job - 分布式任务调度平台

YG科技

Flexus云服务X实例应用,通过QT连接华为云MySQL,进行数据库的操作,数据表的增删改查

YG科技

从AI远见到中国速度:Scaling Law发现者为何引全球热议?

脑极体

AI

华为云Flexus X实例部署k3s与kuboard图形化管理工具

YG科技

区块链ETF软件的开发

北京木奇移动技术有限公司

区块链技术 软件外包公司 ETF

AKI跨语言调用库让C/C++代码迁移至HarmonyOS NEXT更高效

最新动态

华为FlexusX与Docker+Nginx的高效整合之路

YG科技

遥遥领先的华为云Flexus云服务器X它来了~~~~

YG科技

华为Flexus云服务器X实例实测-堡垒机jumpserver

YG科技

使用sysbench对华为云Flexus服务器X做Mysql应用加速测评

YG科技

Flexus云服务X实例安装ODBC驱动,在ODBC中建立MySQL数据库连接,通过QT连接云数据库

YG科技

区块链RWA软件项目的开发

北京木奇移动技术有限公司

区块链技术 软件外包公司 RWA开发

2025-01-01:优质数对的总数Ⅰ。用go语言,给定两个整数数组 nums1 和 nums2,分别长度为 n 和 m,以及一个正整数 k。 如果 nums1 数组中的元素 nums1[i] 能被

福大大架构师每日一题

福大大架构师每日一题

华为音乐2024年度听歌报告:与鸿蒙用户共同漫步音乐花园

最新动态

Flexus云服务器X,云上性能新飞跃,开启业务增长新纪元

YG科技

华为云Flexus X加速Redis案例实践与详解

YG科技

华为云Flexus云服务器X实例全面使用操作指南

YG科技

华为云Flexus云服务器X实例部署Mininote轻量级笔记工具

YG科技

Flexus X实例评测使用体验——手把手带你体验瑞吉外卖下载与部署

YG科技

探索未来算力新纪元——带你体验Kafka、Zookeeper集群安装

YG科技

《计算机组成及汇编语言原理》阅读笔记:p160-p176

codists

计算机组成及汇编语言原理

自学记录鸿蒙API 13:PreviewKit从文件预览到应用开发

李游Leo

鸿蒙 HarmonyOS NEXT

自学记录:鸿蒙5使用ArkTS和ArkUI实现Live View功能

李游Leo

鸿蒙 HarmonyOS HarmonyOS NEXT

小鲸数据:2024 AI 年度洞察

小鲸数据

AI应用 生成式 #大模型 #AI #AIGC

区块链项目外包开发流程

北京木奇移动技术有限公司

区块链技术 智能合约开发 软件外包公司

镜舟科技荣获 IT168 2024年度创新产品奖!

镜舟科技

开源 分析型数据库 StarRocks IT168 物化视图

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