Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >星标19.8k的Apache顶级项目,助你做好云计算时代数据库管理

星标19.8k的Apache顶级项目,助你做好云计算时代数据库管理

作者头像
程序猿DD
发布于 2025-02-10 07:34:57
发布于 2025-02-10 07:34:57
650
举报
文章被收录于专栏:程序猿DD程序猿DD

01

云计算时代数据库管理的难题

云计算时代的到来,使得云原生数据库日益重要,它通过提供可扩展性、高可用性和按需资源分配,满足了现代应用程序对弹性和灵活性的需求。随着多云混合云策略的普及,云原生数据库在确保数据一致性、安全性和合规性方面也发挥着关键作用。

由于数据库种类繁多,一方面,开发人员往往要花费大量时间学习使用 SDK(Software Development Kit,软件开发工具包)和 SQL 方言。另一方面,这也导致技术栈更加复杂,造成数据库的应用与管理存在以下行业痛点:

· 低效的数据库管理:DBA(数据库管理员)需要对用到的多种数据库进行深入研究,才能实施监控与优化,这增加了生产环境中数据库的维护开销,效率低下。

· 新需求和日益频繁的迭代:要实现类似的需求,就需要为适配数据库编写大量代码,这样就会影响系统的正常功能迭代。

· 数据库间兼容性缺失:异构数据库之间缺少统一标准,无法以协调一致的方式使用这些数据库。

数据库面临的挑战

针对以上行业痛点,一个 Apache 顶级开源项目——Apache ShardingSphere——给出了解决之道。该项目社区活跃,目前在 GitHub 星标超过 19.8k,它提供了标准化的数据分片、分布式事务和数据库治理功能,适用于多种应用场景。

如何在企业中用好 ShardingSphere?《Apache ShardingSphere 权威指南》这本书就从底层架构到上层组件,讲透了 ShardingSphere 的精髓与应用方法,可以帮助开发人员与 DBA 做好云原生数据库管理的工作。

我们先来了解一下 ShardingSphere 扬名业界的三大法宝。

02

ShardingSphere 的三大法宝

从本质上说,ShardingSphere 是一个独立的数据库中间件平台,它基于 Database Plus,旨在构建异构数据库上层的标准和生态,并补充数据库所缺失的能力。

ShardingSphere 关注的是如何充分合理地利用数据库的计算和存储能力,而非实现一个全新的数据库。所以,它取得成功的三大法宝(也是核心特性)是连接、增强、可插拔,下面详细说明。

· 连接:兼容既有数据库,统一数据库入口(数据库网关),使得用户可以透明地访问数据库及其外围生态圈。

· 增强:捕获数据库入口,并提供多种功能,包括分片、读写分离和影子库、数据加密数据脱敏、安全性、审计和授权、熔断、访问限制与分析、服务质量(Quality of Service,QoS)和可观测性等。

· 可插拔:允许功能组件以可插拔的方式进行扩展,划分为 L1 内核层、L2 功能层、L3 生态层。这种设计使得开发者可以像使用积木一样定制系统,可扩展性强,对开发人员友好。

内部结构

ShardingSphere 包含两个独立核心组件,分别是 ShardingSphere-JDBC 和 ShardingSphere-Proxy。在实际生产环境中,可根据业务需要混合部署这两款组件,以获得最优效果。

1. ShardingSphere-JDBC:轻量级的 Java 框架,直接嵌入 Java 应用中,无须额外部署或依赖。它对原生 JDBC 进行了增强,支持任何兼容 JDBC 的数据库,并且完全兼容各种 ORM 框架。

2. ShardingSphere-Proxy:独立的数据库代理端,对异构语言提供支持。它提供了 MySQLPostgreSQL 协议的支持,能够透明化数据库操作,让 DBA 更加友好地管理数据库。

系统拓扑结构

本书名称中含有“权威”二字,是因为作者团队就是对 ShardingSphere 最有发言权的人,我们来认识一下各位技术大神。

潘娟,SphereEx 联合创始人兼首席技术官(CTO)。Apache 基金会会员和孵化器导师、Apache ShardingSphere 项目管理委员会(Project Management Committee,PMC)成员,专注于分布式数据库和中间件生态及开源领域,被评为中国开源先锋人物、OSCAR 尖峰开源人物、CSDN IT 领军人物、掘金引力榜年度新锐人物。

