Sharding-Sphere 3.X今日瞩目登场&如约而至!

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

点击上方蓝字关注我们

640?wx_fmt=jpeg


码农少闲月,五月人倍忙!Sharding-Sphere在经历公投改名、新官网上线、版权转移等一系列重大变革后,终于迎来了它的3.X新时代!今日,Sharding-Sphere 3.X在万众瞩目中如约而至,重装发布!


明星档案

从Sharding-JDBC到Sharding-Sphere,老铁粉陪它一同走过,新朋友也在陆续加入。Sharding-Sphere是什么?做什么?做的如何?三大经典提问帮助新老朋友一同温故知新。

640?wx_fmt=png

Sharding-Sphere是什么?

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

Sharding-Sphere定位为关系型数据库中间件,旨在充分合理地在分布式的场景下利用关系型数据库的计算和存储能力,而并非实现一个全新的关系型数据库。它与NoSQL和NewSQL是并存而非互斥的关系。NoSQL和NewSQL作为新技术探索的前沿,是非常值得推荐的。而Sharding-Sphere关注未来不变的东西,进而抓住事物本质。关系型数据库当今依然占有巨大市场,是各个公司核心业务的基石,我们目前阶段更加关注在原有基础上的增量,而非颠覆。其架构如下图所示:

640?wx_fmt=png640?wx_fmt=png

Sharding-Sphere家族都有谁?

Sharding-JDBC, Sharding-Proxy以及Sharding-Sidecar 共同组成了Sharding-Sphere。他们分别定位、适用于不同的应用场景。您也可以将他们组合使用以得到增益的性能表现。

1. Sharding-JDBC

Sharding-JDBC是Sharding-Sphere的第一个产品,也是Sharding-Sphere的前身。 它定位为轻量级Java框架,在Java的JDBC层提供分库分表、读写分离、数据库治理、柔性事务等服务。它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架。

2. Sharding-Proxy

Sharding-Proxy是Sharding-Sphere的第二个产品。 它定位为透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持。 Sharding-Proxy屏蔽了底层的分库分表,您可以像使用一个简单的数据库一样来操作分库分表的数据。目前提供MySQL版本,它可以使用任何兼容MySQL协议的访问客户端(如:MySQL Command Client, MySQL Workbench等)来访问Sharding-Proxy,进而进行DDL/DML等操作来变更数据,对DBA更加友好。

3. Mixed scheme of Sharding-JDBC & Sharding-Proxy

为了得到更好的性能以及友好的交互体验,您可以同时使用Sharding-JDBC和Sharding-Proxy。

线上应用使用Sharding-JDBC直连数据库以获取最优性能,使用MySQL命令行或UI客户端连接Sharding-Proxy方便的查询数据和执行各种DDL语句。它们使用同一个注册中心集群,通过管理端配置注册中心中的数据,即可由注册中心自动将配置变更推送至JDBC和Proxy应用。若数据库拆分的过多而导致连接数会暴涨,则可以考虑直接在线上使用Sharding-Proxy,以达到有效控制连接数的目的。其架构如下如所示:

640?wx_fmt=png

4. Sharding-Sidecar

Sharding-Sidecar是Sharding-Sphere的第三个产品,目前仍处在孵化中。 定位为Kubernetes或Mesos的云原生数据库代理。其核心思想是Database Mesh,即通过无中心、零侵入的方案提供与数据库交互的啮合层。关注重点在于如何将分布式的数据访问应用与数据库有机串联起来。

640?wx_fmt=png

 Sharding-Sphere的功能特性

1. 分库分表

为解决关系型数据库面对海量数据由于数据量过大而导致的性能问题,将数据进行分片是行之有效的解决方案,而将集中于单一节点的数据拆分并分别存储到多个数据库或表,称为分库分表。作为分布式数据库中间件,我们的目标是透明化分库分表所带来的影响,让使用方尽量像使用一个数据库一样使用水平拆分之后的数据库。

2. 读写分离

面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。 对于同一时间有大量并发读操作和较少写操作类型的应用系统来说,将单一的数据库拆分为主库和从库,主库负责处理事务性的增删改操作,从库负责处理查询操作,能够有效的避免由数据更新导致的行锁,使得整个系统的查询性能得到极大的改善。透明化读写分离所带来的影响,让使用方尽量像使用一个数据库一样使用主从数据库,是读写分离中间件的主要功能。

