首頁 資料庫 mysql教程 DB2 10新特性: HADR新特性介绍

DB2 10新特性: HADR新特性介绍

Jun 07, 2016 pm 05:54 PM
db2 介紹 新特性

在刚刚发布的 DB2 LUW 10.1 中,高可用性灾难恢复 HADR 增加了一些新的特性,即对于多个备机数据库的支持、日志假脱机、延时重做。通过配置多个备机,用户可以同时实现高可用性和灾难恢复的目标,即在同城配置拥有较强同步模式的主要备机实现高可用性,又在距

使用日志假脱机,在主机交易高峰期,减少因为备机重做较慢而对主机业务产生的影响。延迟重做则使用户通过 HADR 可以撤回一些误操作。

HADR 基础

HADR(High Availability Disaster and Recovery)是 DB2 Linux Unix and Windows 中高可用性和灾难恢复的解决方案。通过该解决方案,用户可以为实际生产系统的设置一个备用,前者称为主数据库(Primary Database),后者称为备机数据库(Standby Database)。主数据库上的数据更改通过数据库日志(Log)传送到备机数据库上,备机数据库通过重做(Replay)这些日志完成与主数据库上相同的数据更改,从而使二者的数据保持一致。在主数据库发生故障时,用户可以在备机数据库上通过接管 HADR(TAKEOVER HADR)命令使备机数据库成为新主数据库,业务应用可以运行在新主数据库之上,从而使数据库服务恢复。

HADR 接管

备机数据库接管主数据库有两种方式,一种是强制接管(TAKEOVER HADR BY FORCE),另一种是非强制接管(non-force TAKEOVER,即不带 BY FORCE 的 TAKEOVER HADR 命令)。强制接管用于原主数据库不可用的情况下,备机数据库接管数据库服务;非强制接管用于系统在线升级(rolling upgrade)。

HADR 同步模式

主数据库和备机数据库之间的日志传输通过 HADR 同步模式(HADR_SYNCMODE)这一数据库配置参数控制。目前,有四种同步模式可供选择,按照同步程度从强到弱依次是:

同步模式(SYNC)

在同步模式下,当用户在主数据库上提交一个事务时,首先该事务的相关数据库日志会被写到主数据库的本地磁盘上,然后主数据库会将日志发送给备机数据库,并且等待备机数据库的回复;备机数据库在接收到日志,并将其写到自己的磁盘上后,才回复给主数据库。主数据库在接到备机数据库的回复之后,才返回给用户该事务提交成功。由此可见,在该同步模式下,凡是提交成功的事务,日志不仅在主数据库的磁盘上,也在备机数据库的磁盘上,此时如果主数据库发生故障,已提交的数据不会丢失。因此,在同步模式下,HADR 能够提供无数据丢失保证(No data loss guarantee)。但是,在该同步模式下,HADR 对主数据库业务的影响也是显而易见的。

近同步模式(NEARSYNC)

与同步模式相比,近同步模式下的备机数据库接收到主数据库发来的日志时,并不等待将其写到本地磁盘之后才回复给主数据库,而是立即回复给主数据库。主数据库在接收到备机数据库的回复之后就返回给用户事务提交成功,而此时,该事务的日志可能还在备机数据库的内存中,并未写到本地盘上。如果此时主机发生故障,并不能保证在原主数据库上已提交的数据在备机上必然能找回。虽然该同步模式不能保证零数据丢失,但是相比同步模式,近同步模式下的 HADR 对于主数据库业务的影响较小。

异步模式(ASYNC)

在异步模式下,主数据库发送日志成功后就返回给用户,事务提交成功,而此时,备机数据库有可能还没有收到这些日志。如果此时主数据库发生故障,该已提交事务的数据更改就会丢失。同样的,由于异步模式下的主数据库在返回给用户事务提交成功之前不等待备机数据库的回复,HADR 对主数据库上业务的影响比近同步模式更小。

超级异步模式(SUPERASYNC)

从 DB2 LUW V9.7.5 和 V9.5.8 开始,HADR 引入了一种新的同步模式,即超同步模式。在该同步模式下,主数据库上数据库日志的产生与发送完全分离,二者没有任何依赖,这样 HADR 对于主数据库业务的影响降到了最低;同时,由于日志的产生与发送分离,可能导致主数据库和备机数据库之间的差距较大,此时如果主机发生故障,会有较多的数据丢失;并且非强制接管(non-force TAKEOVER)可能需要更多时间。

以上四种同步模式,同步强度从强到弱,无数据丢失保证从高到低。有关同步模式的更详细描述,请参考本文末尾参考资源中的“DB2 HADR 监控详解”一文。

HADR 的备机可读

