NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

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

关注

评论

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

避免封禁困扰:青否数字人直播防封专业版来了!

青否数字人

数字人

碳视野 | 今后五年国家重点支持三类双碳项目!

AMT企源

数字化转型 双碳 碳管理

程序员精选常用ChatGPT提示词合集

蓉蓉

openai ChatGPT GPT-4

百度官方!打造「大模型全开发周期系列课程」,AI应用开发入门课率先发布!(内含英雄帖)

飞桨PaddlePaddle

百度 开发者 BAIDU 百度飞桨 飞桨星河社区

“大模型驱动的软件研发” 华为云助推企业研发智能化升级

华为云开发者联盟

人工智能 华为云 大模型 华为云开发者联盟 企业号2024年4月PK榜

OpenHarmony 4.1 Release版本正式发布,邀您体验

OpenHarmony开发者

Open Harmony

从人力外包到测试工具与平台:打造完整的测试解决方案

霍格沃兹测试开发学社

AI数字人克隆人直播源码独立部署的应用!

青否数字人

数字人

实用技巧:排查数据异常/数据波动问题,该如何下手?

feng

大数据 分布式 后端

火山引擎 VeDI:剪映产品如何应用A/B测试验证新功能效果

字节跳动数据平台

大数据 A/B测试 企业号 4 月 PK 榜 对比试验 数字化增长

前端代码规范 - 图片相关

南城FE

前端 代码规范 图片优化

解锁阿里巴巴1688数据宝藏:API助力批量获取商品价格、标题、图片及库存

技术冰糖葫芦

API boy api 货币化 pinduoduo API

即时通讯技术文集(第36期):《跟着源码学IM》系列专题 [共12篇]

JackJiang

即时通讯;IM;网络编程

TiProxy 问题解答 & 未来规划

TiDB 社区干货传送门

新版本/特性发布 新版本/特性解读 数据库连接 8.x 实践

“AI虚拟数字人+线下大屏互动”升级智能人机交互服务!

青否数字人

数字人

新质生产力与智能制造:推动制造业转型升级的双引擎

天津汇柏科技有限公司

智能制造 新质生产力

写给职场新人|从迷茫到屡获殊荣的技术人成长之路

京东零售技术

人工智能 架构 后端 技术成长 企业号 4 月 PK 榜

BOE(京东方)2024年一季度净利润预计8亿元-10亿元,三位数增长叩响高质量发展“开门红”

科技热闻

tidb 6.1.4 table cache 导致的集群QPS异常问题

TiDB 社区干货传送门

集群管理 管理与运维 故障排查/诊断 6.x 实践

✅实现百万级数据从Excel导入到数据库的方式

派大星

数据导入 Java 面试题 互联网大厂面试 百万数据

华大北斗芯片再登纽伦堡国际嵌入式展EW2024

江湖老铁

HTML API 设计指南:打造高效、可维护的接口

Apifox

JavaScript html 程序员 前端 HTML API

NL2SQL进阶系列(1):DB-GPT-Hub、SQLcoder、Text2SQL开源应用实践详解

汀丶人工智能

自然语言处理 大语言模型 NL2SQL

LigaAI x 极狐GitLab,共探 AI 时代研发提效新范式

LigaAI

人工智能 DevOps 极狐GitLab LigaAI 研发效能管理

TiDB 监控告警高可用

TiDB 社区干货传送门

AE红巨星特效插件包 Red Giant Universe for Macv2024.2.0激活版

影影绰绰一往直前

哔哩哔哩游戏宣布《碧蓝航线》将启动鸿蒙原生应用开发

最新动态

利用Python实现数据可视化

技术冰糖葫芦

API Explorer API boy api 货币化

DCDN连接云和用户:加速企业全球拓展之旅

EdgeMaster

阿里云 CDN

实况窗助力美团打造鸿蒙原生外卖新体验,用户可实时掌握外卖进展

HarmonyOS开发者

HarmonyOS

基于香橙派AIpro将开源框架模型转换为昇腾模型

华为云开发者联盟

华为云 昇腾 华为云开发者联盟 企业号2024年4月PK榜 香橙派AIpro

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