阿里云RDS金融数据库(三节点版) - 背景篇

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 标签 PostgreSQL , MySQL , 三节点版 , 金融数据库 , Raft , 分布式共享存储版 背景 提到金融级数据库,大家可能不约而同的会想到Oracle,DB2等商业数据库。

标签

PostgreSQL , MySQL , 三节点版 , 金融数据库 , Raft , 分布式共享存储版


背景

提到金融级数据库,大家可能不约而同的会想到Oracle,DB2等商业数据库。但是随着开源数据库的发展,开源数据库正在逐渐成为数据库产业的核心,比如MySQL、PostgreSQL数据库 ,已经深入阿里、平安科技、苏宁、高德、国家电网(还有很多)的核心。可以看到,不管是MySQL还是PostgreSQL,有越来越多成功的核心应用案例。

目前还有一些金融企业核心数据库依旧是老牌的商业数据库,个人认为并不是这些商业数据库比开源数据库有多优秀,而是牵一发而动全身,非单纯技术层面的问题。特别是关系民生的金融行业,更换数据库可不是那么容易。

开源数据库在新生业务中是有巨大机会的,毕竟社会是在不断进步和发展的,老物件会逐渐成为人们的回忆,消失在历史的长河里。

不管是商业数据库,还是开源数据库,在金融行业混,都必须跨过一道坎:高可用。

(当然,不可否认,解决金融问题,除了高可用,还有更多,包括 功能,性能,SQL标准 方方面面。不在本系列文章讨论范畴)

硬件为王 - 传统数据库高可用架构

实际上扛起金融核心大旗的还不算Oracle,背后的硬件才是真正的王者,估计也是Oracle收购SUN的原因之一(感叹一下,SUN的ZFS至今无人能及)。

IBM 大机、小机、高端存储,以其稳定性、可用性、性能等方面的卓越表现征服了当时的市场。而软件层面,实际上更多的是围绕硬件来进行设计,包括Oracle的RAC架构,也是需要依赖共享存储的。

生态的原因,在硬件为王时代的数据库,由于硬件的强势,数据库软件依附这些硬件,这也是为什么又这么多基于共享存储的高可用的架构。

pic

传统数据库的高可用架构存在的问题

价格昂贵,集中式存储单点故障(好的存储可能会在 链路、机头、存储介质、电源模块、内部背板等 层面全面解决单点问题)

pic

如果存储层存在单点(不管是机头还是链路或者其他),软件层面需要再做一层mirror或RAID冗余,例如LVM,ZFS,ASM等技术,但是存储的强一致一定会引入RT(需要软件层弥补,例如事务分组提交、异步WAL等)。

pic

甚至大量的容灾方案,也是出自存储硬件厂商之手,因为除了硬件厂商,没有人更了解如何对存储实现异地冗余了。

弯道超车 - 开源数据库高可用架构

随着x86硬件架构(以及对应的软件生态freebsd,linux等)、SSD硬盘的发展,到现在GPU\FPGA\TPU等芯片及其软件生态的成长。开放性硬件在功能、软件生态、硬件性能等方面全面提升,以IBM为代表的封闭式硬件逐渐失去了核心地位。

业务的发展和开放性硬件生态的发展,助长了开源数据库的发展,MySQL、PostgreSQL数据库就是非常典型的代表。

开放性使得更多的用户可以获取到,更多的用户又助长了软件本身的发展,这使得最近10年开源数据库已经开始全面超越商业数据库。最典型的例子是PostgreSQL,从SQL兼容性,硬件生态对接(LLVM,向量计算,多核并行,GPU计算等),软件生态对接(PL/R, PL/JAVA, PL/Python, PL/CUDA, 机器学习库等等),扩展性(9种扩展索引接口支持各种类型的检索,扩展类型支持DNA、图像特征值、化学类型等,扩展语言接口、扩展外部数据源接口等),云生态(RDS PG OSS可并行读写OSS海量存储外部表)等各个方面全面超越商业数据库。