张亮,SphereEx 公司创始人兼首席执行官(CEO)。Apache ShardingSphere 创始人和 PMC 主席,Apache 基金会会员,数据库领域知名实践者,拥有超过 10 年的数据库领域探索、实践经验,热爱开源,擅长分布式架构,推崇优雅代码。曾在多个大型互联网集团公司任职架构、数据库团队负责人。在 ICDE 发表论文“Apache ShardingSphere—A Holistic and Pluggable Platformfor Data Sharding”。

亚幸·西·塔伊布(Yacine Si Tayeb)博士是 Apache 基金会的贡献者,也是 Apache ShardingSphere 社区的关键贡献者和社区建设者。

跟随这三位大神,我们一起来学习三步吃透 ShardingSphere。

03

走好三步吃透ShardingSphere

ShardingSphere 的特性有助于解决规模化数据库管理的难题,本书为读者规划了一条从理论入门到安装应用的“三步走”学习路径。读者在学习前要预备一些基础知识,包括了解一个数据库产品的基本操作,会使用 SQL 语言。

第一步:掌握基础知识

第一步先是说明了数据库管理系统(DBMS)在现代生产环境中面临的挑战,以及数据库开发人员角色的演变。通过深入探讨 DBMS 的未来发展方向,读者可以了解到 ShardingSphere 生态及其核心概念。

书中还详细介绍了 ShardingSphere 的架构,包括其分布式数据库架构、Database Plus 理念、部署架构和插件平台,为读者提供了坚实的理论基础。

ShardingSphere功能架构

第二步:安装与配置

在基础知识的铺垫之后,本书进入第二步:ShardingSphere 的安装与配置。本部分详细介绍了 ShardingSphere-JDBC 和ShardingSphere-Proxy 的安装步骤,以及如何配置它们以满足不同的应用场景。

无论是通过二进制包、Docker,还是通过 YAML 配置,读者都可以获得清晰的指导,确保能够顺利地在现有基础设施中部署和配置ShardingSphere。

第三步:应用与测试

第三步重点学习 ShardingSphere 的应用与测试。书中介绍了利用 ShardingSphere 进行分布式数据库解决方案的构建、数据库安全加固、全链路监控和数据库网关配置,还提供了丰富的测试场景,包括分布式数据库、读写分离、影子库等。

分布式解决方案架构

通过这些实践指导,读者可以学会如何在各种场景中对 ShardingSphere 进行基准测试和性能测试,确保部署的解决方案能够满足性能要求和安全要求。

经过这三步学习,读者不仅能够深入了解 ShardingSphere 的知识,还能应用于实际工作中,轻松化解数据库管理的难题。

04

结语

《Apache ShardingSphere 权威指南》全面深入地探讨了基于 Apache ShardingSphere 的分布式数据库解决方案。由 ShardingSphere 开源项目的创始人担纲的作者团队,使得本书成为该领域的技术指南。

本书的一大特点是技术前沿,紧跟当前数据库技术的发展趋势,深入讲解了 Apache ShardingSphere 的各个方面,包括架构、特性,以及在分布式数据库领域的应用。

作为权威指南,本书理论基础非常扎实,详细解释了分布式数据库的核心技术和概念,提供了对 ShardingSphere 工作原理的深入分析。内容全面,涵盖了 ShardingSphere 生态中几乎所有的关键技术点。

精彩书摘

另一大特点是注重技术的应用实践,提供了大量的实践案例和详细的代码示例,帮助读者更好地理解和掌握 ShardingSphere 的实际应用。

配置代码示例

为了帮助读者更好地学习 ShardingSphere,作者团队还将书中所有代码发布在 GitHub 平台上,并且对代码保持更新,确保读者能够获取到最新的技术资源。读者在书中可以找到 GitHub 代码示例的地址。

想要简化数据库管理的开发人员、寻求强大分布式数据库管理解决方案的 DBA、计算机科学和软件工程等相关专业的学生和研究人员,以及感兴趣的朋友们,都可以从这本书中收获宝贵的知识与应用技能。

