首页 > 其他分享 >openGauss 极致RTO

openGauss 极致RTO

时间:2024-03-30 09:36:41浏览次数:21  
标签:回放 standby RTO 查询 极致 openGauss 日志 备机读

极致RTO

可获得性

本特性自openGauss 1.1.0 版本开始引入。

特性简介

  • 支撑数据库主机重启后快速恢复的场景。
  • 支撑主机与同步备机通过日志同步,加速备机回放的场景。

客户价值

当业务压力过大时,备机的回放速度跟不上主机的速度。在系统长时间的运行后,备机上会出现日志累积。当主机故障后,数据恢复需要很长时间,数据库不可用,严重影响系统可用性。

开启极致RTO(Recovery Time Object,恢复时间目标),减少了主机故障后数据的恢复时间,提高了可用性。

特性描述

极致RTO开关开启后,xlog日志回放建立多级流水线,提高并发度,提升日志回放速度。 采用page多版本的方式支持备机读,回放线程维护每一个page的日志链,读线程根据指定的LSN(wal日志的位置)读取对应版本的page。当查询和回放冲突时,查询超时会被取消,报错信息是"canceling statement due to conflict with recovery"。当出现这种类型的报错时,业务端可根据错误码进行重试。 造成查询和回放冲突的日志类型主要包含如下几种:

  • 删除文件

    • 触发条件:删除文件、reindex、truncate表等操作。
    • 处理方案:等待max_standby_streaming_delay时间后,发送cancel消息取消冲突的查询。
  • truncate

    • 触发条件: delete大量记录之后,做vacuum回收,文件末尾的无用数据页truncate。
    • 处理方案: 立即 cancel 所有冲突的查询。
  • drop database

    • 触发条件:执行删除数据库操作。
    • 处理方案:等待max_standby_streaming_delay时间后,发送cancel消息取消冲突的查询。
  • drop tablespace:

    • 触发条件:删除tablespace
    • 处理方案:等待max_standby_streaming_delay时间后,发送cancel消息取消冲突的查询。
  • vacuum清理(仅在参数exrto_standby_read_optt开启下,会产生冲突)。

    • 触发条件:vacuum操作。
    • 处理方案:等待max_standby_streaming_delay时间后,发送cancel消息取消冲突的查询。

特性增强

无。

特性约束

极致RTO只关注同步备机的RTO是否满足需求。极致RTO去掉了自带的流控,统一使用recovery_time_target参数来做流控控制。

本特性支持备机读,由于增加了对数据页面历史版本的读取,备机上的查询性能会低于主机上的查询性能,低于并行回放备机读的查询性能,但是查询阻塞回放的情况有所缓解。

不支持段页式表,备机读不支持列存表。

当节点的IO和CPU使用过高时(建议不超过70%),备机读性能会有明显下降。

极致RTO备机读在以下5种情况下会取消查询。

1.当查询时间超出了参数standby_max_query_time。

2.触发了备机读文件的强制回收。

3.查询和truncate类型的日志回放有冲突。

4.当查询和回放有锁相关等冲突时,和并行回放备机读相同,取消查询由参数max_standby_streaming_delay控制。

5.在开启参数exrto_standby_read_opt的情况下,回放vacuum相关的清理日志时会发生冲突,和并行回放备机读相同,取消查询由参数max_standby_streaming_delay控制。

依赖关系

无。

标签:回放,standby,RTO,查询,极致,openGauss,日志,备机读
From: https://www.cnblogs.com/renxyz/p/18105076

相关文章

  • openGauss 灰度升级
    灰度升级可获得性本特性自openGauss2.0.0版本开始引入。特性简介灰度升级支持全业务操作,一次性升级所有节点。客户价值通过灰度升级,可以提供一种在线升级的方式,保证在不中断业务的情况下,进行所有节点的升级。特性描述灰度升级是一种支持升级所有节点的在线升级方式。目......
  • openGauss 基本功能和特性
    基本功能和特性背景信息openGauss是一个单机数据库,具备关系型数据库的基本功能,以及企业特性的增强功能。基本功能标准SQL支持支持标准的SQL92/SQL99/SQL2003/SQL2011规范,支持GBK、GB18030、GB18030_2022、UTF-8、SQLASCII以及Latin-1字符集,支持SQL标准函数与分析函数,支持......
  • openGauss 基于Dorado存储同步复制的主备双集群容灾
    基于Dorado存储同步复制的主备双集群容灾可获得性本特性自openGauss5.1.0版本开始引入,仅适用于资源池化架构。特性简介本特性采用Dorado存储的同步复制能力来实现主备双集群的xlog日志同步,保证主备双集群xlog日志实时一致性,从而提升主备双集群的事务性能,降低存储空间,并保证主......
  • openGauss 基于Paxos协议的高可用
    基于Paxos协议的高可用可获得性本特性自openGauss2.1.0版本开始引入。特性简介DCF模式开关开启后,数据库节点可以支持基于Paxos协议的复制与仲裁能力。数据库节点基于Paxos的自选主及日志复制,复制过程中支持压缩及流控,防止带宽占用过高。提供基于Paxos多种角色的节点类型,并能......
  • openGauss 行存转向量化
    行存转向量化可获得性本特性自openGauss3.0.0版本开始引入。特性简介将行存表的查询转换为向量化执行计划执行,提升复杂查询的执行性能。客户价值由于行存执行引擎在执行包含较多表达式或者关联操作的复杂查询时,性能表现不佳;而向量化执行引擎在执行复杂查询时具有优异的性能......
  • openGauss 行级访问控制
    行级访问控制可获得性本特性自openGauss1.1.0版本开始引入。特性简介行级访问控制特性将数据库访问控制精确到数据表行级别,使数据库达到行级访问控制的能力。不同用户执行相同的SQL查询操作,读取到的结果是不同的。客户价值不同用户执行相同的SQL查询操作,读取到的结果是不同......
  • openGauss 行列混合存储
    行列混合存储可获得性本特性自openGauss1.0.0版本开始引入。特性简介openGauss支持行存储和列存储两种存储模型,用户可以根据具体的使用场景,建表时选择行存储还是列存储表。一般情况下,如果表的字段比较多(即大宽表),查询中涉及到列不很多的情况下,适合列存储。列存储方式如图1所......
  • openGauss 工具链_DataKit
    DataKit可获得性本特性自openGauss5.0.0版本开始引入。特性简介DataKit是基于Web的openGauss的可视化的平台系统,目的是方便客户使用和管理openGauss可视化工具,可以为客户降低openGauss数据库安装使用门槛,做到安全中心管理,插件管理,以及其它功能包括一键化部署、卸载、组件化安......
  • openGauss 函数及存储过程支持
    函数及存储过程支持可获得性本特性自openGauss1.1.0版本开始引入。特性简介函数和存储过程是数据库中的一种重要对象,主要功能将用户特定功能的SQL语句集进行封装,并方便调用。客户价值允许客户模块化程序设计,对SQL语句集进行封装,调用方便。存储过程会进行编译缓存,可以提升......
  • openGauss 高级分析函数支持
    高级分析函数支持可获得性本特性自openGauss1.1.0版本开始引入。特性简介无。客户价值我们提供窗口函数来进行数据高级分析处理。窗口函数将一个表中的数据进行预先分组,每一行属于一个特定的组,然后在这个组上进行一系列的关联分析计算。这样可以挖掘出每一个元组在这个集合......