开源数据库通过内部的复制,实现了高可用架构的弯道超车。以MySQL为代表的binlog复制,以PostgreSQL为代表的stream replication。

开源数据库采样通用硬件,多节点,更低的成本,更优秀的扩展性,解决了用户的高可用问题。

两节点方案

pic

两节点的HA方案,属于廉价的解决方案,无法同时保证高可用和高可靠。

要保证高可靠(0数据丢失),就必须等BINLOG或WAL复制到备库才返回,备库只要稍有抖动或者备库故障,就会导致可用性下降。(也就是说,主备任何一个异常都会影响可用性)。

两节点方案采用自动降级机制,在备库正常的情况下,采用同步模式(数据需要写双份才返回给用户),保证可用性和可靠性。在备库异常时,则自动降级为异步,只能保证可用性(可靠性无法保证,如果此时主库挂了,备库恢复,发生HA切换,可能导致部分未同步的数据丢失)。

阿里云RDS率先推出三节点方案,同时保证数据库的高可靠和高可用,满足了金融行业高可用和零数据丢失的需求。

三节点方案

pic

可靠性保证:三节点方案中,用户在提交事务时,需要等待至少一个备库收到日志副本,才返回给用户事务成功结束的信号,确保数据库的可靠性(用户收到确认的事务,已持久化到多数派主机中)。

可用性保证:三节点方案中,即使一台服务器挂掉(无论哪台),也不影响业务的可用性,因为已提交的数据至少有2份副本,挂掉一台,还有至少1台主机是包含了已提交事务的持久化内容的。

多节点引入的世界问题

多节点同时解决了可用性、可靠性的问题。但是实现并非易事,在解决可用性问题时,会涉及到另一个问题,因为异常时需要选出一个新的主库,什么情况下开始选举?选谁?都是问题。

选主问题有一个非常著名的典故,拜占庭将军的问题。

以下截取自互联网:

拜占庭位于如今的土耳其的伊斯坦布尔,是东罗马帝国的首都。由于当时拜占庭罗马帝国国土辽阔,为了防御目的,军队相隔很远,将军与将军之间靠信差传消息。进行军事决策时,所有将军必需达成 “一致的共识”。但是,在军队内有可能存有叛徒和敌军的间谍,左右将军们的决定,在进行共识时,结果并不一定代表大多数人的意见。于是在已知有成员不可靠的情况下,其余忠诚的将军在不受叛徒或间谍的影响下如何达成一致的协议,拜占庭问题就此形成。

拜占庭假设是对现实世界的模型化,由于硬件错误、网络拥塞或断开以及遭到恶意攻击,计算机和网络可能出现不可预料的行为。和我们提到的三节点要解决的问题是一致的。

下一篇《阿里云RDS金融数据库(三节点版) - 理论篇》将讲解RDS三节点的理论基础 - Raft协议。

pic

系列文章

《阿里云RDS金融数据库(三节点版) - 背景篇》

《阿里云RDS金融数据库(三节点版) - 理论篇》

《阿里云RDS金融数据库(三节点版) - 性能篇》

《阿里云RDS金融数据库(三节点版) - 案例篇》

阿里云RDS金融数据库(三节点版)

阿里云RDS金融数据库 - MySQL三节点版

