【PostgreSQL 创新营】第六课:PostgreSQL复制原理及高可用集群 答疑汇总

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS PostgreSQL Serverless,0.5-4RCU 50GB 3个月
推荐场景:
对影评进行热评分析
简介: 【PostgreSQL 创新营】第六课:PostgreSQL复制原理及高可用集群 答疑汇总

Q1:刘海清,如何在从库备份,选择什么软件或者命令
1)生产建议使用从库进行备份。数据备份的方式有:pg_dump、pg_dumpall、pg_rman、barman、pg_basebackup等
2)日志备份可以通过:从库设置archive_mode = always方式实现日志记录。linux平台下可每日定时tar + rsync备份到远端

Q2:两个数据库如何实现增量同步?有更新逻辑时如何处理?
1)增量同步的方式有:
物理同步:基于流复制协议,将增量的redo回放到从库。如有更新逻辑,会将对应的redo回放,更新对应buffer
逻辑同步:同步模式设置为:logical。可使用内置的逻辑复制方式,即发布端创建PUBLICATION,订阅端创建SUBSCRIPTION。当然也可以使用wal2json等插件
2)物理同步是整库的复制,类似oracle的DG。逻辑复制可以针对具体表等
3)使用逻辑同步时建议表均有主键,以实现更好的性能

Q3:PG如何做基于流复制的跨数据中心(跨子网)自动故障转移解决方案,要求对应用透明,不用改连接串
1)跨数据中心想实现应用透明,不改连接串。通常应用访问DNS域名,具体解析到那个数据中心由高可用去判断
2)跨数据中心的自动故障转移方案:使用partoni(推荐)、pg_auto_failover

Q4:pg 9.4有这个逻辑复制订阅功能吗?
有,从PG 9.4开始的

Q5:PG如何从WAL日志解析出具体SQL?有什么好的工具推荐吗?
可以使用wal2json、alidecode、pgoutput、decoderbufs等

Q6:PG中,业务误操作后快速闪回具体某张表的某些操作?
开源版暂时没有闪回功能。可以基于流复制搭建专门的从库用于误操作恢复(基于时间点恢复),有快照可以加快恢复速度

Q7:PG的流复制在备库应用日志时,是直接修改数据文件的物理块吗?不用翻译成SQL重跑
物理复制不需要

Q8:刚老师讲的partoni做高可用可能会丢数据是在什么场景下?
建议从数据库端实现数据的一致性保障!

Q9:ECOX开源吗?
商业系统,可自行下载测试:https://w3.ww-it.cn/Fileud/lists/cate_id/30

Q10:siupan,pg_auto_failover是否可用于生产环境?
建议复查代码逻辑

Q11:repmgr里面的witness什么场景下必须用?没有好像也影响不大
通常用于仲裁节点,建议核查文档

Q12:pg的日志数据解析工具有么,支持kafka,或者直接到clickhouse类数仓的
1)日志解析:logical 模式plugin解析redo log

2)同步依赖CDC工具,详见:
正确的配置和使用 Debezium CDC 捕获、同步 PG 逻辑增量数据
https://github.com/digoal/blog/blob/master/202011/20201127_02.md

Q13:请问下从库的统计信息都是为零的,在从库执行计划是怎么生产的,会参考主库的统计信息吗?
1)正常情况下从库也是有统计信息的
2)可以核查是否是基于规则的,或者硬版本

Q14:PG可以用这个逻辑复制订阅功能吗?
理论上内核为PG 9.4以后的支持,详见GP文档官方文档

Q15:请问流复制一个主节点支持多少个从节点?
1)受限于max_wal_senders参数配置
2)受限于具体的硬件可用资源

Q16:个人在实现WAL逻辑复制工具时,通过创建复制槽时,获取快照,然后根据快照实现一些业务操作,但在业务操作出错时,如果获取先前的快照 名称,看文档上创建复制槽时的快照 仅在当时有效,再连接就获取不到了,请问有什么解决方案?
1)逻辑复制槽是全局的,与是否当前会话无关
2)快照可以export导出给其他会话。例如:备份数据。可当前启动事务并创建快照,然后创建逻辑复制槽,其他会话可正常使用该逻辑复制槽。当前会话导出全量数据。从而全量+增量备份

