數(shù)據(jù)是古代企業(yè)最主要的營業(yè)資產(chǎn)之一,特殊是癥結(jié)數(shù)據(jù)。假天命據(jù)弗成用或沒有遭到珍重,企業(yè)可以會在每小時的營業(yè)宕機時辰內(nèi)損丟失落數(shù)百萬美元,同時還會給企業(yè)抽象帶來負(fù)面影響。對進(jìn)展在瞬息萬變的競爭情形中獲得勝利的企業(yè)來說,構(gòu)建一個具有高可用性架構(gòu)的數(shù)據(jù)中央至關(guān)主要。在本文筆者將引見若何行使 IBM InfoSphere Data Replication 產(chǎn)物中的 Q 復(fù)制手藝完成 DB2 數(shù)據(jù)庫零星的高可用性和雙活。
數(shù)據(jù)庫是古代企業(yè)數(shù)據(jù)中央的焦點,用于支持癥結(jié)的企業(yè)運用。對數(shù)據(jù)庫的要求,除高功效,高靠得住性,功用雄厚,易行使,易珍重外,還要求有很好的災(zāi)備和高可用性計劃合營,提高數(shù)據(jù)的平安和可用性。
望文生義,數(shù)據(jù)庫災(zāi)禍恢復(fù)計劃為災(zāi)禍?zhǔn)乱藴?zhǔn)備的數(shù)據(jù)庫備份和恢復(fù)計劃,簡稱災(zāi)備計劃。這里涵蓋的災(zāi)禍包括各類自然和工資災(zāi)禍?zhǔn)乱耍粲泻樗?、地震、颶風(fēng)、海嘯等各類極端自然天色和氣象,和爆炸、失落火、電網(wǎng)缺點等工資異常事宜。這些災(zāi)禍會對數(shù)據(jù)中央的根蒂根抵舉動裝備組成影響,損壞數(shù)據(jù)中央的存儲介質(zhì),致使數(shù)據(jù)庫中的數(shù)據(jù)喪丟失落。災(zāi)禍的特色參數(shù)包括它影響的地輿局限,延續(xù)的時辰長短,和對舉動裝備和數(shù)據(jù)的損壞水平。為了避免這些事宜完整息滅企業(yè)的數(shù)據(jù),企業(yè)需求設(shè)計有呼應(yīng)的災(zāi)備裝備,在災(zāi)禍影響局限之外安裝備用數(shù)據(jù)中央和寄存?zhèn)浞輸?shù)據(jù),這樣當(dāng)災(zāi)禍真的發(fā)生發(fā)火時才華夠在備份數(shù)據(jù)中央連續(xù)睜開營業(yè)。
災(zāi)備計劃需求憑證針對的災(zāi)禍特色來設(shè)計。好比對影響局限局限在數(shù)據(jù)中央內(nèi)部的災(zāi)禍(局限幾百米),同城的災(zāi)備中央就可以恢復(fù)營業(yè)。對影響局限除夜到整座城市的災(zāi)禍(局限為幾十千米),就需求安裝在異地甚至很遠(yuǎn)處的災(zāi)備中央來恢復(fù)營業(yè)運轉(zhuǎn)。理想中經(jīng)常據(jù)說的同城災(zāi)備中央和異地災(zāi)備中央就是指災(zāi)備節(jié)點處于同城局限或異地局限。
對災(zāi)備計劃,次要有兩個手藝目的:
傳統(tǒng)的災(zāi)備計劃,多收受接管主機 – 備機(Active-Standby)的安裝體式格式??梢园惭b在同城,或異地。主機和主數(shù)據(jù)庫用來處置責(zé)罰營業(yè),備機和備用數(shù)據(jù)庫則處于待命形態(tài),只需在主機蒙受災(zāi)禍丟生效時才會在備機上啟動數(shù)據(jù)庫和恢單數(shù)據(jù),連續(xù)供應(yīng)干事。主機的數(shù)據(jù)庫數(shù)據(jù)收受接管活期或連續(xù)的體式格式復(fù)制到備機端,好比:
收受接管的數(shù)據(jù)復(fù)制手藝決意了災(zāi)備計劃的 RPO 目的。傳送或復(fù)制過來的數(shù)據(jù)不能趕緊被備機數(shù)據(jù)庫行使,需求經(jīng)由一個恢復(fù)進(jìn)程來恢單數(shù)據(jù)的不合性。缺點檢測時辰、數(shù)據(jù)庫恢復(fù)時辰和其它干事恢復(fù)時辰一路,決意了災(zāi)備計劃的 RTO 目的。
營業(yè)零星的可用性是指營業(yè)的運轉(zhuǎn)時辰占悉數(shù)時辰的比例??梢杂蒙厦娴墓絹硇孤┍憩F(xiàn):
可用性 = 1 – 營業(yè)宕機時辰 / ( 營業(yè)宕機時辰 營業(yè)運轉(zhuǎn)時辰 )
營業(yè)的弗成用水平直接和企業(yè)的經(jīng)濟(jì)損丟失落數(shù)值相關(guān),是以一切企業(yè)都異常關(guān)注營業(yè)可用性目的??捎眯栽礁?,就泄漏表現(xiàn)營業(yè)宕機的時辰比例越小。高可用性即指可用性很高(如 99%),宕機時辰很少。在高可用性之外還有一個術(shù)語叫連續(xù)可用性(Continuous Availability),指營業(yè)連續(xù)運轉(zhuǎn)完整不宕機,可用性為 100%。
完成高可用的癥結(jié)在于收受接管冗余的配備或設(shè)置配備鋪排來增加零星中的單點丟生效環(huán)節(jié)。好比,豎立高可用數(shù)據(jù)庫治理零星集群可以去除數(shù)據(jù)庫治理零星的單點丟生效,完成數(shù)據(jù)庫治理零星的高可用性。收受接管具罕有據(jù)冗余性的存儲配備,可以提高數(shù)據(jù)庫存儲的高可用性。收受接管冗余的數(shù)據(jù)銜接和匯集銜接,提高數(shù)據(jù)銜接和匯集銜接的可用性。豎立干事器集群,可以提高干事器高可用性。豎立災(zāi)備站點,可以提高悉數(shù)站點的可用性。
憑證針對的丟生效類型,可以把高可用性計劃分為幾個品級:
1)、2)和 3)是針對軟硬件缺點而設(shè)計的,這類高可用計劃通俗安裝在單個數(shù)據(jù)中央站點里。4)不只可以搪塞軟硬件缺點,還可以搪塞站點級的災(zāi)禍,只需安裝在相隔比擬遠(yuǎn)的兩個站點里。
傳統(tǒng)上,數(shù)據(jù)庫零星的高可用性可以經(jīng)由進(jìn)程構(gòu)建集群來完成??梢詷?gòu)建公用的數(shù)據(jù)庫集群(如 Oracle RAC,DB2 pureScale),不只提高可用性同時也擴(kuò)展年夜數(shù)據(jù)庫處置責(zé)罰能力。也可以行使零星集群軟件構(gòu)建悉數(shù)零星的高可用集群。在各類主流操作零星上都有集群軟件,可以支持構(gòu)建各類數(shù)據(jù)庫的高可用性集群,如:
在高可用零星集群中,多收受接管主機 – 備機(Active-Standby)的安裝體式格式。主站點的數(shù)據(jù)庫零星用來處置責(zé)罰營業(yè),備站點的數(shù)據(jù)庫則處于待命形態(tài)。兩個站點經(jīng)由進(jìn)程同享存儲來同享數(shù)據(jù)(如圖 1 所示)。在主站點發(fā)生發(fā)火缺點時,集群軟件可以經(jīng)由進(jìn)程心跳舊事喪丟失落活絡(luò)檢測到缺點,并自動將數(shù)據(jù)庫干事在備用站點從新啟動,完成缺點切換進(jìn)程。
所謂數(shù)據(jù)庫雙活(Active/Active),是指兩個數(shù)據(jù)庫零星,可以相隔異常遠(yuǎn)的距離(如幾千千米),可以同時運轉(zhuǎn)支持溝通的運用負(fù)載,而且在一方泛起缺點時可以活絡(luò)切換到其他一方。一個完整的數(shù)據(jù)庫雙活計劃,通俗需包括:
– 兩個數(shù)據(jù)中央
– 在兩個數(shù)據(jù)中央的數(shù)據(jù)庫之間雙向復(fù)制運用級數(shù)據(jù)的異步復(fù)制軟件
– 運用網(wǎng)關(guān),擔(dān)負(fù)負(fù)載平衡和分發(fā)
– 監(jiān)控軟件,監(jiān)控一切部件的安康和功效情形
– 自動化的切換和回切對象
與傳統(tǒng)的收受接管 Failover 模子的災(zāi)備或高可用計劃比照,數(shù)據(jù)庫雙活計劃具有以下優(yōu)勢:
1)提高了零星可用性。雙活計劃不只支持缺點切換,而且因為兩頭數(shù)據(jù)庫都處于責(zé)任方法下,切換時辰會異常短(分鐘級),擔(dān)保了營業(yè)高可用性。
2)提高了容災(zāi)能力。雙活計劃里的兩個數(shù)據(jù)中央可以相隔異常遠(yuǎn),足以免自然災(zāi)禍釀成的息滅性效果。
3)擴(kuò)展年夜了零星處置責(zé)罰能力。完成雙活的兩個數(shù)據(jù)中央具有負(fù)載平衡的設(shè)置配備鋪排,處置責(zé)罰能力強于單一數(shù)據(jù)中央。
4)提高了成本行使率。兩個數(shù)據(jù)中央的 IT 舉動裝備獲得了富余行使,避免了傳統(tǒng)方法下備機的成本閑置。
憑證運用負(fù)載分配體式格式的不合,雙活計劃可以分紅上面幾種設(shè)置配備鋪排體式格式:
– Active/Standby:主機處置責(zé)罰讀寫類型的運用要求;備機完整處于閑置形態(tài),不處置責(zé)罰運用要求;數(shù)據(jù)從主機復(fù)制到備機
– Active/Query:主機處置責(zé)罰讀寫類型的運用要求;備機處置責(zé)罰只讀類型的運用要求;數(shù)據(jù)從主機復(fù)制到備機
– Active/Active:主機和備機都處置責(zé)罰讀寫類型的運用要求,這類情形下需求在運用設(shè)計層面盡量避免數(shù)據(jù)同時更改的沖突;數(shù)據(jù)在主機和備機間雙向復(fù)制
雙活計劃的切換不只包括傳統(tǒng)的自動式的缺點切換,還支持自動式的設(shè)計切換,和因為功效目的更改激起的自動式切換。
– 設(shè)計外切換,如由部件缺點激起的切換,發(fā)生發(fā)火時辰弗成猜測
– 設(shè)計內(nèi)切換,如由產(chǎn)物珍重激起的切換,放置在預(yù)定的珍重時辰窗口中
– 基于功效啟事的切換,如某端的數(shù)據(jù)復(fù)制延時過除夜或處置責(zé)罰能力下落,自動將部份運用負(fù)載切換到其他一端,發(fā)生發(fā)火時辰弗成猜測。這類切換只發(fā)生發(fā)火在 Active/Query 和 Active/Active 設(shè)置配備鋪排體式格式中。
本節(jié)我們講述若何行使 IBM Q 復(fù)制手藝來完成 DB2 數(shù)據(jù)庫零星的雙活。Q 復(fù)制將在這個雙活計劃中飾演數(shù)據(jù)庫復(fù)制對象的腳色。
Q 復(fù)制是 IBM 于 2004 年起推出的一種高功效的數(shù)據(jù)庫間異步數(shù)據(jù)復(fù)制手藝,次要支持 DB2 數(shù)據(jù)庫,也支持 Oracle 數(shù)據(jù)庫。它經(jīng)由進(jìn)程讀取源數(shù)據(jù)庫的日志記載來捕捉數(shù)據(jù)轉(zhuǎn)變,并將數(shù)據(jù)轉(zhuǎn)變以數(shù)據(jù)庫生意營業(yè)為單元經(jīng)由進(jìn)程 MQ 舊事隊列發(fā)送到目的干事器,最初在目的干事器將生意營業(yè)回復(fù)中興出來并提交至目的數(shù)據(jù)庫。這個手藝可以在以下產(chǎn)物中獲得:
– IBM InfoSphere Data Replication
– InfoSphere Replication Server
– IBM DB2 UDB
– IBM InfoSphere Warehouse
下圖 2 描寫了 Q 復(fù)制中的癥結(jié)組件。
Q 復(fù)制手藝具有以下手藝特色:
1)高功效。在源端,Q 復(fù)制經(jīng)由進(jìn)程讀取數(shù)據(jù)庫日志來捕捉記載轉(zhuǎn)變,弗成使數(shù)據(jù)庫查詢來獲得數(shù)據(jù)。這樣既避免了與源端的運用爭搶接見數(shù)據(jù)庫,減小了對運用的影響,又擔(dān)保了轉(zhuǎn)變捕捉的高功效。在目的端,Q 復(fù)制行使了并發(fā)手藝,擔(dān)保了高功效地向目的數(shù)據(jù)庫寫入數(shù)據(jù)。
2)低延時。Q 復(fù)制經(jīng)由進(jìn)程 MQ 舊事隊列傳輸數(shù)據(jù)修改,增加了悉數(shù)復(fù)制環(huán)節(jié)的 I/O 操作次數(shù)和守候時辰,擔(dān)保了數(shù)據(jù)復(fù)制的延時可以低到數(shù)秒之內(nèi)。
3)擔(dān)保目的端數(shù)據(jù)的生意營業(yè)不合性。Q 復(fù)制是以生意營業(yè)為復(fù)制的最小數(shù)據(jù)單元的,這樣目的端數(shù)據(jù)老是處于生意營業(yè)不合性形態(tài)。
4)無邪的設(shè)置配備鋪排體式格式。Q 復(fù)制是表級復(fù)制手藝,可以設(shè)置配備鋪排 Q 復(fù)制只復(fù)制特定運用負(fù)載所行使的表。還可以遴選需復(fù)制的行和列。
5)異步復(fù)制。Q 復(fù)制是一種異步復(fù)制手藝,對運用影響小。需求留意的是,在源數(shù)據(jù)庫泛起缺點時,異步復(fù)制可以會組成目的端數(shù)據(jù)喪丟失落。
6)雄厚的平臺支持。Q 復(fù)制支持一切主流開放平臺(AIX,HP-UX,Linux,SunOS,Windows)和除夜型機平臺 z/OS。
7)支持異構(gòu)數(shù)據(jù)庫。Q 復(fù)制行使悍然的尺度接口接見數(shù)據(jù)庫及日志,所以它支持在各類類型各類版本的 DB2 數(shù)據(jù)庫和 Oracle 數(shù)據(jù)庫間復(fù)制更改。
8)易于行使:Q 復(fù)制配套有圖形化的設(shè)置配備鋪排對象復(fù)制中央,基于 WEB 的監(jiān)控對象 Q 復(fù)制 Dashboard,和可編程式的敕令行劇本對象 ASNCLP,行使異常無邪隨意。
這個計劃可以圖示以下:
個中 Q 復(fù)制被用作在兩個數(shù)據(jù)中央的 DB2 數(shù)據(jù)庫之間的數(shù)據(jù)復(fù)制對象。在雙活計劃中行使 Q 復(fù)制有以下優(yōu)點:
1)因為 Q 復(fù)制具有很低的復(fù)制延時,可以擔(dān)保 RPO 比擬低。假定是設(shè)計內(nèi)停機景遇,可以擔(dān)保 RPO 為 0。
2)因為 Q 復(fù)制的目的數(shù)據(jù)庫老是處于生意營業(yè)不合性形態(tài),隨時可用,可以擔(dān)保切換時所需時辰比擬小,擔(dān)保了 RTO 很低。
3)因為 Q 復(fù)制是異步復(fù)制手藝,對 DB2 數(shù)據(jù)庫的營業(yè)呼應(yīng)時辰?jīng)]有影響,距離的增除夜不會組成呼應(yīng)時辰的增除夜,擔(dān)保了遠(yuǎn)距離安裝的可行性。
4)Q 復(fù)制的目的數(shù)據(jù)庫隨時可用且復(fù)制延時較低,所以不只可以用于實行對復(fù)制延時不敏感的報表型查詢運用,還可以實行對數(shù)據(jù)延時比擬敏感的只讀或讀寫型 OLTP 運用,提高了負(fù)載處置責(zé)罰能力和成本行使率。
5)Q 復(fù)制支持一切的雙活設(shè)置配備鋪排體式格式:Active/Standby,Active/Query,Active/Active。
上面我們來描寫一下 Q 復(fù)制在各類范例切換場景中是若何責(zé)任的。
Active/Standby 體式格式
– 主站點 A 缺點
在主站點 A 發(fā)生發(fā)火缺點的情形下,備用站點 B 守候源端 Q 復(fù)制已發(fā)送到站點 B 的數(shù)據(jù)都被運用到數(shù)據(jù)庫上,然后就可以把正天職配到站點 A 的一切運用負(fù)載切換到備用站點 B。在備用站點 B 新發(fā)生發(fā)火的數(shù)據(jù)修改會被 Q 復(fù)制捕捉并發(fā)送出去。因為主站點 A 弗成用,所以修改的數(shù)據(jù)會被暫存在站點 B 的 MQ 舊事隊列中。
在主站點 A 恢復(fù)后,暫存在站點 B 的 MQ 舊事隊列中的數(shù)據(jù)會被傳送到站點 A,并被站點 A 的 Q 復(fù)制軌范運用到數(shù)據(jù)庫上。完成后待 Q 復(fù)制延時較低時可以把一切運用切換回主站點 A,從新回到 Active/Standby 形態(tài)。
– 備用站點 B 缺點
沒有影響。在備用站點 B 恢復(fù)后,Q 復(fù)制會自動把時期主站點 A 上發(fā)生發(fā)火的數(shù)據(jù)修改復(fù)制到備用站點 B。
Active/Query 體式格式
– 主站點 A 缺點
與 1) 的主站點 A 缺點異常相像。
在主站點 A 發(fā)生發(fā)火缺點的情形下,查詢站點 B 守候源端 Q 復(fù)制已發(fā)送到站點 B 的數(shù)據(jù)都被運用到數(shù)據(jù)庫上,然后就可以把正天職配到站點 A 的一切運用負(fù)載切換到備用站點 B。這時辰站點 B 為一切的運用負(fù)載供應(yīng)干事。在查詢站點 B 新發(fā)生發(fā)火的數(shù)據(jù)修改會被 Q 復(fù)制捕捉并發(fā)送出去。因為主站點 A 弗成用,所以修改的數(shù)據(jù)會被暫存在站點 B 的 MQ 舊事隊列中。
在主站點 A 恢復(fù)后,暫存在站點 B 的 MQ 舊事隊列中的數(shù)據(jù)會被傳送到站點 A,并被站點 A 的 Q 復(fù)制軌范運用到數(shù)據(jù)庫上。完成后待 Q 復(fù)制延時較低時可以把讀寫型運用切換回主站點 A,在站點 B 只留下查詢型運用,從新回到 Active/Query 形態(tài)。
– 查詢站點 B 缺點
在查詢站點 B 發(fā)生發(fā)火缺點的情形下,可以把正天職配到站點 B 的一切查詢型運用負(fù)載切換到主站點 A。這時辰站點 A 為一切的運用負(fù)載供應(yīng)干事。在站點 A 發(fā)生發(fā)火的數(shù)據(jù)修改會被 Q 復(fù)制捕捉并發(fā)送出去。因為查詢站點 B 弗成用,所以修改的數(shù)據(jù)會被暫存在站點 A 的 MQ 舊事隊列中。
在查詢站點 B 恢復(fù)后,暫存在站點 A 的 MQ 舊事隊列中的數(shù)據(jù)會被傳送到站點 B,并被站點 B 的 Q 復(fù)制軌范運用到數(shù)據(jù)庫上。完成后待 Q 復(fù)制延時較低時可以把最初分配給查詢站點 B 的查詢型運用負(fù)載切換回查詢站點 B,從新回到 Active/Query 形態(tài)。
Active/Active 體式格式
– 站點 A 缺點
與 1) 的主站點 A 缺點異常相像。
在站點 A 發(fā)生發(fā)火缺點的情形下,站點 B 守候源端 Q 復(fù)制已發(fā)送到站點 B 的數(shù)據(jù)都被運用到數(shù)據(jù)庫上,然后就可以把正天職配到站點 A 的一切運用負(fù)載切換到站點 B。這時辰站點 B 為一切的運用負(fù)載供應(yīng)干事。在站點 B 新發(fā)生發(fā)火的數(shù)據(jù)修改會被 Q 復(fù)制捕捉并發(fā)送出去。因為站點 A 弗成用,所以修改的數(shù)據(jù)會被暫存在站點 B 的 MQ 舊事隊列中。
在站點 A 恢復(fù)后,暫存在站點 B 的 MQ 舊事隊列中的數(shù)據(jù)會被傳送到站點 A,并被站點 A 的 Q 復(fù)制軌范運用到數(shù)據(jù)庫上。這時辰可以把最初分配到站點 A 的讀寫型運用切換回站點 A,在站點 B 只留下部份讀寫負(fù)載,從新回到 Active/Active 形態(tài)。
Active/Standby 體式格式
- 主站點 A 設(shè)計內(nèi)零星珍重
在珍重最先后,首先主站點 A 暫停收受接管運用負(fù)載。守候主站點 A 上的所罕有據(jù)修改都已被 Q 復(fù)制運用到備用站點 B 的數(shù)據(jù)庫上,然后就可以住手主站點 A 的數(shù)據(jù)庫和 Q 復(fù)制軌范(包括 MQ),把正天職配到站點 A 的一切運用負(fù)載切換到備用站點 B。在備用站點 B 新發(fā)生發(fā)火的數(shù)據(jù)修改會被 Q 復(fù)制捕捉并發(fā)送出去。因為主站點 A 弗成用,所以修改的數(shù)據(jù)會被暫存在站點 B 的 MQ 舊事隊列中。在主站點 A 珍重完成后從新啟動數(shù)據(jù)庫和 Q 復(fù)制軌范(包括 MQ),暫存在站點 B 的 MQ 舊事隊列中的數(shù)據(jù)會被傳送到站點 A,并被站點 A 的 Q 復(fù)制軌范運用到數(shù)據(jù)庫上。完成后待 Q 復(fù)制延時較低時可以把正天職配到站點 A 的一切運用負(fù)載切換回主站點 A,從新回到 Active/Standby 形態(tài)。
- 備用站點 B 設(shè)計內(nèi)零星珍重
只需求住手備用站點 B 的數(shù)據(jù)庫和 Q 復(fù)制軌范(包括 MQ),等珍重竣事后從新啟動即可。Q 復(fù)制會自動把珍重時期主站點 A 上發(fā)生發(fā)火的數(shù)據(jù)修改復(fù)制到備用站點 B。
Active/Query 體式格式
- 主站點 A 設(shè)計內(nèi)零星珍重
與 1) 的主站點 A 設(shè)計內(nèi)零星珍重異常相像。
在珍重最先后,首先主站點 A 暫停收受接管運用負(fù)載。守候主站點 A 上的所罕有據(jù)修改都已被 Q 復(fù)制運用到查詢站點 B 的數(shù)據(jù)庫上,然后就可以住手主站點 A 的數(shù)據(jù)庫和 Q 復(fù)制軌范(包括 MQ),把正天職配到站點 A 的一切運用負(fù)載切換到備用站點 B。在查詢站點 B 新發(fā)生發(fā)火的數(shù)據(jù)修改會被 Q 復(fù)制捕捉并發(fā)送出去。因為主站點 A 弗成用,所以修改的數(shù)據(jù)會被暫存在站點 B 的 MQ 舊事隊列中。
在主站點 A 珍重完成后從新啟動數(shù)據(jù)庫和 Q 復(fù)制軌范(包括 MQ),暫存在站點 B 的 MQ 舊事隊列中的數(shù)據(jù)會被傳送到站點 A,并被站點 A 的 Q 復(fù)制軌范運用到數(shù)據(jù)庫上。
完成后待 Q 復(fù)制延時較低時可以把正天職配到站點 A 的一切運用負(fù)載切換回主站點 A,在站點 B 只留下查詢型運用,從新回到 Active/Query 形態(tài)。
- 查詢站點 B 設(shè)計內(nèi)零星珍重
在珍重最先后,把正天職配到站點 B 的一切查詢型運用負(fù)載切換到主站點 A,然后住手查詢站點 B 的數(shù)據(jù)庫和 Q 復(fù)制軌范(包括 MQ)。這時辰站點 A 為一切的運用負(fù)載供應(yīng)干事。在站點 A 發(fā)生發(fā)火的數(shù)據(jù)修改會被 Q 復(fù)制捕捉并發(fā)送出去。因為查詢站點 B 弗成用,所以修改的數(shù)據(jù)會被暫存在站點 A 的 MQ 舊事隊列中。
等查詢站點 B 珍重竣事后從新啟動數(shù)據(jù)庫和 Q 復(fù)制軌范(包括 MQ)。暫存在站點 A 的 MQ 舊事隊列中的數(shù)據(jù)會被傳送到站點 B,并被站點 B 的 Q 復(fù)制軌范運用到數(shù)據(jù)庫上。完成后待 Q 復(fù)制延時較低時可以把最初分配給查詢站點 B 的查詢型運用負(fù)載切換回查詢站點 B,從新回到 Active/Query 形態(tài)。
Active/Active 體式格式
- 站點 A 設(shè)計內(nèi)零星珍重
與 1) 主站點 A 設(shè)計內(nèi)零星珍重異常相像。
在珍重最先后,首先站點 A 暫停收受接管運用負(fù)載。守候站點 A 上的所罕有據(jù)修改都已被 Q 復(fù)制運用到站點 B 的數(shù)據(jù)庫上,然后就可以住手站點 A 的數(shù)據(jù)庫和 Q 復(fù)制軌范(包括 MQ),把正天職配到站點 A 的一切運用負(fù)載切換到站點 B。在站點 B 新發(fā)生發(fā)火的數(shù)據(jù)修改會被 Q 復(fù)制捕捉并發(fā)送出去。因為站點 A 弗成用,所以修改的數(shù)據(jù)會被暫存在站點 B 的 MQ 舊事隊列中。
在站點 A 珍重完成后從新啟動數(shù)據(jù)庫和 Q 復(fù)制軌范(包括 MQ),暫存在站點 B 的 MQ 舊事隊列中的數(shù)據(jù)會被傳送到站點 A,并被站點 A 的 Q 復(fù)制軌范運用到數(shù)據(jù)庫上。完成后待 Q 復(fù)制延時較低時可以把正天職配到站點 A 的一切運用負(fù)載切換回站點 A,從新回到 Active/Active 形態(tài)。
假定從一個站點向其他一個站點的 Q 復(fù)制延時過除夜,那末運轉(zhuǎn)在目的站點的運用負(fù)載運轉(zhuǎn)效果的有用性就會遭到影響,這時辰候也需求啟動切換。
Active/Query 體式格式 – 查詢站點 B 數(shù)據(jù)復(fù)制延時過除夜
在查詢站點 B 視察到復(fù)制延時過除夜的情形下,可以把正天職配到站點 B 的一切查詢型運用負(fù)載切換到主站點 A。這時辰站點 A 為一切的運用負(fù)載供應(yīng)干事。在站點 A 發(fā)生發(fā)火的數(shù)據(jù)修改會被 Q 復(fù)制捕捉并發(fā)送出去,并最終運用到站點 B。
在查詢站點 B 的復(fù)制延時恢復(fù)到較低時,可以讓站點 A 暫停收受接管最初分配給站點 B 的那部份查詢運用的要求,等站點 A 此前發(fā)生發(fā)火的一切轉(zhuǎn)變都已由 Q 復(fù)制運用到站點 B 的數(shù)據(jù)庫上,
然后就可以把最初分配到站點 B 的查詢型運用負(fù)載切換回查詢站點 B,從新回到 Active/Query 形態(tài)。
2) Active/Active 體式格式 – 站點 B 數(shù)據(jù)處置責(zé)罰延時過除夜
在站點 B 視察到復(fù)制延時過除夜的情形下,可以讓站點 B 暫停收受接管運用要求,等站點 B 發(fā)生發(fā)火的一切轉(zhuǎn)變都已由 Q 復(fù)制運用到站點 A 的數(shù)據(jù)庫上,然后就可以把最初分配到站點 B 的一切
運用負(fù)載切換到站點 A。這時辰站點 A 為一切的運用負(fù)載供應(yīng)干事。在站點 A 新發(fā)生發(fā)火的數(shù)據(jù)修改會被 Q 復(fù)制捕捉并發(fā)送出去,并最終運用到站點 B。
在站點 B 的復(fù)制延時恢復(fù)到較低時,可以讓站點 A 暫停收受接管最初分配給站點 B 的那部份運用的要求,等站點 A 此前發(fā)生發(fā)火的一切轉(zhuǎn)變都已由 Q 復(fù)制運用到站點 B 的數(shù)據(jù)庫上,
然后就可以把最初分配到站點 B 的一切運用負(fù)載切換回站點 B。從新回到 Active/Active 形態(tài)。
DB2 數(shù)據(jù)庫自己還帶有一個 HADR(High Availability Disaster Recovery)特色,也可以用來完成 DB2 數(shù)據(jù)庫的災(zāi)備和高可用性。如圖 4 所示:
DB2 HADR 是一個數(shù)據(jù)庫級的復(fù)制計劃。如圖 4 所示,HADR 的主節(jié)點經(jīng)由進(jìn)程 log shipping 手藝將 log 記載發(fā)送到目的節(jié)點,目的節(jié)點經(jīng)由進(jìn)程賡續(xù)前滾這些 log 記載,擔(dān)保和主節(jié)點的數(shù)據(jù)不合性。只需主節(jié)點才華處置責(zé)罰讀寫型運用負(fù)載,備用節(jié)點可以責(zé)任在 standby 形態(tài)下或處置責(zé)罰只讀型的查詢。DB2 HADR 要求兩頭的 DB2 數(shù)據(jù)庫的版本及操作零星平臺版本必需不合,而且不支持 DB2 分區(qū)數(shù)據(jù)庫。
DB2 HADR 支持多種復(fù)制方法:同步,近同步,異步,超異步。同步復(fù)制體式格式可以用來構(gòu)建距離比擬近的災(zāi)備節(jié)點,異步和超異步復(fù)制體式格式則可以用來構(gòu)建距離比擬遠(yuǎn)的高可用節(jié)點。雖然和 Q 復(fù)制一樣可以用于高可用性計劃,但 DB2 HADR 和 Q 復(fù)制有許多區(qū)分,需求憑證理想的需乞降場景來選擇適合的手藝。下表 1 列出了 Q 復(fù)制和 DB2 HADR 的比擬:
HADR (日志重放) | Q Replication (事務(wù)重放) | |
---|---|---|
需求包括 | 災(zāi)禍恢復(fù) (DB2 LUW) | 災(zāi)禍恢復(fù) (DB2) 高可用性 (DB2) 信息集成 (DB2) |
支持的平臺 | 只需 LUW | z/OS 和 LUW |
軟硬件要求 | 只支持相反的硬件和軟件 | 可所以不合的硬件和不合的數(shù)據(jù)庫 |
源和目的數(shù)據(jù) | 源和目的的數(shù)據(jù)溝通 | 準(zhǔn)許數(shù)據(jù)轉(zhuǎn)換 |
能否是支持 DB2 分區(qū)數(shù)據(jù)庫 | 否 | 是 |
復(fù)制的對象 | 悉數(shù)數(shù)據(jù)庫 | 表級別 |
復(fù)制的操作 | 一切記載在日志的 DML,DDL 操作。沒有記載的日志的操作不能復(fù)制,如 LOBs,LOAD。 | 一切 DML 操作,包括 LOBs。V10 后支持 DDL 復(fù)制 |
Active/Active 設(shè)置配備鋪排類型 | ACTIVE/STANDBY ACTIVE/QUERY V9.7FP1 (2) | ACTIVE/STANDBY ACTIVE/QUERY ACTIVE/ACTIVE |
數(shù)據(jù)不合性 | DB2 Database at point-in-time | DB2 Database transactions |
所用手藝 | 日志頁面?zhèn)魉秃蛿?shù)據(jù)庫回滾 同步方法,近同步方法,異步方法和超級異步方法 | 經(jīng)由進(jìn)程 SQL 語句重做數(shù)據(jù)庫事務(wù) 異步方法 |
治理和設(shè)置配備鋪排 | DB2 掌握中央(Control Center) DB2 Data Studio 可經(jīng)由進(jìn)程 TSA 或 HACMP enable 手工干預(yù)干與 | Replication Center Web-based Rep Dashboard 手工收受接管 |
數(shù)據(jù)損丟失落目的 (RPO) | 0 ( 在對等形態(tài) ) | 小于 1 秒 |
恢復(fù)時辰目的 (RTO) | 30 秒 | 2-5 秒 |
支持的距離 | 短距離 (幾百千米)每 100 千米增加 1 毫秒的呼應(yīng)時辰 | 無限制 |
對運用的呼應(yīng)時辰影響 | 對近同步和同步方法有影響 | 無影響 |
晉級到新的 DB2 | 需求停丟失落運用 | 無需停運用 |
現(xiàn)實上 Q 復(fù)制可以和 DB2 HADR 連絡(luò)行使以構(gòu) R 構(gòu)建同數(shù)據(jù)中央或同城高可用集群,而行使 Q 復(fù)制構(gòu)建異地甚至異構(gòu)高可用計劃。
數(shù)據(jù)庫雙活是一個比擬新的概念,可以同時知足企業(yè)在營業(yè)高可用、數(shù)據(jù)容災(zāi)、功效擴(kuò)展年夜和提高成本行使率方面的需求。IBM Q 復(fù)制手藝是一種高功效低延時的運用級異步數(shù)據(jù)庫復(fù)制計劃,異常適合于構(gòu)建數(shù)據(jù)庫雙活零星。