阿里云RDS金融数据库 - PostgreSQL三节点版(敬请期待)

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
21天前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
15天前
|
关系型数据库 OLAP 数据库
拒绝等待!阿里云瑶池数据库 x Qwen3,构建增强式RAG
阿里巴巴发布的通义千问Qwen3在性能上超越多个国际顶尖模型,阿里云瑶池数据库已适配该模型,支持私域部署并与Dify无缝集成。传统RAG方案在处理复杂关系和多跳推理时存在局限,而GraphRAG通过图结构存储知识,结合Qwen3和AnalyticDB PostgreSQL,可有效解决这些问题,提升知识关联检索与分析能力。某新零售客户案例表明,GraphRAG能更好地满足高复杂度业务需求,提供直观的知识图谱可视化服务。阿里云提供Qwen3全系列模型的私域部署解决方案,确保数据安全和服务稳定性。
|
13天前
|
Cloud Native 关系型数据库 分布式数据库
阿里云PolarDB与沃趣科技携手打造一体化数据库解决方案,助推国产数据库生态发展
阿里云瑶池数据库与沃趣科技将继续深化合作,共同推动国产数据库技术的持续创新与广泛应用,为行业生态的繁荣注入更强劲的技术动力。
阿里云PolarDB与沃趣科技携手打造一体化数据库解决方案,助推国产数据库生态发展
|
21天前
|
存储 关系型数据库 MySQL
大数据新视界 --面向数据分析师的大数据大厂之 MySQL 基础秘籍:轻松创建数据库与表,踏入大数据殿堂
本文详细介绍了在 MySQL 中创建数据库和表的方法。包括安装 MySQL、用命令行和图形化工具创建数据库、选择数据库、创建表(含数据类型介绍与选择建议、案例分析、最佳实践与注意事项)以及查看数据库和表的内容。文章专业、严谨且具可操作性,对数据管理有实际帮助。
大数据新视界 --面向数据分析师的大数据大厂之 MySQL 基础秘籍:轻松创建数据库与表,踏入大数据殿堂
|
10天前
|
SQL 关系型数据库 MySQL
MySQL下载安装全攻略!小白也能轻松上手,从此数据库不再难搞!
这是一份详细的MySQL安装与配置教程,适合初学者快速上手。内容涵盖从下载到安装的每一步操作,包括选择版本、设置路径、配置端口及密码等。同时提供基础操作指南,如数据库管理、数据表增删改查、用户权限设置等。还介绍了备份恢复、图形化工具使用和性能优化技巧,帮助用户全面掌握MySQL的使用方法。附带常见问题解决方法,保姆级教学让你无忧入门!
MySQL下载安装全攻略!小白也能轻松上手,从此数据库不再难搞!
|
2天前
|
关系型数据库 MySQL 定位技术
MySQL与Clickhouse数据库:探讨日期和时间的加法运算。
这一次的冒险就到这儿,期待你的再次加入,我们一起在数据库的世界中找寻下一个宝藏。
21 9
|
2天前
|
安全 Apache 数据库
【倒计时3天】NineData x Apache Doris x 阿里云联合举办数据库技术Meetup,5月24日深圳见!
5月24日,NineData联合Apache Doris与阿里云在深圳举办数据库技术Meetup。活动聚焦「数据实时分析」与「数据同步迁移」两大领域,邀请行业专家分享技术趋势、产品实践及解决方案,助力企业构建高效安全的数据管理体系。时间:14:00-17:30;地点:深圳新一代产业园2栋20楼会议室。线下名额有限(80人),速报名参与深度交流!
18 1
|
2天前
|
SQL 关系型数据库 MySQL
阿里云《快速连接云数据库RDS》训练营,火热开营中!
快速连接云数据库 RDS 训练营开营啦!从 0 到 1 学习实战技能,涵盖 RDS MySQL 快速连接、DMS 数据管理及 SQL 实战案例。完成任务赢取专业飞盘、积木等好礼(限量 100 份)
|
1月前
|
存储 关系型数据库 数据挖掘
【瑶池数据库动手活动及话题本周精选(体验ADB、 SelectDB,参与 RDS 迁移训练营)】(4.21-4.27)
本文为 “瑶池数据库动手活动及话题精选” 系列第一期,聚焦 SelectDB 日志分析、AnalyticDB Zero-ETL 集成、RDS 迁移训练营三大实战,设积分、实物等多重奖励,同步开启话题互动。点击链接参与,每周解锁数据库实战新场景。
|
27天前
|
人工智能 运维 关系型数据库