写点什么

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

  • 2016-05-31
  • 本文字数:802 字

    阅读完需:约 3 分钟

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

2016-05-31 19:396166
用户头像

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

关注

评论

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

盘点关于程序员的那些经典案例

孙叫兽

程序员 程序人生 话题讨论 薪水 计算机原理

深入理解gradle中的task

程序那些事

Java maven Gradle 程序那些事 构建工具

【STM32】串口通信出现乱码(使用官方标准库)

AXYZdong

硬件 stm32 2月春节不断更

Elasticsearch Mapping Overview

escray

elastic 七日更 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

ElasticSearch.01-简介

insight

elasticsearch 2月春节不断更

「架构师训练营 4 期」 第七周 - 001&2

凯迪

架构师训练营 4 期

第十二周课后作业

Binary

深入浅出函数式编程:Stream流水线的实现原理

李尚智

Java 架构 微服务

JDBC速查手册

jiangling500

Java JDBC

杨明越:Kubernetes的下一仗可能是提升标准化程度

杨明越

Scrum Patterns:梳理产品待办列表(译)

Bruce Talk

敏捷开发 译文 Agile Scrum Patterns

架构师训练营 4 期 第7周

引花眠

架构师训练营 4 期

Spring框架源码:BeanFactory与Bean的生命周期

程序员架构进阶

Java spring 源码阅读 七日更 2月春节不断更

日记 2021年2月14日(周日)

Changing Lin

2月春节不断更

熬夜7天,我总结了JavaScript与ES的25个重要知识点!

我是哪吒

学习 程序员 面试 大前端 2月春节不断更

还傻傻分不清楚equals和==的区别吗?看完就明白了

codevald

Java 源码分析 string Object

9. Python 学习过程的第一个山坡,99%的人都倒在了山坡下

梦想橡皮擦

Python 2月春节不断更 python入门 python学习

SpringMVC专栏 第1篇 - 快速入门

小马哥

Java spring Spring MVC 七日更 二月春节不断更

10. 比找女朋友还难的技术点,Python 面向对象

梦想橡皮擦

Python 2月春节不断更 python入门

Tomcat异常: Unable to process Jar entry [module-info.class] from Jar

小马哥

Java maven 七日更 二月春节不断更

Java SE最佳实践

jiangling500

Java 最佳实践 Java SE

第十二周 数据应用一 作业 「架构师训练营 3 期」

胡云飞

聊聊大公司创新的机制:饱和攻击

boshi

创新 七日更

面试官系列:你对Spring事件发布和广播监听有了解吗?

后台技术汇

面试 2月春节不断更

Chrome浏览器多进程架构3个必会知识点

梁龙先森

面试 大前端 浏览器

【STM32】串口通信---用代码与芯片对话

AXYZdong

硬件 stm32 2月春节不断更

Tomcat速查手册

jiangling500

Java tomcat

【LeetCode】情侣牵手Java题解

Albert

算法 LeetCode 2月春节不断更

第十二周学习总结

Binary

熬夜总结了 “HTML5画布” 的知识点(共10条)

我是哪吒

学习 读书笔记 程序员 随笔杂谈 2月春节不断更

《我们脑中挥之不去的问题》 - 卓克科普(2)

石云升

读书笔记 科普 2月春节不断更

Sharding-JDBC 1.3.0发布——支持读写分离_Java_张亮_InfoQ精选文章