Apache ShardingSphere:由开源驱动的分布式数据库中间件生态

简介: 2021 年 7 月 21 日 2021 亚马逊云科技中国峰会现场,SphereEx 联合创始人、Apache ShardingSphere PMC 潘娟受邀参与此次峰会,以《Apache ShardingSphere 分布式数据库中间件开源生态构建》为主题,围绕开源理念扩散、社区建设、ShardingSphere 如何践行 Apache Way 等方面展开了介绍,本文总结自潘娟内容分享。

**01
在数据库之上与业务之下的新生态
一层贴近应用,一层贴近 DataBase。**

不同的行业、不同的用户、不同的定位、不同的需求....如今的数据库面临着比过去更加复杂的数据应用场景以及愈发个性化和定制化的数据处理需求。愈发苛刻的生产环境,也在推动着不同的数据库不断将数据读写速度、延时、吞吐量等性能指标发挥到极致。

久而久之,分工明确的数据应用场景逐渐导致了数据库市场的碎片化,且难以出现一款能够完美适配所有场景的数据库。在不同的业务场景下选择不同的数据库,已经成为一种常见的企业选型方法。

但同样,这种百花齐放的数据库形态,也会带来『百花齐放』的问题。但从宏观的角度来看,这些问题之间是存在共性的,是可以被抽离出来并形成一套事实标准的。如果能够在这些百花齐放的数据库之上构建能够统一应用管理数据的平台层,就可以在屏蔽底层数据库差异的前提下,按照固定标准来进行开发,这种标准化解决方案将会极大缩减用户管理基础数据设施的压力和学习成本。

Apache ShardingSphere 就是位于这一层,通过复用原有数据库的能力,能够帮助技术团队在此之上实现如分片、加密解密等增量能力的开发,且向下不需考虑底层数据库的配置,向上又能够屏蔽用户感知,从而快速构建起面向业务的数据库直连能力,轻松管理大规模的数据集群。

**02
如何践行 Apache Way
Sharding**

ShardingSphere 可同时叠加使用多个功能来满足用户的多样化需求。

随着业务体量的增大,单体数据库难以支撑大体量业务时,就有必要对数据库进行横向扩展,这就必然要面临着分布式管理的问题。ShardingSphere 通过在数据库之上构建一层热插拔功能层,并提供传统数据库的操作模式,屏蔽使用者对底层数据库变化的感知,赋予开发者使用单体数据库的方式来管理大规模数据库集群的能力。其中,ShardingSphere 主要包含以下四种应用场景:

Sharding 策略

业务体量增大时,所面临的数据分片压力就会随之增加,所对应的分片策略相应就会被设计的更加复杂。ShardingSphere 能够以灵活、易扩展的方式,以最低成本协助用户在原本水平扩展之外做更多的分片策略,同时也支持自定义扩展的能力。

读写分离

通常情况下实现主从部署能够有效缓解数据库的压力,但如果某一个集群下的机器或库表出现问题,无法进行正常读写操作,就会对业务造成比较大的影响。为避免业务不可用,通常需要开发者重新写一套高可用的策略来实现读写库表的主从切换。ShardingSphere 可以自动探索所有集群的状态,在第一时间发现请求不可靠、底层数据库发生主从切换等问题,并可以在表层用户没有产生感知的前提下自动恢复主从状态。

Sharding Scaling

随着业务的增长,可能会需要对此前拆分过的数据集群进行再一次拆分。ShardingSphere 配套的 Scaling 组件,只需一条 SQL 命令就可以启动任务,并在后台实时展示运行状态。通过 Scaling 这种『管道』,使旧的数据库生态和新的数据库生态重新连接起来。

数据加解密

在数据库的应用中,对于关键数据的加解密也是非常重要的一部分。如果原有系统监控能力不达标,部分敏感数据可能是以明文的状态存储的,后期需要对其进行加密处理,这是许多团队普遍存在的问题。ShardingSphere 通过对这部分能力进行标准化并集成在中间件生态上,自动化用户对新、旧业务的数据脱敏以及加解密的过程,整个过程实现了用户层面的无感知。同时支持多种内置的数据加解密/脱敏算法,用户也可根据自身情况来自定义扩展相应的数据算法。

构造数据的接入神经:可插拔的 Database Plus 平台

面对各种各样的需求以及使用场景,ShardingSphere 为不同领域的开发者提供了面向 Java 的 JDBC、面向异构的代理端以及面向上云的 Sidecar 端这三种接入形式,用户可以按具体需求来做选型,在原有集群之上来做分片、读写分离、数据迁移等相关操作。

JDBC 接入:完全以 JDBC 的方式去使用,可以理解为一款增强的 JDBC 驱动程序,完全兼容 JDBC 和各种 ORM 框架,不需额外的部署和依赖即能够实现分布式管理、水平拓展、脱敏等一系列操作;