3. 柔性事务

对于分布式的数据库来说,强一致性分布式事务在性能方面存在明显不足。追求最终一致性的柔性事务,在性能和一致性上则显得更加平衡。 Sharding-Sphere目前支持最大努力送达型柔性事务,未来也将支持TCC柔性事务。若不使用柔性事务,Sharding-Sphere也会自动包含弱XA事务支持。

4. 数据治理

Sharding-Sphere提供注册中心、配置动态化、数据库熔断禁用、调用链路等治理能力。

本期看点

相信很多朋友都想知道今天与大家隆重见面的3.X究竟给大家带来了什么新体验,下面让我们一睹为快吧~

Sharding-Sphere 3.X新功能:

  1. Sharding-Proxy MySQL版本上线,支持DML/DDL/DAL/DQL等基本 SQL。屏蔽底层所有分库分表,可像使用单一MySQL数据库一样处理分库分表数据。

  2. 新增对OR SQL语句的支持,例如:select * from t_order where (id>10 and id<20) or status=‘init’;

  3. 新增对INSERT批量插入的支持,例如 insert into t_order(order_id, user_id, status) values (1, 2, ‘init’), (2, 3, ‘init’), (3, 4, ‘init’);

  4. 优化对INSERT SQL语句的支持,主要包括不指定具体列进行INSERT操作,例如:insert into t_order values(1, 2,‘init’);

  5. 增加解析引擎对SQL的缓存,进一步提升解析性能。

  6. Sharding-JDBC新增对InlineExpression占位符$->{}的支持。


新的产品、新的特性、新的优化是不是让你眼前一亮?那就赶快把Sharding-Sphere 3.X用起来吧!


暖心Tips:

① 使用Sharding-JDBC可加入以下Maven依赖:

640?wx_fmt=png

② 使用Sharding-Proxy,可在这里下载:

https://github.com/sharding-sphere/sharding-sphere-doc/raw/master/dist/sharding-proxy-3.0.0.M1.tar.gz

此外,我们的DOCKER下载命令如下所示:

docker pull shardingsphere/sharding-proxy

星路历程

Sharding-Sphere自2016开源以来,不断精进、不断发展,被越来越多的企业和个人认可:在Github上收获4000+的star,1700+forks,60+的各大公司企业使用它,为Sharding-Sphere提供了重要的成功案例。此外,越来越多的企业伙伴和个人也加入到Sharding-Sphere的开源项目中,为它的成长和发展贡献了巨大力量。

未来,我们将不断优化当前的特性,精益求精;同时,大家关注的柔性事务、数据治理等更多新特性也会陆续登场。Sharding-Sidecar也将成为云原生的数据库中间件!

愿所有有识之士能加入我们,一同描绘Sharding-Sidecar的新未来!

愿正在阅读的你也能助我们一臂之力,转载分享文章、加入关注我们!

Sharding-Sphere

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

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

项目地址:

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

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

更多信息请浏览官网:

http://shardingsphere.io/

或加入Sharding-Sphere官方讨论群

640?wx_fmt=jpeg    640?wx_fmt=jpeg


感谢您的支持与关注

我们将不忘初心,不负众望!

640?wx_fmt=png


ShardingSphere应用专题–4.1.1版本–Sharding-UI的使用(十五) 前言 1.基础的环境介绍请移步ShardingSphere应用专题–4.1.1版本–sharding jdbc环境搭建(四) 你可以同时打开两个页面,避免因查找原始配置上下翻动。 2.ShardingSphere官方文档更新不及时,很容易踩坑。贴出的4.x版本文档实际是4.0.1版本的,如果你准备使用该版本可以参考官方文档。本文使用的是此时最新的正式版本4.1.1版本,配置与官方文档配置不同。事实上,源码中有非常详细的版本配置文档,本文也是参考4.1.1 tag的源码配置。 3.ShardingSphere 阅读详情

相关推荐

【springCloud系列】springCloud+mybatisPlus+druid+shardingsphere4.1 实现mysql数据库的读写分离 + 多数据源

参考:Apacheshardingsphere官网官方Githab 开源shardingsphere-example 需要引入的包: &lt;properties&gt; &lt;sharding-sphere.version&gt;4.1.0&lt;/sharding-sphere.version&gt; &lt;/properties&gt; &lt;dependencies&gt; &lt;dependency&gt; ..

