写点什么

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:396080
用户头像

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

关注

评论

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

新药研发周期越来越短,北鲲云超算平台如何提高药企竞争力?

北鲲云

GitHub不再支持密码验证解决方案:SSH免密与Token登录配置

zhoulujun

git GitHub SSH Token 免密登录

毕业总结

Johnny

架构实战营

【设计模式】中介者模式

Andy阿辉

C# 后端 设计模式 8月日更

python-类,对象--》多态,封装,继承

加里都好

Python

上游思维:上工治未病

石云升

读书笔记 公司管理 8月日更 上游思维

梳理会在Scrum中是活动还是事件?——《Scrum指南》重读有感(6)

Bruce Talk

Scrum 敏捷 随笔 Agile

架构实战营 毕业设计:设计电商秒杀系统

Ahu

万字文肝Python基础知识

ベ布小禅

8月日更

Web框架Gin | Gin 中间件

xcbeyond

Go 语言 gin gin-middleware 8月日更

看完这篇博客,Python Django 你就学会一半了

梦想橡皮擦

8月日更

【Vue2.x 源码学习】第三十五篇 - 组件部分 - Vue.component 实现

Brave

源码 vue2 8月日更

前端之算法(四)快速排序

Augus

算法 8月日更

有书香气的七夕节

箭上有毒

8月日更

配置Flink流式应用(九)

Databri_AI

flink Kubernetes YARN

QDS04 TensorFlow

耳东@Erdong

tensorflow 8月日更 qds

minetest Window编译运行

c++ 开源 游戏 我的世界

Git 应该用 fetch 还是 pull

HoneyMoose

Linux之rcp命令

入门小站

Linux

持久层Mybatis中对于SQL注入的问题,聊聊你的想法?

卢卡多多

SQL优化 8月日更

Android开发:Android Studio插件GsonFormat根据Json自动生成javabean的方法

三掌柜

8月日更 8月

https 与 http 区别

一个大红包

8月日更

【前端 · 面试 】HTTP 总结(十二)—— URL 和 URI

编程三昧

面试 HTTP url 8月日更

从0开始的TypeScriptの七:函数

空城机

typescript 大前端 8月日更

模式包括问题和解决方案

escray

学习 极客时间 如何落地业务建模 8月日更

【自驱型成长】——控制感

LeifChen

压力 控制感 8月日更 自驱型成长

部署MinIO存储服务的四种方式

liuzhen007

8月日更

Linux从头学:所有编程语言中的栈操作,底层原理都在这里

Java 编程 架构 面试 架构师

阿里P8亲传Java面试指南,助我一路过关斩将,成功拿到大厂Offer

Java 编程 面试 程序人生 架构师

JavaScript继承的实现方式:原型语言对象继承对象原理剖析

zhoulujun

JavaScript

在线日期计算器

入门小站

工具

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