Proxy 接入:以模拟数据库服务的形式,通过 Proxy 来管理底层真实的数据库集群,基本无需对业务进行改造;

云上 mesh 接入:为 ShardingSphere 提供公有云上的部署形式。在云上,目前 SphereEx 已经加入了亚马逊云科技的云创计划,后续会在中国区和海外陆续在 Marketplace 与亚马逊云科技展开深度合作,为亚马逊云科技上的用户提供更加强大的 Proxy 镜像部署能力,共同为企业应用打造更加成熟的云上环境。

如果你想开发小程序或者APP的话,可以通过第三方专业开发平台,来帮助你实现开发需求:厦门在乎科技-专注厦门小程序开发公司、app开发、网站开发

相关文章
|
9月前
|
消息中间件 存储 Kafka
分布式消息中间件设计与实现
本文深入探讨了消息中间件的核心功能实现与高并发、高可用设计。在生产者设计中,涵盖消息构造、序列化、路由策略及可靠性保障(如ACK机制)。消费者部分分析了拉取/推送模式、分区分配与消息确认机制。同时,Broker作为核心组件,负责消息路由、存储和投递,并通过索引技术实现快速检索。 高并发设计方面,重点讨论了文件存储(顺序写入、分段存储)、日志结构存储及负载均衡策略(如哈希分区、轮询分区)。为确保高可用性,文章详细解析了主从复制、故障转移机制以及同城/异地多活容灾方案。
|
7月前
|
存储 关系型数据库 分布式数据库
喜报|阿里云PolarDB数据库(分布式版)荣获国内首台(套)产品奖项
阿里云PolarDB数据库管理软件(分布式版)荣获「2024年度国内首版次软件」称号,并跻身《2024年度浙江省首台(套)推广应用典型案例》。
|
11月前
|
Cloud Native 关系型数据库 分布式数据库
登顶TPC-C|云原生数据库PolarDB技术揭秘:Limitless集群和分布式扩展篇
阿里云PolarDB云原生数据库在TPC-C基准测试中以20.55亿tpmC的成绩刷新世界纪录,展现卓越性能与性价比。其轻量版满足国产化需求,兼具高性能与低成本,适用于多种场景,推动数据库技术革新与发展。
|
7月前
|
存储 NoSQL MongoDB
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
321 8
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
|
7月前
|
存储 监控 分布式数据库
ClickHouse分布式数据库动态伸缩(弹性扩缩容)的实现
实现ClickHouse数据库的动态伸缩需要持续的维护和精细的操作。从集群配置到数据迁移,再到监控和自动化,每一步都要仔细管理以确保服务的可靠性和性能。这些活动可以显著提高应用的响应性和成本效率,帮助业务根据实际需求灵活调整资源分配。
413 10
|
8月前
|
存储 关系型数据库 分布式数据库
【赵渝强老师】基于PostgreSQL的分布式数据库:Citus
Citus 是基于 PostgreSQL 的开源分布式数据库,采用 shared nothing 架构,具备良好的扩展性。它以插件形式集成,部署简单,适用于处理大规模数据和高并发场景。本文介绍了 Citus 的基础概念、安装配置步骤及其在单机环境下的集群搭建方法。
710 2
|
10月前
|
Cloud Native 关系型数据库 分布式数据库
登顶TPC-C|云原生数据库PolarDB技术揭秘:Limitless集群和分布式扩展篇
云原生数据库PolarDB技术揭秘:Limitless集群和分布式扩展篇
|
9月前
|
消息中间件 存储 中间件
分布式消息中间件基础
消息中间件是一种基于异步消息传递的分布式系统通信工具,核心功能包括消息传输、存储、路由与投递,能够实现系统解耦、异步处理和流量削峰。其主要组件包括生产者、消费者、Broker、主题/队列等,支持点对点和发布-订阅两种消息模型。主流中间件如Kafka(高吞吐)、RabbitMQ(灵活路由)、RocketMQ(事务支持)各有特色,适用于不同场景。此外,中间件还涉及多种协议(AMQP、MQTT等)、可靠性传输机制(持久化、确认机制)、顺序性与重复性问题解决以及事务支持(两阶段提交、本地消息表等)。选择中间件需根据业务需求权衡性能、功能和运维成本。
|
9月前
|
安全 Apache 数据库
【倒计时3天】NineData x Apache Doris x 阿里云联合举办数据库技术Meetup,5月24日深圳见!
5月24日,NineData联合Apache Doris与阿里云在深圳举办数据库技术Meetup。活动聚焦「数据实时分析」与「数据同步迁移」两大领域,邀请行业专家分享技术趋势、产品实践及解决方案,助力企业构建高效安全的数据管理体系。时间:14:00-17:30;地点:深圳新一代产业园2栋20楼会议室。线下名额有限(80人),速报名参与深度交流!
252 1