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

来源:互联网 发布:mac地址 unix 查看 编辑:程序博客网 时间:2024/06/07 02:47

今年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地址。


原文链接:

http://www.infoq.com/cn/news/2016/06/sharding-jdbc-130?utm_source=infoq&utm_medium=popular_widget&utm_campaign=popular_content_list&utm_content=homepage

0 0
原创粉丝点击