Q17:pg的从库 能支持延时从库么
支持的。可以在recovery.conf添加参数,例:recovery_min_apply_delay = '48h'

Q18:pg页内组织tuple,是不是很容易在页间移数据?
是的。如进行垃圾回收,会挪动组内tuple。详解可观看视频答疑

Q19:pg加索引可以加参数不锁表,加列可以不锁表吗
1)正常情况下(不需要rewrite table),加列是当即生效的。这个也是有区别于MySQL的
2)建议业务时间段内频繁使用的大表,选定闲时做加列操作

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍如何基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
5月前
|
存储 SQL 关系型数据库
mysql底层原理:索引、慢查询、 sql优化、事务、隔离级别、MVCC、redolog、undolog(图解+秒懂+史上最全)
mysql底层原理:索引、慢查询、 sql优化、事务、隔离级别、MVCC、redolog、undolog(图解+秒懂+史上最全)
mysql底层原理:索引、慢查询、 sql优化、事务、隔离级别、MVCC、redolog、undolog(图解+秒懂+史上最全)
|
7月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
2月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
351 5
|
3月前
|
安全 Oracle 关系型数据库
【赵渝强老师】基于PostgreSQL的MPP集群:Greenplum
Greenplum是基于PostgreSQL的MPP架构分布式数据库,由Master、Segment和Interconnect组成,支持海量数据并行处理。本文介绍其架构及集群安装配置全过程。
201 1
|
9月前
|
自然语言处理 搜索推荐 关系型数据库
MySQL实现文档全文搜索,分词匹配多段落重排展示,知识库搜索原理分享
本文介绍了在文档管理系统中实现高效全文搜索的方案。为解决原有ES搜索引擎私有化部署复杂、运维成本高的问题,我们转而使用MySQL实现搜索功能。通过对用户输入预处理、数据库模糊匹配、结果分段与关键字标红等步骤,实现了精准且高效的搜索效果。目前方案适用于中小企业,未来将根据需求优化并可能重新引入专业搜索引擎以提升性能。
403 5
|
5月前
|
SQL 关系型数据库 MySQL
MySQL group by 底层原理详解。group by 执行 慢 原因深度分析。(图解+秒懂+史上最全)
MySQL group by 底层原理详解。group by 执行 慢 原因深度分析。(图解+秒懂+史上最全)
MySQL group by 底层原理详解。group by 执行 慢 原因深度分析。(图解+秒懂+史上最全)
|
12月前
|
存储 SQL 关系型数据库
MySQL进阶突击系列(03) MySQL架构原理solo九魂17环连问 | 给大厂面试官的一封信
本文介绍了MySQL架构原理、存储引擎和索引的相关知识点,涵盖查询和更新SQL的执行过程、MySQL各组件的作用、存储引擎的类型及特性、索引的建立和使用原则,以及二叉树、平衡二叉树和B树的区别。通过这些内容,帮助读者深入了解MySQL的工作机制,提高数据库管理和优化能力。
|
8月前
|
负载均衡 算法 关系型数据库
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL集群架构负载均衡故障排除与解决方案
本文深入探讨 MySQL 集群架构负载均衡的常见故障及排除方法。涵盖请求分配不均、节点无法响应、负载均衡器故障等现象,介绍多种负载均衡算法及故障排除步骤,包括检查负载均衡器状态、调整算法、诊断修复节点故障等。还阐述了预防措施与确保系统稳定性的方法,如定期监控维护、备份恢复策略、团队协作与知识管理等。为确保 MySQL 数据库系统高可用性提供全面指导。
|
10月前
|
关系型数据库 MySQL 数据库
RDS用多了,你还知道MySQL主从复制底层原理和实现方案吗?
随着数据量增长和业务扩展,单个数据库难以满足需求,需调整为集群模式以实现负载均衡和读写分离。MySQL主从复制是常见的高可用架构,通过binlog日志同步数据,确保主从数据一致性。本文详细介绍MySQL主从复制原理及配置步骤,包括一主二从集群的搭建过程,帮助读者实现稳定可靠的数据库高可用架构。
537 9
RDS用多了,你还知道MySQL主从复制底层原理和实现方案吗?

相关产品

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

    更多