备机数据库通过重做(Replay)主数据库发送的数据库日志(Transaction Log)来完与主数据库上完全一致的数据更改,这一重做过程是通过数据库前滚(Database Rollforward)来实现的。在 V9.7 Fix Pack 1 之前,备机数据库只进行日志的重做,用户不能进行任何读写数据的操作,因此备机数据库对于用户来说是不可用的。从 V9.7 Fix Pack 1,DB2 引入了备机数据库可读的特性,用户可以将只读应用运行在备机数据库上,从而提高系统的利用率以及降低主数据库的负载。关于 HADR 的备机可读特性,请参考本文参考资源中的“DB2 V9.7 高可用性灾难恢复中的备机可读”一文。

DB2 HADR 近几个版本稳定性不断提高,功能上虽然有一些改进,例如 V9.5 增加了 peer window 和集成的 HA 方案;V9.7 增加了备机可读(RoS),但是一直没有大幅度的改动。DB2 V9.8 增加了 DB2 purescale 特性,但是该版本不支持 HADR。

DB2 LUW V10.1 中,HADR 是几个版本以来改动最大的一次,在这个版本中,主要有以下几方面新的功能。

多点灾备(HADR Multiple Standby)

一个主机可以支持多台备机(最多 3 台)。在该版本以前,HADR 的一台主机只能有一台备机。如果客户有多点灾备的需求,只能通过 Q 复制和 SQL 复制等方式实现。这些方式虽然在某种方面上有其优势,但是实时性和易用性都不如 HADR,而且,多种灾备方式要求 DBA 掌握更多的知识进行维护,也就增加了维护的成本。有了这个特性,客户就可以使用 HADR 进行统一的高可用性和灾备部署。一种典型的部署是:本地使用 HADR 做实时热备,一个远程使用异步方式(以免对本地事务造成压力)进行数据库同步,另一个远程同样使用异步方式同步,但是可以使用重演延迟防止错误操作。

日志假脱机(Log Spooling)

可以想象,任何一种同步方式都是将数据从一端发往另一端。HADR 也不例外,主机会根据不同的配置以不同的方式将日志发送给备机进行同步。这样就必不可少的增加了网络上的开销。很多客户为了节省开销,会使用性能稍差的备机。正常的交易下,备机还没有什么压力,但是交易高峰期间,备机可能跟不上主机的压力,使得接收日志的内存缓冲区变满,从而在某些同步模式下影响了主机的性能。为了解决这个问题,V10.1 中增加了该功能。当内存中没有空间接收日志时,就将日志写到磁盘上。当主机压力降下来以后,再将这些事务进行重做。这样,即使交易高峰期间,也不会对主机性能造成影响。而且日志保存在了备机上,即使主机出现故障停机,也不会在备机上丢失数据。

重演延迟(Delay Replay)

顾名思义,这个功能是让备机延时重做主机上的事务。为什么要这样做呢?试想一下,DBA 不小心错误的删除了数据库中的一张表。在没有这个功能之前怎么办呢?我们只使用某个时间的备份文件,将主机上的数据恢复到删除表以前,然后再前滚到刚好删除删除表的那个时间点。然后还要重新初始化 HADR 的备机。而这个时间段上,服务是停掉的。对于大型的数据库来说,无疑是一种很大的挑战。如果是使能了这个功能,事情就变得简单多了。因为虽然主机上错误的删除了这个表,但是备机并没有执行这个操作。客户只要停掉备机上的 HADR,然后前滚到删除表的那个时间点以前就可以了。当然,初始化 HADR 还是需要的。

更详细的监控

DB2 LUW v10 中对 HADR 的监控内容更加详细。例如可以看到主机和备机上的事务的时间,可以看出来接收的日志的位置和重做的日志的位置,可以分析出来 HADR 在网络上的开销等等。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

wapi是什麼東西詳細介紹 wapi是什麼東西詳細介紹 Jan 07, 2024 pm 09:14 PM

wapi這個名詞使用者可能在使用網路得時候見過過,但是對於一部分人來說肯定都不知道wapi是什麼,下面就帶來了詳細介紹,幫助不知道小伙伴去了解。 wapi是什麼東西:答:wapi是無線區域網路鑑別和保密的基礎架構。這就像紅外線和藍牙等功能一樣,一般都覆蓋在辦公大樓等地方的附近。基本上都是為一個小部門所有的,所以這個功能涉及的範圍只有幾公里。 wapi相關介紹:1、wapi是無線區域網路裡面的一種傳輸協定。 2.這款技術是可以去避免窄頻帶通訊的問題,可以更好的去進行傳播。 3.只要只需要一個代碼就可以去傳送訊號了

詳解win11能否運行PUBG遊戲 詳解win11能否運行PUBG遊戲 Jan 06, 2024 pm 07:17 PM