seowen的开发 小本子 2762

sharding-ui配置使用教程

使用目的 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;前段时间在用sharding-proxy进行分库分表,现在又有了ui界面管理的需求,因此选择使用sharding-ui。但由于这是apache刚起手的项目,不同版本间差距很大(这里特指4.1.0与4.1.1)、网上资料也很少,因此再经过大半天摸索后总结一下内容。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这里先感谢下以下这篇有道云笔记,帮助我解决了很多问题:sharding

qq_41072148的博客 2067

ShardingSphere同时实现分库分表和读写分离,分库分表不生效问题

问题产生的配置,依赖 &lt;sharding-sphere.version&gt;4.0.0-RC1&lt;/sharding-sphere.version&gt; #这种配置(spring.shardingsphere.masterslave这一层)会导致分库分表的配置不生效, masterslave: # 配置主从名称,可以任意取名字 name: ms # 配置主库master,负责数据的写入 master-data-source-name: ds0 # 配置从库sl

qq_33763772的博客 1922

sharding-proxy和sharding-ui 简介与v5.0.0-beat版本搭建配置

文章目录简介目标相关知识相关概念ShardingSphere-Proxy部署运行1. 安装zookeeper2. 下载解压SHARDINGSPHERE_PROXY3. 规则配置数据源配置权限配置4. 引入依赖5. 启动服务6. 使用ShardingSphere-ProxyShardingSphere-UI简介部署运行配置使用后续 简介 Apache ShardingSphere 是一套开源的分布式数据库解决方案组成的生态圈,它由 JDBC、Proxy 和 Sidecar(规划中)这 3 款既能够独立部署,

闫玉林的博客 1628

sharding-ui实现sharding-proxy动态更新分库分表规则

前言 之前搭建了sharding-proxy,提供给客户端只有一个数据库连接,但是每次更新都需要重启服务,比较麻烦,看了下官方文档,支持zookeeper更新,还提供了页面更新,这里给出详细的搭建步骤。 环境 中间件 版本 zookeeper 3.4.13 sharding-proxy 4.1.1 sharding-ui 4.1.1 zookeeper搭建 这个之前搭建过,可以查看之前的文章。 shardingsphere 下载地址:https://github.com/ap.

batman 3194

JAVA开发(ShardingSphere提供分库分表功能)

在高性能系统的要求下,复杂的系统当单表数据量增加到几千万甚至上一条记录时,查询延迟无疑是影响高性能系统的瓶颈。业内提供的解决的方案是分库分表,意思是将数据量大的库进行分开,数据量大的表进行分割。通常有横向分割和纵向分割两种模式,其中横向分割较容易。但是当进行数据库分库分表,就产生了另外的问题,就是分布式问题。此时就需要封装一个强大的工具进行屏蔽,使我们在写代码的时候就像只对一个数据库或者一个表进行操作一样。这时ShardingShere就应运而生了。

JAVA领域优质创作者,基于分片网络查询方法专利发明者。 1294

[Shardingsphere]sharding-ui的安装与使用

ShardingSphere提供了界面治理模块——sharding-ui,通过sharding-ui可以快速维护sharding-proxy集群。 文章目录一、安装1.下载2.安装和配置二、配置与使用1.添加注册中心2.配置管理3.运行状态 一、安装 1.下载 https://shardingsphere.apache.org/document/current/cn/downloads/ 2...

从前有座无庙山 7936

ShardingSphere 5.3 系列升级解读:Spring 配置升级指南

背景在 5.3.0 版本以前,ShardingSphere-JDBC 同时支持 Java API、YAML、Spring Boot Starter 和 Spring Namespace 等配置方式。其中,为兼容 Spring 的配置方式,给社区带来了以下难题:当新增或更新 API 时,需要调整多项配置文件,工作量大。社区需要维护多重配置文档 &amp;示例。Spring Bean 生命周期管理易...

ShardingSphere官微 1万+

sharding-proxy+sharding-ui安装使用配置

sharding-proxy+sharding-ui安装使用配置 sharding官网 https://shardingsphere.apache.org/document/current/cn/manual/sharding-proxy/ 运行mysql(已运行则略) 启动zookeeper(已启动则略) sharding-proxy安装启动配置 下载sharding-proxy...

