新起航!Sharding-JDBC经过公投,正式改名为Sharding-Sphere

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

点击上方蓝字关注我们

640?wx_fmt=jpeg

经过了两年多全力的耕耘与打造,Sharding-JDBC近期终于收获了在github上的第4000个star,在当今的分布式数据库中间件领域占有了一席之地。

更名契机

一直以来,Sharding-JDBC定位为轻量级Java框架,在Java的JDBC层提供的额外服务。它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架。

然而仅通过JDBC 层的嵌入,难于应对更加多样化的场景,如: Java 之外的异构语言、数据库管理端命令行和 UI,等等。基于Proxy去模拟数据库的中间层方案则更加容易支撑相应的应用场景。

Proxy方案与基于JDBC的Client方案到底谁更加优秀,是长久以来争论不休的经典话题。其实,它们都有着各自的优缺点,如何在适合的场景最大限度的发挥优势,屏蔽劣势,是技术选型时架构师们需要重点考虑的。它们的简单比较如下表:

640?wx_fmt=png

为了应对异构语言等场景,我们开发了基于 MySQL 代理端的 Proxy 版本,而原有的 JDBC 版本也得以保留,给用户的多样化场景提供更多选择。

全新拓展

由于Proxy版本的出现,使得Sharding-JDBC这个名字已经不再适合,但我们无法放弃过去两年多 Sharding-JDBC 的影响力所带来的累积。因此,我们保留了 “Sharding” 这个关键词。而且,对于分布式数据库中间件来说,无论是分库分表、柔性事务还是数据治理,“Sharding” 是这一切的起源

我们将原有的 Sharding-JDBC与新开发的 Sharding-Proxy 以及正在孵化中的 Sharding-Sidecar 一起组成了一个生态圈,将其命名为Sharding-Sphere即 Sharding 圈。

下图中的蓝色部分是Sharding-Sphere已经实现的功能,橘色部分是即将开发的功能。

640?wx_fmt=png

选择Proxy还是Client这个话题,在Sharding-Sphere这里可以暂且缓解一下。因为无论选择哪一种架构模式,Sharding-Sphere都会用同一套内核去处理SQL解析、路由、改写以及结果归并和核心逻辑,使得用户无需担心使用两套不同产品带来的功能不兼容。而在同一个系统中组合使用Sharding-Sphere也非常简单。

举例说明,对于仅使用 Java 为开发技术栈的场景,Sharding-JDBC 对各种 Java 的 ORM 框架支持度非常高,开发人员可以非常便利地将数据分片能力引入到现有的系统中,并将其部署至线上环境运行,而 DBA 可以通过部署一个 Sharding-Proxy 实例,对数据进行查询和管理。

640?wx_fmt=png

社区化运营

Sharding-Sphere通过完全社区化的方式运营,改名是由社区投票来决定的,请参见:

https://github.com/sharding-sphere/sharding-sphere/issues/788

投票持续一周,共计39同意票,1弃权票的结果,其中PMC和官方贡献者以13票全票数过。目前公投已结束。

改名之后的Sharding-Sphere将于近期发布3.0.0.M1版本,敬请大家指教。

Sharding-Sphere

Sharding-Sphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar这3款相互独立的产品组成。他们均提供标准化的数据分片、读写分离、柔性事务和数据治理功能,可适用于如Java同构、异构语言、容器、云原生等各种多样化的应用场景。

开源不易,您对我们最大支持,就是在github上留下一个star。

项目地址:

https://github.com/sharding-sphere/

https://gitee.com/sharding-sphere/

更多信息请浏览官网:

http://shardingsphere.io/

或加入Sharding-Sphere官方讨论群 

640?wx_fmt=jpeg


感谢您的支持与关注

640?wx_fmt=png


SEATA整合sharding-jdbc 本文使用的初始源代码来自于:seata-samples/springcloud-seata-sharding-jdbc-mybatis-plus-samples at master · seata/seata-samples · GitHub 但是在运行上面代码过程中,发现老是运行失败,出现各种各样的错误,最后发现是因为配置的原因,初始代码中给的配置信息不全,这里给出完整的配置信息 1.seata-order- sample模块 (1). application.properties #订单微服务 阅读详情

相关推荐

