写点什么

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

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

关注

评论

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

Tipard Blu-ray Converter for Mac (蓝光视频转换软件) v10.0.72激活版

理理

亚信安慧AntDB-M聚合下推—加速你的数据分析查询

亚信AntDB数据库

AntDB

智谱AI与和鲸科技签署战略合作协议,共拓大模型产业应用与人才培养新未来

ModelWhale

人工智能 大模型 ChatGLM

非扁平网络场景下,基于开源istio治理CCE多集群

华为云开发者联盟

开源 CCE 企业号 8 月 PK 榜 企业号2024年8月PK榜

​​万界星空科技低代码云mes,更适合中小企业的mes系统

万界星空科技

低代码 低代码平台 mes 云mes 万界星空科技

新增姿态估计标注,以及模型应用优化|ModelWhale 版本更新

ModelWhale

鉴权 模型应用 模型服务

FSNotes for mac 纯文本、Markdown和富文本格式(RTF)

理理

体育赛况资讯直播app开发搭建部署

V\TG【ch3nguang】

体育赛况资讯直播app开发

苹果电脑字体设计编辑器:FontLab for Mac直装版

理理

Mac批量重命名工具A Better Finder Rename(ABFR)附注册码

理理

苹果电脑最强大的屏幕截图软件TechSmith Snagit for mac中文版下载

理理

华为云重磅参会 KubeCon China 2024,精彩议程揭晓 !

华为云原生团队

云计算 容器 云原生

从0到1:AI与低代码如何推动企业创新

天津汇柏科技有限公司

低代码 AI 人工智能

【技术分享】用AWS EC2搭建WordPress

伊克罗德信息科技

亚马逊云科技 EC2 MYSCALE

数业智能心大陆 AI解答如何应对焦虑

心大陆多智能体

智能体 焦虑 AI大模型 心理健康 数字心理

简化工作流程:选择最佳项目管理系统的5大要点

爱吃小舅的鱼

单条记录大小增长倍数和ibd文件大小的增长倍数不成正比

GreatSQL

数据库 greatsql

照片修复着色工具PhotosRevive for Mac v2.1.6中文激活版

理理

Xinference实战指南:全面解析LLM大模型部署流程,携手Dify打造高效AI应用实践案例,加速AI项目落地进程

汀丶人工智能

人工智能 大模型 xinference

Detailed comparison of MT7915 and MT7916 chips: Technical parameters and application scenario analysis

wifi6-yiyi

wifi

AI驱动的商品企划软件 零售企业市场致胜的智能化利器

第七在线

Geekbench AI 命令行工具及故障排除

理理

【ACL2024】面向Stable Station的交互式多轮Prompt生成模型DiffChat

阿里云大数据AI技术

人工智能 阿里云 acl 论文 DiffChat

全能pdf编辑阅读软件 PDF Reader Pro for mac v4.1.1直装激活版

理理

Studies for Mac(mac学习记忆工具) v1.8.8直装版

理理

1688代采集运系统:跨境电商世界的神奇魔法棒

tbapi

1688代采系统 1688代采集运系统

“JVM” 上的AOP:Java Agent 实战

阿里技术

Java spring 阿里 aop

Safari 扩展程序Noir – Dark Mode 网页暗模式插件

理理

fabric.js 实现服装/商品定制预览效果

秦少卫

开源项目 FabricJS Fabric.js 开源项目介绍

物联网赋能拍卖平台开发:实现拍卖流程的智能化、透明化

软件开发-梦幻运营部

火山引擎ByteHouse助力车企实现高性能数据分析

字节跳动数据平台

大数据 数据仓库 云原生 Clickhouse

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