PostgreSQL 10.0 preview 安全增强 - 任意wal副本数,金融级高可用与可靠性并存需求

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS PostgreSQL Serverless,0.5-4RCU 50GB 3个月
推荐场景:
对影评进行热评分析
云数据库 RDS SQL Server,基础系列 2核4GB
简介:

标签

PostgreSQL , 流复制 , 同步流复制 , 任意副本


背景

PostgreSQL很多年前就开始支持同步流复制,支持配置多个standby,当sync node异常时,potention standby节点会自动变成sync node。从而提供0丢失的高可用。

但是此前如果要配置超过2个副本的高可用时,需要打一个patch。

10.0将这个patch合并到了内核中,支持配置任意副本,即,所有节点都可能随时成为sync node。

比如有3个standby,配置为2时,则3个中任意2个收到事务结束的wal后,才会释放主库会话等待队列,返回用户。

这个特性已经达到了金融级的要求,例如两地三中心,可以保证有2个副本。

当然如果你的要求更高,可以配置5个甚至更多standby,那么即使挂掉3个备库,也不影响使用。

详见

Hi all,  
  
In 9.6 development cycle, we had been discussed about configuration  
syntax for a long time while considering expanding.  
As a result, we had new dedicated language for multiple synchronous  
replication, but it supports only priority method.  
We know that quorum commit is very useful for many users and can  
expand dedicated language easily for quorum commit.  
So I'd like to propose quorum commit for multiple synchronous replication here.  
  
The followings are changes attached patches made.  
- Add new syntax 'Any N ( node1, node2, ... )' to  
synchornous_standby_names for quorum commit.  
- In quorum commit, the master can return commit to client after  
received ACK from *at least* any N servers of listed standbys.  
- sync_priority of all listed servers are same, 1.  
- Add regression test for quorum commit.  
  
I was thinking that the syntax for quorum method would use '[ ... ]'  
but it will be confused with '( ... )' priority method used.  
001 patch adds 'Any N ( ... )' style syntax but I know that we still  
might need to discuss about better syntax, discussion is very welcome.  
Attached draft patch, please give me feedback.  
  
Regards,  
  
--  
Masahiko Sawada  

这个patch的讨论,详见邮件组,本文末尾URL。

PostgreSQL社区的作风非常严谨,一个patch可能在邮件组中讨论几个月甚至几年,根据大家的意见反复的修正,patch合并到master已经非常成熟,所以PostgreSQL的稳定性也是远近闻名的。

参考

https://commitfest.postgresql.org/12/826/

https://www.postgresql.org/message-id/flat/CAD21AoAACi9NeC_ecm+Vahm+MMA6nYh=Kqs3KB3np+MBOS_gZg@mail.gmail.com#CAD21AoAACi9NeC_ecm+Vahm+MMA6nYh=Kqs3KB3np+MBOS_gZg@mail.gmail.com

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍如何基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
9月前
|
存储 SQL 关系型数据库
MySQL事务处理:如何确保数据一致性与可靠性
事务(Transaction)是数据库管理系统(DBMS)中的一个核心概念。MySQL 事务是指**一组数据库操作**,作为一个整体进行处理,确保要么全部成功,要么全部失败。
169 15
MySQL事务处理:如何确保数据一致性与可靠性
|
Oracle 安全 关系型数据库
如何在openGauss/PostgreSQL手动清理XLOG/WAL 文件?
openGauss/PostgreSQL中的预写式日志WAL(Write Ahead Log),又名Xlog或redo log,相当于oracle的online redo log, 不同的是oracle online redo log是提前创建几组滚动使用,但在opengauss中只需要本配置参数控制WAL日志的周期,数据库会一直的创建并自动清理,但存在一些情况WAL日志未清理导致目录空间耗尽,或目录空间紧张时手动删除wal日志时,比如如何确认在非归档模式下哪些WAL日志文件可以安全删除?
1422 0
|
Cloud Native 关系型数据库 MySQL
PolarDB MySQL企业版:云原生架构,超高性能与可靠性的完美结合
在数字化时代,数据已成为企业的核心资产。对于现代企业来说,选择一款高性能、高可靠性、高性价比的数据库至关重要。阿里巴巴自研的云原生HTAP数据库——PolarDB MySQL企业版,正是这样一款满足企业需求的理想选择。
515 1
|
关系型数据库 MySQL 数据库
MySQL高可用与复制:确保稳定性与可靠性
本文深入研究了MySQL数据库中的高可用性与复制策略,通过详细的代码示例,介绍了复制的原理与架构,主从复制与读写分离的应用,以及高可用方案中的主备切换和故障转移。复制技术基于主从架构,使数据在多个数据库之间保持一致,提供了高可用性和数据冗余的保障。通过主从复制,数据库不仅能够实现高可用性,还可以通过读写分离来分担主数据库的负载,提升系统的性能。在高可用方案中,主备切换和故障转移是关键策略,可以在主数据库故障时快速切换到备库,确保系统的连续性。
541 0
|
关系型数据库 MySQL 数据库
MySQL数据备份与恢复:保障数据安全与可靠性
本文深入介绍了MySQL数据库中的数据备份与恢复策略,以及相关工具和解决方案。通过详细的代码示例,阐述了使用`mysqldump`工具进行全库备份和数据恢复的步骤。同时,强调了制定合理的备份策略的重要性,以及如何使用定时任务工具自动进行备份。在备份和恢复过程中可能遇到的常见问题,如速度慢和版本兼容性,也提供了相应的解决方案。通过深入了解这些技术,读者将能够在数据库管理中高效地进行数据备份与恢复,确保数据的安全性和可靠性,为应对各种意外情况提供了有力的保障。
496 0
|
关系型数据库 数据库 文件存储
PG技术大讲堂 - 第12讲:PostgreSQL wal作用与管理
PostgreSQL从小白到专家,技术大讲堂 - 第12讲:PostgreSQL wal作用与管理
362 1
|
存储 算法 安全
[翻译]PostgreSQL中的WAL压缩以及版本15中的改进
[翻译]PostgreSQL中的WAL压缩以及版本15中的改进
382 0
|
关系型数据库 PostgreSQL
PostgreSQL崩溃恢复读取WAL
PostgreSQL崩溃恢复读取WAL
327 0
|
存储 固态存储 Ubuntu
postgresql email列表对NVM WAL BUFFER的讨论
postgresql email列表对NVM WAL BUFFER的讨论
133 0
|
存储 关系型数据库 PostgreSQL
PostgreSQL WAL解析:构建WAL记录准备
PostgreSQL WAL解析:构建WAL记录准备
233 0

相关产品

  • 云原生数据库 PolarDB
  • 云数据库 RDS PostgreSQL 版
  • 推荐镜像

    更多