ShardingSphere 数据分片之 Sharding-JDBC 深入理解

MySQL 的存储单位是 page[16kb],索引使用 B+Tree,深度为3(3次 IO便能查出数据)。为了提高查询速度,存储单元中都存储的是索引的指针。MySQL 内部索引指针大小在 InnoDB源码中设置为 6个字节+例如 ID类型 bigint(long) 占8个字节 = 14字节,那么一页存储 16*1024/14 ≈ 1170行数据。因为深度为3,表示此时一张表最多存储(这里假设叶子节点一行记录的数据大小为1k,实际上现在很多互联网业务数据记录大小通常就是1K左右)16[叶子节点只能存16行数

程序猿进阶 2153

Mysql学习笔记---ShardingSphereShardingJDBC简介

Mysql学习笔记—ShardingSphere 1.简介 Apache ShardingSphere是一款开源的分布式数据库中间件组成的生态圈。它由Sharding-JDBCSharding-ProxySharding-Sidecar(规划中)这3款相互独立的产品组成。 他们均提供标准化的数据分片、分布式事务数据库治理功能,可适用于如Java同构、异构语言、容器、云原生等各种多样化的应用场景。 ShardingSphere项目状态如下: ShardingSphere定位为关系型数据库中

qq_39314972的博客 718

关于Sharding-JDBCSharding-Sphere前世今生

2014年,当当架构部沈理、张亮、邓学祥、董四辈、池田、吴翊以及年底来的曹昊针对互联网主流技术架构进行调研,包含了SOA服务框架、定时任务管理、消息队列、数据库中间件。 2015年,自研分布式定时任务框架elastic-job开源发布后,下一阶段的目标转移到数据库中间件上。开发SmartClient方式的轻量级组件,实现标准的JDBC,这样迁移成本低,架构简洁可控,在数据库领域有深入钻研的高洪涛...

逸轩小Q的博客 3955

ShardingJDBC私人学习笔记

在org.apache.shardingsphere.apiorg.apache.shardingsphere.shardingjdbc.api 包中的类是面向用户的API,查询所有未支持方法,请阅读org.apache.shardingsphere.shardingjdbc.jdbc.unsupported包(4.X.X版本)。查询所有未支持方法,请阅读 org.apache.shardingsphere.driver.jdbc.unsupported 包(5.X.X版本)。

奕辰杰的博客 954

sharding-jdbc+seata实现分库分表,多数据源整合seata分布式事务

sharding-jdbc+seata实现分库分表分布式事务 sharding-jdbc 的相关理论&使用文档参考官网(https://shardingsphere.apache.org/document/legacy/4.x/document/cn/manual/sharding-jdbc/) seata 的相关理论&使用文档参考官网(https://github.com/seata/seata) sharding-jdbc可以理解为增强版的驱动,用户可以通过对图中..

HTslide的博客 6463

SEATA整合sharding-jdbc思路

​ 这里主要是参考了ShardingSphere官网的整合思路 ​参考连接:https://shardingsphere.apache.org/document/legacy/4.x/document/cn/features/transaction/principle/base-transaction-seata/ ​ 具体内容如下: ​ 整合Seata AT事务时,需要把TM,RM,TC的模型融入到ShardingSphere 分布式事务的SPI的生态中。在数据库资源上,Seata通过对接DataSour

u010797364的博客 4251

SpringBoot集成Shardingjdbc+seata AT模式

SpringBoot集成shardingjdbc+seata-AT,分布式事务案例

qq_41563912的博客 5394

ShardingSphereShardingJDBC核心要点整理

1.ShardingSphere sharding-jdbc后续发展为Sharding-Sphere,包含sharding-jdbcSharding-Proxy、Sharding-Sidecar。 1)概述:ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBCSharding-ProxySharding-Sidecar(计划中)这...

chen 1万+

ShardingSphere一套开源的分布式数据库中间件解决方案

项目地址:https://github.com/apache/incubator-shardingsphere 文档地址:http://shardingsphere.apache.org/document/current/cn/overview/ 1. 概览 2. 快速入门 2.1. Sharding-JDBC 2.2. Sharding-Proxy 3. 概念 &...

纸上得来终觉浅,绝知此事要躬行 3345

SpringCloud(16) 整合Seata+多数据源+sharding-jdbc

springcloud整合seata+多数据源+sharding-jdbc

郑清 3767

JDBC 规范与 ShardingSphere 是什么关系

JDBC 规范简介 ShardingSphere 提供了与 JDBC 规范完全兼容的实现过程,在对这一过程进行详细展开之前,先来回顾一下 JDBC 规范。JDBC(Java Database Connectivity)的设计初衷是提供一套用于各种数据库的统一标准,而不同的数据库厂家共同遵守这套标准,并提供各自的实现方案供应用程序调用。作为统一标准,JDBC 规范具有完整的架构体系,如下图...

qq_29860591的博客 749

Seata整合Sharding-JDBC后分支事务回滚失败原因分析(高质量)

大家好,我是爱读源码的大都督,最近在做seata的升级改造,由于项目中既用到了seata,也用了sharding-jdbc,并且之前同事对他们进行改造,为了知道改造的原因,我做了一些测试,发现seatasharding-jdbc同时使用时确实会出现问题,所以写这篇文章来记录一下,并分享给有需要的朋友。如果时间不够,并且对seatasharding-jdbc的原理有一定了解的话,可以直接看最后的总结。

1点25的博客 2503

SpringCloud多数据源接入SeataShardingJDBC最佳实践

手动配置seatasharding-jdbc数据源的方式进行整合,通过@GlobalTransactional进行分布式事务的使用,分库分表前的seata使用上没有区别

ajiong的博客 1641

Sharding-JDBC 分布式事务实战指南:XA/Seata 方案解析(三)

本文介绍了Sharding-JDBC分布式事务的两种实现方案:XA事务BASE事务(Seata AT模式)。XA事务采用2PC协议保证强一致性,适用于金融交易等场景;BASE事务通过Seata实现最终一致性,适合高并发电商场景。文章详细讲解了两种事务的实战步骤,包括依赖引入、配置设置代码实现,并分析了它们的底层原理:XA事务通过两阶段提交协议协调多库操作,Seata事务则通过TC、TM、RM三个核心组件实现分布式事务管理。同时提供了官方文档示例代码链接,帮助开发者快速上手Sharding-JDBC分布

gorgor在码农 1572

(2)分库分表—Sharding-jdbc

Sharding-JDBC 是当当网研发的开源分布式数据库中间件,从 3.0 开始Sharding-JDBC被包含在 Sharding-Sphere 中,之后该项目进入进入Apache孵化器,4.0版本之后的版本为Apache版本。ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,由Sharding-JDBCSharding-Proxy、Sharding-Sidecar(规划中)组成。Sharding-JDBC官网。

qq_45960341的博客 1305

ShardingJDBC(读写分离、分库分表、分布式事务)

ShardingJDBC(读写分离、分库分表、分布式事务)

usernamehui的博客 3669

Sharding-JDBC--分库分表+seata

本文以实例整合sharding-jdbc-spring-boot-starter:4.1.1、spring-cloud-starter-alibaba-seata:2.2.3.RELEASE、seata-spring-boot-starter:1.4.1、mybatis-plus-boot-starter:3.4.1的动态数据源

IT利刃出鞘的博客 2643

Sharding-JDBC分布式事务之(五)BASE事务(Seata框架——AT模式的启动)

Seata框架——AT模式的启动 Sharding中如何运用AT

ra__4的博客 2427

Sharding-JDBC分布式事务总结(四)之BASE事务(Seat框架中——AT模式的介绍以及理解)

Sharding分布式事务之BASE事务(以及Seat框架中——AT模式)1.什么是BASE事务2.Seata框架的AT模式2.1介绍2.2原理2.3特性(写隔离与读隔离)AT模式的**写隔离**读隔离2.4优势(相较于XA事务)2.5启动 1.什么是BASE事务 BASE是Basically Available(基本可用)、Soft state(软状态)Eventually consistent(最终一致性)三个短语的缩写。 1、基本可用 基本可用是指分布式系统在出现不可预知故障的时候,允许损失部分可用

ra__4的博客 1860
下一篇: Sharding-Sphere新官网今日重装上线
ShardingSphere
博客等级 码龄7年 439粉丝 137原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值