让数据库管理不再成为一件难事,就用好 ShardingSphere,吃透这本《Apache ShardingSphere 权威指南》吧!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-11-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序猿DD 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Kubernetes 环境下的数据库新命题
作者 | 潘娟 伴随着互联网应用场景逐渐深入到生活的各个角落,为了确保前端用户的使用体验,对互联网产品的后端架构性能提出了更高的需求。如今,开发以及运维人员正在将工作重心和优化重点放在了后端基础设施的可用性、一致性、扩展性、弹性以及全面自动化管理等能够提升效率的技术能力层面。 1 背景:Kubernetes 环境中的微服务与数据库   应用部署的变化   一方面,在处处充斥着大数据以及高并发场景的今天,后台技术人员往往会花费更多精力在解决『大规模业务数据的存储与应用』等问题上,以确保数据库等基础设施能够
深度学习与Python
2023/05/09
5850
Kubernetes 环境下的数据库新命题
五分钟快速了解Apache ShardingSphere分库分表
Apache ShardingSphere 是一款分布式的数据库生态系统, 可以将任意数据库转换为分布式数据库,并通过数据分片、弹性伸缩、加密等能力对原有数据库进行增强。
架构狂人
2023/10/24
3620
五分钟快速了解Apache ShardingSphere分库分表
打造基于 PostgreSQL/openGauss 的分布式数据库解决方案
Apache ShardingSphere Committer,SphereEx 中间件工程师。目前专注于 Apache ShardingSphere 及其子项目 ElasticJob 的研发。
落寞的鱼丶
2022/02/26
1.6K0
新版发布|ShardingSphere 5.0.0-beta 来了!
SphereEx co-founder, Apache member, Apache ShardingSphere PMC, Apache brpc(Incubating) mentor, 本次 Release manager。
SphereEx
2021/07/20
7660
新版发布|ShardingSphere 5.0.0-beta 来了!
DistSQL:像数据库一样使用 Apache ShardingSphere
曾就职于京东科技,负责数据库产品研发,热爱开源,关注数据库生态,目前专注于 ShardingSphere 数据库中间件开发以及开源社区建设。
SphereEx
2021/07/20
7250
MYSQLg高级-----分库分表是什么?(基本概念篇)
ShardingSphere 已于 2020 年 4 月 16 日成为 Apache 软件基金会的顶级项目。 欢迎通过邮件列表参与讨论。
默 语
2024/11/20
1330
MYSQLg高级-----分库分表是什么?(基本概念篇)
ShardingSphere介绍
ShardingSphere GitHub地址:https://github.com/apache/shardingsphere ShardingSphere 官网:https://shardingsphere.apache.org/index_zh.html
itze
2022/10/31
7880
ShardingSphere介绍
给力!斩获 GitHub 14000 Star,两周创办开源公司获数百万美元融资
作者 | 伍杏玲 出品 | AI 科技大本营(ID:rgznai100) 上世纪 90 年代初,21 岁大学生 Linus Torvalds 开源 Linux 操作系统,自此掀起全球开源浪潮。随后“中国 Linux 第一人”宫敏博士用手提肩背的方式将 20 盒磁带背回中国,磁带里装着 80G 容量的自由软件,组建起中国第一个自由软件库,点燃中国开源之火。 20 年时间滑过,中国开源力量在全球舞台上表现亮眼,喜讯不断,捷报连连:今年 3 月,开源被列入“十四五”规划;2020 年成立中国首个开源基金会开放原子
AI科技大本营
2023/05/08
2080
给力!斩获 GitHub 14000 Star,两周创办开源公司获数百万美元融资
常见的XA分布式事务管理方案Atomikos的实战与解析
ShardingSphere是一个开源的分布式数据库中间件,提供了分库分表、读写分离和分布式事务等功能。它由两个主要子项目组成:ShardingSphere-JDBC和ShardingSphere-Proxy。其中,ShardingSphere-JDBC可直接嵌入Java应用中,通过对JDBC层的封装,实现了分布式数据库实例的透明访问;ShardingSphere-Proxy则是一个独立的MySQL数据库代理,可对MySQL协议进行拦截和解析,实现数据库的水平切分。
一凡sir
2023/12/03
6720
常见的XA分布式事务管理方案Atomikos的实战与解析
十五张图带你快速入门 shardingsphere-proxy 5.5
Apache ShardingSphere 是一款分布式的数据库生态系统,它包含两大产品:
勇哥java实战
2024/08/25
9840
十五张图带你快速入门 shardingsphere-proxy 5.5
(一)ShardingSphere介绍
        随着版本不断更迭,ShardingSphere的核心功能也变得多元化起来。最开始Sharding-JDBC 1.x版本只有数据分片功能,到Sharding-JDBC 2.x版本开始支持数据库治理,如注册中心、配置中心等,再到3.x版本推出了Proxy产品,还增加了分布式事务,支持Atomikos、Narayana、Bitronix、Seata,4.x为Apache下的第一个版本,支持了更多种类的数据库,如今已经迭代到5.x版本。
