openGauss-异步备升主数据找回能力
openGauss- 异步备升主数据找回能力
可获得性
本特性自openGauss 6.0.0-RC1版本开始引入。
特性简介
主机发生异常后,如果仅有异步备可以升主,旧主可能存在已提交的事务未同步到备机,该功能旨在找回这部分数据,通过逻辑解码的方式提供给用户,再由用户自行处理。
客户价值
当部署方式是多中心,且只有主中心的备机是同步备,而异地部署的备机都是采用异步同步的方式,如果发生城市级故障,主机和同步备均不可用,则需要将异步备升主。这种场景下,旧主可能存在已提交的事务还未同步到异步备。该功能旨在找回这部分数据,实现系统RPO接近为零。
特性描述
该特性通过工具gs_retrieve实现,实际使用上需要指定新旧主的IP、端口、连接用户名和密码等,在旧主恢复之后,将未同步的数据通过逻辑解码的方式找回。
gs_retrieve整体流程是通过解析xlog获取所有待解码的事务,获取创建逻辑复制槽所需的restart_lsn和confirmed_flush,以便构建一致性快照,从而调用内置函数来创建逻辑复制槽和解码,最终返回解码数据。
特性增强
无。
特性约束
-
gs_retrieve工具仅支持在旧主所在机器上使用,新主可在不同机器。
-
旧主恢复之后建议将autovacuum设置为off,防止元数据的历史版本被回收清理。
-
解码范围内存在DDL的情况下,可能由于元数据的历史版本被清理而无法正常解码。通过force方式解码,可能会丢失数据。
-
当旧主xlog堆积过多,导致还没同步到异步备的日志被回收时,可能无法获取完整的数据。
-
在gs_retrieve工具运行过程中,如果旧主执行相关IUD业务,同样会被解码出来。
依赖关系
依赖逻辑解码特性。
详情查看:https://opengauss.org
详情查看:https://docs-opengauss.osinfra.cn
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!