pubg又稱絕地求生,是一款非常經典的射擊大逃殺類型遊戲,從2016年火爆以來一直擁有非常多的玩家。在最近的win11系統推出後,就有不少玩家想要在win11上游玩它,下面就跟著小編來看看win11是否可以玩pubg吧。 win11能玩pubg嗎:答:win11可以玩pubg。 1.在win11推出之初,因為win11需要開啟tpm的緣故,所以導致很多玩家被pubg封號處理了。 2.不過後來根據玩家的回饋,藍洞方面已經解決了這個問題,目前已經可以在win11中正常玩pubg了。 3.如果大家遇到了pub

Python函數介紹:exec函數的介紹及範例 Python函數介紹:exec函數的介紹及範例 Nov 03, 2023 pm 02:09 PM

Python函數介紹:exec函數的介紹及範例引言:在Python中,exec是一種內建函數,它用於執行儲存在字串或檔案中的Python程式碼。 exec函數提供了一種動態執行程式碼的方式,使得程式可以在執行時間根據需要產生、修改和執行程式碼。本文將介紹exec函數的使用方法,並給出一些實際的程式碼範例。 exec函式的使用方法:exec函式的基本語法如下圖所示:exec

i5處理器是否能裝win11詳細介紹 i5處理器是否能裝win11詳細介紹 Dec 27, 2023 pm 05:03 PM

i5是英特爾旗下的一系列處理器,擁有到現在11代i5的各種不同版本,每一代都有不同效能。因此對於i5處理器是否能夠安裝win11,還要看是第幾代的處理器,下面就跟著小編一起來分別了解一下吧。 i5處理器能裝win11嗎:答:i5處理器能裝win11。一、第八代及之後的i51、第八代及後續的i5處理器是能夠滿足微軟的最低配置需求的。 2.因此我們只需要進入微軟網站,下載一個「win11安裝助手」3、下載完成後,運行該安裝助手,根據提示進行操作就可以安裝win11了。二、第八代之前的i51、第八代之

介紹最新的Win 11聲音調法方法 介紹最新的Win 11聲音調法方法 Jan 08, 2024 pm 06:41 PM

很多用戶更新了最新的win11之後發現自己系統的聲音有了些許的變化,但是又不知道該怎麼去進行調整,所以今天本站就給你們帶來了電腦最新win11聲音調法介紹,操作不難而且選擇多樣,快來一起下載試試吧。電腦最新系統windows11聲音如何調1、先右鍵點選桌面右下角的聲音圖標,並選擇「播放設定」。 2、然後進入設定中點選播放列中的「揚聲器」。 3、隨後點選右下方的「屬性」。 4.點選屬性中的「增強」選項列。 5.此時如果「禁用所有聲音效果」前的√勾上了就把他取消。 6、之後就可以選擇下面的聲音效果來進行設定並點

PyCharm新手指南:取代功能全面解析 PyCharm新手指南:取代功能全面解析 Feb 25, 2024 am 11:15 AM

PyCharm是一款功能強大的Python整合開發環境,具有豐富的功能與工具,能夠大幅提升開發效率。其中,替換功能是開發過程中常用的功能之一,能夠幫助開發者快速修改程式碼並提高程式碼品質。本文將詳細介紹PyCharm的替換功能,並結合具體的程式碼範例,幫助新手更好地掌握和使用該功能。替換功能簡介PyCharm的替換功能可以幫助開發者在程式碼中快速替換指定的文本

詳細介紹電腦中的印表機驅動程式位置 詳細介紹電腦中的印表機驅動程式位置 Jan 08, 2024 pm 03:29 PM

許多用戶在電腦上安裝了印表機驅動程序,但卻不知道如何找到它們。因此,今天我為大家帶來了詳細介紹印表機驅動程式在電腦中的位置,對於還不了解的用戶,快來看看吧印表機驅動在電腦哪裡找重新撰寫內容而不改變原義時,需要將語言改寫為中文,不需要出現原句首先,建議使用第三方軟體進行搜尋2、在右上角找到"工具箱"3、在下方找到並點選「裝置管理員」。改寫後的句子:3、在底部找到並點擊“裝置管理員”4、然後打開“列印佇列”,然後找到你的印表機裝置。此次是你的印表機名稱型號。 5.右鍵印表機設備,就能夠去更新或卸載我

PHP 8.3發布:新功能一覽 PHP 8.3發布:新功能一覽 Nov 27, 2023 pm 12:52 PM

PHP8.3發布:新功能一覽隨著技術的不斷發展和需求的不斷變化,程式語言也不斷更新和改進。作為一種廣泛應用於網頁開發的腳本語言,PHP一直在不斷進步,為開發者提供更強大和高效的工具。最近發布的PHP8.3版本帶來了許多期待已久的新功能和改進,以下讓我們來看看這些新特性的一覽。非空屬性的初始化在過去的PHP版本中,如果一個類別的屬性沒有明確賦值,它的值

See all articles