浅谈达梦数据库的事务一致模式与高性能模式

一、前言

       归档是实现数据守护系统的重要技术手段,根据功能与实现方式的不同,DM 数据库的 归档可以分为 5 类:本地归档、远程归档、实时归档、即时归档和异步归档。其中,本地 归档和远程归档日志的内容与写入时机与数据库模式相关;主库 Redo 日志写入联机日志文 件后,再进行本地归档和远程归档;备库收到主库产生的 Redo 日志后,直接进行本地归档 和远程归档,同时启动 Redo 日志重演。即时归档(Timely)在主库将 Redo 日志写入联机日志文件后,通过 MAL 系统将 Redo 日志发送到备库。即时归档与实时归档的主要区别是 Redo 日志的发送时机不同。一个主库 可以配置 1~8 个即时备库。 根据备库重演 Redo 日志和响应主库时机的不同,即时归档分为两种模式:事务一致模式和高性能模式。即时归档模式根据配置文件 dmarch.ini 中的 ARCH_WAIT_APPLY 配置项(默认值为 1)来确定,1 表示事务一致模式,0 表示高性能模式。

今天主要介绍即时归档的两种模式:事务一致模式,高性能模式。

二、事务一致模式与高性能模式

1.事务一致模式:

主库事务提交触发 Redo 日志刷盘和即时归档,备库收到主库发 送的 Redo 日志,并重演完成后再响应主库。主库收到备库响应消息后,再响应用户的提交 请求。事务一致模式下,同一个事务的 SELECT 语句无论是在主库执行,还是在备库执行, 查询结果都满足 READ COMMIT 隔离级要求。

2.高性能模式:

备库收到主库发送的 Redo 日志后,马上响应 主库,再启动日志重演。高性能模式下,备库与主库的数据同步存在一定延时(一般情况下 延迟时间非常短暂,用户几乎感觉不到),不能严格保证事务一致性。

三、事务一致模式与高性能模式的优缺点

事务一致模式:

优点:保证多个节点中数据的值是一致的,保证了数据的强一致,适合对数据强一致要求很高的场景。

缺点:实现复杂,牺牲了可用性,对性能影响较大,不适合高并发高性能场景。

高性能模式:

优点:保证了主库的高性能,能快速响应用户请求,适合高并发高性能场景

缺点:备库与主库的数据同步存在一定的延时情况时(一般情况下 延迟时间非常短暂,用户几乎感觉不到),不能严格保证事务一致性。如果主备数据有一定差异,会导致主备无法实时切换,需等待备库重演完成后,才能进行切换。如果发生网络中断的情况下,可能存在误切的情况,导致主备分裂。

对比:

事务一致模式是牺牲了性能,换取了主备库之间数据强一致要求。

高性能模式是牺牲了数据强一致要求,换取了性能上的提升。

四、常见问题

1.在事务一致模式下经常会遇到因各种原因导致备库运行缓慢,同时也会拖慢主库。前面提到事务一致模式下的特点就是会等待备库重演完redo日志后再响应主库,若备库的硬件条件不足,或者主库长时间处于高并发的场景时,会导致备库重演特别慢,因此无法即时响应主库,主库也无法提交完成,实际表现出来的现象类似主库负载明明不是很高,但是主库就是运行很缓慢,原因就在此处。

2. 即时归档中,主库在将 Redo 日志写入本地联机 Redo 日志文件之后,发送 Redo 日志到备库之前出现故障,导致主备库数据不一致,为了继续提供服务,执行备库强制接管。 此时,当故障主库重启后,就会引发组分裂。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值