写点什么

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

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

关注

评论

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

一起学习集合框架之 TreeSet

宇宙之一粟

Java 8月月更

Kubernetes内存泄露怎么玩

CTO技术共享

开源 内存泄漏 签约计划第三季 8月月更

Kubernetes证书过期怎么玩

CTO技术共享

开源 签约计划第三季 8月月更

头脑风暴:零钱兑换

HelloWorld杰少

8月月更

Kubernetes信息安全

CTO技术共享

开源 信息安全 Kubernetes 集群 签约计划第三季 8月月更

SRE运维解密-服务质量目标:SLI,SLO,SLA

董哥的黑板报

微服务 运维 云原生 SRE Google

Kubernetes故障排查eBPF

CTO技术共享

开源 ebpf 签约计划第三季 8月月更

文本词频统计的利器 Trie树

Five

c 算法题 8月月更

C++ 中的四种智能指针

桑榆

c++ 8月月更

电动汽车充电站的部署优化策略

乌龟哥哥

8月月更

如何克服紧张

踏雪痕

Kubernetes 实现灰度和蓝绿发布

CTO技术共享

开源 灰度发布 蓝绿发布 签约计划第三季 8月月更

Service Mesh迁移原则

阿泽🧸

Service Mesh 8月月更

钝感力与自我和解

Amazing_eve

#开源

Python 教程之输入输出(5)—— input() 函数中的漏洞 – Python 2.x

海拥(haiyong.site)

Python 8月月更

Angular 为什么要引入 injection token 的概念

汪子熙

前端开发 angular web开发 依赖注入 8月月更

SAP API 开发方法大全

汪子熙

API SAP abap 全栈开发 8月月更

SRv6网络典型部署场景

穿过生命散发芬芳

8月月更 SRv6

关于 SAP UI5 floating footer 显示与否的单步调试以及使用 SAP UI5 的收益

汪子熙

前端开发 SAP SAP UI5 ui5 8月月更

Go-Excelize API源码阅读(一)——NewFile()

Regan Yue

Go 开源 源码刨析 8月月更

Kubernetes 调度器优化

CTO技术共享

开源 Kubernetes 集群 签约计划第三季

Kubernetes Cilium展示

CTO技术共享

开源 cilium Kubernetes 集群 签约计划第三季

gulp 的常用 API

Jason199

js gulp 8月月更

系统管理-Linux重定向与管道

Albert Edison

Linux centos 运维 服务器 8月月更

开源一夏 | jQuery 密码验证和深入理解JSONP【前端jQuery框架】

恒山其若陋兮

开源 8月月更

关于在谷歌浏览器,vue-video-player 实现断点续播,currentTime不生效问题。

泉城老铁

Kubernetes构建Redis 集群

CTO技术共享

redis 开源 签约计划第三季 8月月更

Android 应用安全机制实现方案探究

No Silver Bullet

android 签约计划第三季 8月月更 安全机制

【ELT.ZIP】OpenHarmony啃论文俱乐部——学术科研方法论沉淀辑

ELT.ZIP

方法论 OpenHarmony ELT.ZIP 啃论文

数据库日增20万条数据,用读写分离和分库分表加持破它

知识浅谈

8月月更

Kubernetes网络模型

CTO技术共享

开源 Kubernetes 集群 签约计划第三季 8月月更

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