qq_29860591的博客 2665

sharding-ui的安装与使用

一、安装 1.下载 https://shardingsphere.apache.org/document/current/cn/downloads/ 2.安装和配置 (1)解压: [root@database ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/shardingsphere/shardingsphere-ui-4.1....

qq_29860591的博客 859

Apache ShardingSphere 一文读懂

关于 Apache ShardingSphereApache ShardingSphere 是一款开源分布式数据库生态项目,由 JDBC、Proxy 和 Sidecar(规划中) 3 款产品组成。其核心采用可插拔架构,通过组件扩展功能。对上以数据库协议及 SQL 方式提供诸多增强功能,包括数据分片、访问路由、数据安全等;对下原生支持 MySQL、PostgreSQL、SQL Server、Oracle 等多种数据存储引擎。Apache ShardingSphere 项目理念,是提供数据库增强计算服务平台,进

zhouzhiwengang的专栏 3183

Sharding-Proxy分库分表、读写分离配置

1、简介 Apache ShardingSphere 是一套开源的分布式数据库增强计算引擎,由 JDBC、Proxy 和 Sidecar(规划中) 3 款产品组成。其通过可插拔架构构建基于数据库之上的生态系统,实现包括数据分片、弹性伸缩、加密脱敏等功能为代表的增强能力。 ShardingSphere 已于2020年4月16日成为 Apache 软件基金会的顶级项目。 Sharding-Proxy定位为透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持。

river106的博客 2269

ShardingSphere数据库中间件基础学习

ShardingSphere一、SharingJdbc简介1、概述2、Sharding-Jdbc介绍3Sharding-Proxy介绍4、ShardingSphere-Sidecar(TODO)5、三种组件对比6、ShardingJdbc混合架构7、功能列表8、ShardingSphere数据分片内核剖析二、MySql主从复制1、概述2、主从复制原理3、Mysql配置1、Master节点配置`/etc/my.cnf` (master节点执行)2、Slave节点配置`/etc/my.cnf` (slave节

Shawn的个人博客 1419

ShardingSphere jdbc集成多数据源

最近有个项目的几张表,数量级在千万以上,技术栈是SpringBoot+Mybatis-plus+MySQL。如果使用单表,在进行查询操作,非常耗时,经过一番调研,决定使用分表中间件:ShardingSphereShardingSphere今年4月份成为了 Apache 软件基金会的顶级项目,目前支持数据分片、读写分离、多数据副本、数据加密、影子库压测等功能,同时兼容多种数据库,通过可插拔架构,理想情况下,可以做到对业务代码无感知。 ShardingSphere下有两款成熟的产品:sharding jdb

读钓的博客 7040

shardingsphere初体验-shardingsphere-UI

shardingsphere初体验-shardingsphere-UIshardingsphere初体验-shardingsphere-UI官方介绍下载链接体验shardingsphere-ui shardingsphere初体验-shardingsphere-UI 官方介绍 ShardingSphere-UI 是 ShardingSphere 的一个简单而有用的web管理控制台。它用于帮助用户更简单的使用 ShardingSphere 的相关功能,目前提供注册中心管理、动态配置管理、数据库编排等功能。 项

可惜没如果的博客 1027

ShardingSphere集成SpringBoot实现分库分表(一)-分库

项目中主要用到Sharding-JDBC,Sharding-JDBC定位为轻量级Java框架,在Java的JDBC层提供的额外服务。它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架的使用。actual-data-nodesds-$->{0..1}.user$会被大括号中的{0…1}所替换生成对应的结果为ds-0.user和ds-1.user。通过Sharding-JDBC,应用可以。...

weixin_39643007的博客 3349

SpringBoot 整合 ShardingSphere4.1.1实现分库分表

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

nuoya989的博客 6361

Sharding-Sphere 整合SpringBoot】

Sharding-Sphere 整合SpringBoot

jike11231的博客 2110

ShardingSphpere分库分表一

ShardingSphere分库分表

flying86的博客 753
上一篇: Shrading-Sphere著作版权将完全归属社区
下一篇: Sharding-Sphere的新一代Zookeeper注册中心实现剖析
ShardingSphere
博客等级 码龄7年 439粉丝 137原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值