10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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

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

关注

评论

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

如何更好的回答面试问题

老张

面试 面试经验

快准稳的文档解析工具,帮助构建性能优越的金融领域知识库问答产品

合合技术团队

金融 合合信息 智能问答 文档解析

数据资产化浪潮来临,从云构筑数据资产安全基座

从云科技

数据安全 数字中国建设峰会 数据资产运营 数据安全一体机

从云科技入选《API安全市场指南报告》

从云科技

API 数据安全 从云科技

软件测试学习笔记丨Vue路由-Router

测试人

软件测试

从云科技 “六边形战士” 数据基建“搬砖人”

从云科技

数据安全 数据基建 数据流通安

宽睿数字平台兼容TDengine 等多种数据库,提供行情解决方案

TDengine

数据库 时序数据库

“新E代弯道王”MAZDA EZ-6亮相2024重庆国际车展

极客天地

活动|NFTScan 联合 Google Cloud 香港举办线下交流活动

NFT Research

活动 Google Cloud NFTScan #Web3

【天池科普】1. 为啥人人都要学AI

阿里云天池

阿里云 AI Agent

如何判断LED显示屏的质量优劣

Dylan

技术 质量 LED显示屏 led显示屏厂家 市场

高效处理风电时序数据,明阳集团的 TDengine 3.0 应用实录

TDengine

数据安全,让“藏粮于技”水到渠成

从云科技

物联网 数据安全 统一身份认证 零信任 数据流通

理解 Bearer Token 及其功能性

Apifox

后端 身份认证 Token API API 安全

全国AI产品榜发布:百度文库蝉联第一

科技热闻

OpenHarmony专属的智能问答助手“小瓦AI答”上线了

极客天地

拯救学弟学妹计划之【论文帮手】是如何实现的?

AppBuilder

星火闪耀,与AI同行丨华为开发者大会2024社区活动重磅上线!

华为云开发者联盟

华为云 华为云开发者联盟 华为开发者大会2024 企业号2024年6月PK榜

2024年区块链技术开发全面解析:代币、DApp、NFT、链游与交易所的最新动态

区块链软件开发推广运营

交易所开发 dapp开发 区块链开发 链游开发 代币开发

得物SRE K8s 故障诊断:从 CPU 高负载到挂载泄露根源揭示

得物技术

Linux 容器 性能优化 稳定性 企业号2024年6月PK榜

从学术到开源:探索北京邮电大学电子工程学院研究生的开源之旅

TDengine

数据库 时序数据库

你必须得认真体验下 TDengine Cloud 了!抢 600 元体验券

TDengine

数据库 tdengine

原腾讯云副总裁张纾翔加入矩阵起源,共筑人工智能新篇章

MatrixOrigin

数据库 腾讯云 AI

文献解读-农业系列-第七期|《高粱驯化的基因组足迹和多种最终用途的育种选择》

INSVAST

基因数据分析 生信服务

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