用户1148526
2022/05/26
4.6K0
(一)ShardingSphere介绍
ShardingSphere 介绍与简单入门
于是,我将 Apache ShardingSphere 产品介绍与开发入门通篇阅读了一遍。
FoamValue
2020/09/24
6840
ShardingSphere 介绍与简单入门
Apache顶级项目ShardingSphere最近都在干啥?
1、我们知道ShardingSphere已经成为Apache的顶级项目,那相较于之前,有没有新的挑战呢?
田帅萌
2020/05/29
2K0
面试官三连问:你这个数据量多大?分库分表怎么做?用的哪个组件?
ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成。他们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、云原生等各种多样化的应用场景。
芋道源码
2020/12/08
2.1K0
面试官三连问:你这个数据量多大?分库分表怎么做?用的哪个组件?
Github顶级国产项目!京东白条是如何用ShardingSphere做数据分片的?
之前的文章中,我曾经多次提到一个用于数据分片的开源项目 ShardingSphere :
Guide哥
2021/10/21
1.1K0
书单 | 11月新书速递!Apache Pulsar首著来啦
👆点击“博文视点Broadview”,获取更多书讯 11月新书速递 虽然快到年底了,但是我们丝毫没有懈怠,依然快马加鞭地把好书源源不断地奉献给大家! 本月新书实在有些多,所以本期书单挑选了部分技术图书分享给大家,其中既有游戏界绝对的王者《腾讯游戏开发精粹II》,又有新锐技术Pulsar、SequoiaDB的相关著作,还有一应俱全的微服务一本通、有趣好玩的算法书和Python自动化办公图书,具体都有哪几本,快来看看吧~~ ----  01 ▊《腾讯游戏开发精粹Ⅱ》 腾讯游戏 著 腾讯官方出品,领域经
博文视点Broadview
2023/04/19
6350
书单 | 11月新书速递!Apache Pulsar首著来啦
架构揭秘:「京东白条」的数据架构进化之路
最近小伙伴在讨论单体到微服务架构中数据这块如何演进,相信这篇能给大家带来启发。 ---- 来源:SphereEx 链接:https://segmentfault.com/a/1190000041107436 排版:悟空哥 京东白条的快速发展满足了当前人们日益增长的消费需求。在京东商城上用京东白条来支付,已经成为一大批用户的消费习惯,更是在某种意义上成为了京东对外的『标签』。而作为一家互联网金融消费平台,京东白条的后台技术团队更是不容忽视的存在。而其也正是支撑京东白条自 2014 年初上线伊始,至今服务数亿用
范蠡
2022/05/12
2.1K0
架构揭秘:「京东白条」的数据架构进化之路
分布式数据库中间件——Apache ShardingSphere
京东数科数据研发负责人,Apache ShardingSphere发起人兼PPMC。
用户1682855
2019/03/19
2.8K0
分布式数据库中间件——Apache ShardingSphere
Apache ShardingSphere开源分布式数据库中间件应用详解
相比于数据分片方案的逐渐成熟,集性能、透明化、自动化、强一致、并能适用于各种应用场景于一体的分布式事务解决方案则显得凤毛麟角。基于两或三阶段提交的分布式事务的性能瓶颈以及柔性事务的业务改造问题,使得分布式事务至今依然是令架构师们头疼的问题。
京东技术
2019/05/05
1.3K0
Apache ShardingSphere开源分布式数据库中间件应用详解
看完这一篇,ShardingSphere-jdbc 实战再也不怕了
谈到分库分表中间件时,我们自然而然的会想到 ShardingSphere-JDBC 。
勇哥java实战
2023/02/28
1.9K0
推荐阅读
相关推荐
Kubernetes 环境下的数据库新命题
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档