天天看点

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

当当的分布式数据库中间层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 分库分表:提供灵活的函数式分片规则配置,可支持=,between,in等操作符分片;完善的sql支持,对limit,聚合,分组,排序,or等sql均可解析和多结果集归并。1.1.0 配置易用性:提供spring命名空间简化配置;提供yaml配置,为不使用spring的开发者提供同样简便的配置方式。1.2.0 最大努力送达型柔性事务通过同步和异步尝试,在弱xa的基础上更近一步,提供最大努力送达型柔性事务保证数据的最终一致性;更贴近于原生事务的tcc型柔性事务也将于不久之后发布。1.3.0 读写分离提供读写分离数据源,可简便的与分片数据源相结合,便于实现分片+主从的完美数据库配置方式;最大限度提供数据一致性保障。如:同一线程内如有写库操作,读取操作即路由至主库;提供hint方式强制主库路由。

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

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

本文转自d1net(转载)