BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Sharding-JDBC 1.3.0发布——支持读写分离

| 作者 张亮 关注 3 他的粉丝 发布于 2016年6月1日. 估计阅读时间: 2 分钟 | QCon北京2018全面起航:开启与Netflix、微软、ThoughtWorks等公司的技术创新之路!

亲爱的读者:我们最近添加了一些个人消息定制功能,您只需选择感兴趣的技术主题,即可获取重要资讯的邮件和网页通知

今年1月18日,当当的分布式数据库中间层Sharding-JDBC正式开源。经过近半年的潜心打磨,Sharding-JDBC于六一前夕正式发布1.3.0里程碑版本。

Sharding-JDBC源于当当应用框架ddframe的关系型数据库访问模块dd-rdb,主要功能是使数据库分库分表访问透明化。项目定位为轻量级Java中间件,采用JDBC层协议封装,可以理解为增强版的JDBC,适用于绝大部分Java ORM框架和使用标准SQL的数据库。

Sharding-JDBC在当前开源数据库中间件百花齐放,但稳定易用产品不多的大环境下,有效弥补了关键功能缺失痛点。这里回顾一下Sharding-JDBC发布了4个里程碑版本:

  • 1.0.0 分库分表:
    1. 提供灵活的函数式分片规则配置,可支持=,BETWEEN,IN等操作符分片;
    2. 完善的SQL支持,对LIMIT,聚合,分组,排序,OR等SQL均可解析和多结果集归并。
  • 1.1.0 配置易用性:
    1. 提供Spring命名空间简化配置;
    2. 提供Yaml配置,为不使用Spring的开发者提供同样简便的配置方式。
  • 1.2.0 最大努力送达型柔性事务
    1. 通过同步和异步尝试,在弱XA的基础上更近一步,提供最大努力送达型柔性事务保证数据的最终一致性;
    2. 更贴近于原生事务的TCC型柔性事务也将于不久之后发布。
  • 1.3.0 读写分离
    1. 提供读写分离数据源,可简便的与分片数据源相结合,便于实现分片+主从的完美数据库配置方式;
    2. 最大限度提供数据一致性保障。如:
      1. 同一线程内如有写库操作,读取操作即路由至主库;
      2. 提供Hint方式强制主库路由。

Sharding-JDBC将持续更新,完善分布式数据库中间层缺失的其他功能。目前已在计划中的功能包括分布式主键,TCC柔性事务,数据迁移,HA,元数据注册管理等。同时也会在SQL解析的性能,SQL的兼容性,配置的易用性等方面不断优化。

在六一来临之际,希望Sharding-JDBC能为与数据分片苦苦奋斗的一线攻城狮们送上一份儿童节礼物,为你们提供清爽的解决方案,分担工作的压力。希望技术人员永远保持一颗快乐的童心。

附:Sharding-JDBC github地址

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

看了,非常好 by Red PigMall

最近正好在做一款B2B2C商城产品,正好需要添加分库、分表,又支持任意的ORM,真是太好了

很给力 by 陈 杰

项目中准备尝试使用,顶!d=====( ̄▽ ̄*)b

良心开源产品 by 云裳 彩翼

希望越来越好,持续发展。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

3 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT