写点什么

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

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

关注

评论

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

面试突击57:聚簇索引=主键索引吗?

王磊

Java MySQL 面试

助力直播平台源码脱颖而出,要完成哪些关键功能?

开源直播系统源码

软件开发 直播源码

InfoQ 极客传媒 15 周年庆征文|uni-app 路由传参参数丢失问题解决方案探究

No Silver Bullet

前端 6月月更 InfoQ极客传媒15周年庆 路由传参

字符串

Jason199

js 字符串 6月月更

gogs使用webhook部署react单页应用

Nick

ci 持续集成 React 6月月更 gogs

测试开发【Mock平台】04实战:前后端项目初始化与登录鉴权实现

MegaQi

测试平台开发教程 测试干货 6月月更

InfoQ 极客传媒 15 周年庆征文| 手把手带你入门 API 开发

宇宙之一粟

flask-restful 6月月更 InfoQ极客传媒15周年庆 API开发

CentOS环境基于nginx搭建负载均衡

乌龟哥哥

6月月更

测试流程如何落地?

老张

软件测试 质量保障

大数据培训Flink 简介与认知

@零度

flink 大数据开发

Linux开发_Makefile规则与Shell脚本语言

DS小龙哥

6月月更

6大优势、2种类型,一文吃透动态应用安全测试(DAST)

SEAL安全

DevOps 网络安全 DevSecOps 软件安全

JavaScript异步函数async/await

大熊G

JavaScript 前端 6月月更

使用 Prometheus 监控 SAP ABAP 应用程序

汪子熙

云计算 Kubernetes 云原生 abap 6月月更

云原生技术 - 如何从代码到制作并发布一个 Helm 包?

孙健波

云原生 Helm

Paper Reading 预告 | Volcano-An Extensible and Parallel Query Evaluation System(众神推荐的 Paper 下载合集)

TiDB 社区干货传送门

TiDB Paper Reading

spring4.1.8扩展实战之五:改变bean的定义(BeanFactoryPostProcessor接口)

程序员欣宸

Java spring Spring Framework 6月月更

实战 | Kibana面板使用

写程序的小王叔叔

Kibana ELK Stack 6月月更

【愚公系列】2022年06月 通用职责分配原则(三)-低耦合原则

愚公搬代码

6月月更

测试开发【Mock平台】05开发:项目管理(一)后端接口

MegaQi

测试平台开发教程 6月月更 测试技术干货

docker和docker compose安装使用、入门进阶案例

偶尔善良

Docker docker-co

企业知识管理就是信息化建设吗?

小炮

MySQL索引

龙空白白

索引 MySQL InnoDB

JVM调优简要思想及简单案例-JVM是什么?

zarmnosaj

6月月更

InfoQ 极客传媒 15 周年庆征文|漫谈公网网络延迟

耳东@Erdong

运维 6月月更 InfoQ极客传媒15周年庆 网络延迟

纯CSS 毛玻璃效果 💎

德育处主任

CSS 纯CSS 6月月更

Django 中的视图 | Python

海拥(haiyong.site)

Python django 6月月更

【Python技能树共建】pyspider框架的使用

梦想橡皮擦

Python 6月月更

【协程】LifecycleScope源码解析

yechaoa

android 协程 6月月更 LifecycleScope

几个非常有用的 Flutter 技巧,你可以立即使用!

坚果

6月月更

C#入门系列(十六) -- 类及其成员介绍

陈言必行

C# 6月月更

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