日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
云計算數(shù)據(jù)庫的災難恢復解決方案是如何演進的?

?譯者 | 李睿

審校 | 孫淑娟

災難恢復(DR)是企業(yè)級數(shù)據(jù)庫的核心功能。數(shù)據(jù)庫供應商一直在尋找改進災難恢復的方法,而在過去的10年里,數(shù)據(jù)庫災難恢復也出現(xiàn)了重大的創(chuàng)新。

本文簡要介紹數(shù)據(jù)庫災難恢復的發(fā)展歷史,重點介紹了基于云計算的分布式數(shù)據(jù)庫中的災難恢復(DR)和高可用性(HA)的創(chuàng)新。

1、測量高可用性和災難恢復

高可用性(HA)和災難恢復(DR)的目標是保持系統(tǒng)在操作級別上正常運行。它們都試圖消除系統(tǒng)中的單點故障,并使故障切換或恢復過程實現(xiàn)自動化。

高可用性(HA)通常由系統(tǒng)每年運行的時間百分比來衡量。災難恢復的重點是在災難發(fā)生之后使系統(tǒng)恢復服務,使數(shù)據(jù)的損失最小化。這是由兩個指標來衡量的:恢復所需的時間或恢復時間目標(RTO),以及數(shù)據(jù)量的丟失或恢復點目標(RPO)。而恢復點目標(RPO)和恢復時間目標(RTO)應該盡可能降低。

高可用性和災難恢復的測量

每個災難都是獨一無二的,因此容錯目標(FTT)描述了系統(tǒng)能夠承受的最大災難范圍。通常使用的容錯目標(FTT)是區(qū)域級別,它表示災難已經(jīng)影響到州或城市等地理區(qū)域。

2、災難恢復發(fā)展簡史

數(shù)據(jù)庫的災難恢復技術(shù)經(jīng)歷了備份和恢復、主備和多活三個階段。

(1)備份和恢復

在災難恢復的早期階段,數(shù)據(jù)庫利用數(shù)據(jù)塊和事務日志為完整數(shù)據(jù)和增量數(shù)據(jù)創(chuàng)建備份。如果發(fā)生災難,則從備份和應用程序事務日志恢復數(shù)據(jù)庫。

近年來,公共云數(shù)據(jù)庫服務將存儲復制與傳統(tǒng)數(shù)據(jù)庫備份技術(shù)相結(jié)合,提供基于快照的跨區(qū)域自動恢復備份。這種方法定期從源區(qū)域的數(shù)據(jù)庫生成快照,并將快照文件復制到目標區(qū)域。如果源區(qū)域崩潰,則從目標區(qū)域恢復數(shù)據(jù)庫,服務將會繼續(xù)。這種解決方案的恢復點目標(RPO)和恢復時間目標(RTO)可能長達幾個小時,因此它最適合沒有嚴格可用性需求的應用程序。

備份和恢復的災難恢復

(2)主備

數(shù)據(jù)庫集群標志著開發(fā)的第二個階段。在集群中,主節(jié)點讀取和寫入數(shù)據(jù)。一個或多個備份節(jié)點接收事務日志并應用它們,提供具有一定延遲的讀取功能。

主備的災難恢復

盡管這個解決方案涉及到集群的概念,但它仍然基于一個整體數(shù)據(jù)庫??蓴U展性僅限于讀操作,不能擴展寫操作。當然與前一代解決方案相比,其恢復時間目標(RTO)減少到幾分鐘,恢復點目標(RPO)減少到幾秒。

Amazon Aurora使用跨區(qū)域讀副本的邏輯復制,是建立在該技術(shù)上的早期云數(shù)據(jù)庫服務之一。

具有跨區(qū)域讀副本的Aurora邏輯復制

近年來,Aurora在這一設(shè)計的基礎(chǔ)上提供了全球數(shù)據(jù)庫服務。該服務通過存儲復制技術(shù),將數(shù)據(jù)從源區(qū)域異步復制到目的區(qū)域。如果源區(qū)域出現(xiàn)故障,服務可以立即切換到備份集群。恢復時間目標(RTO)可以減少到幾分鐘,恢復點目標(RPO)不到一秒。

(3)多活災難恢復

在多活災難恢復中,一個數(shù)據(jù)庫為同一份數(shù)據(jù)副本提供至少三個讀和寫服務節(jié)點,并且數(shù)據(jù)庫可以根據(jù)工作負載向外或向內(nèi)擴展。這種功能背后的需求來自廣泛的互聯(lián)網(wǎng)規(guī)模應用程序,這些應用程序需要更高的性能、更低的延遲、更高的可用性、彈性擴展性和數(shù)據(jù)庫的彈性。

傳統(tǒng)的分片數(shù)據(jù)庫基于一個或多個列共享數(shù)據(jù),形成了多活。分片解決方案通過事務日志復制實現(xiàn)災難恢復。例如,谷歌公司曾經(jīng)維護過一個非常大的MySQL分片系統(tǒng)。這個解決方案提供了某種程度的可擴展性,但不能隨著碎片的增加而提高災難恢復能力。其性能將顯著下降,維護成本將大幅上升。因此,分片是多活的過渡解決方案。

近年來,基于Raft或Paxos共識協(xié)議的無共享數(shù)據(jù)庫發(fā)展迅速。他們解決了以上提到的可擴展性和可用性挑戰(zhàn)。多活的主要參與者包括TiDB和CockroachDB。他們的數(shù)據(jù)庫及其災難恢復技術(shù)使大多數(shù)遺留數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫服務(RDS)過時。

3、具有分布式數(shù)據(jù)庫的多活災難恢復

以下了解應用于分布式數(shù)據(jù)庫的多活災難恢復。例如,TiDB是一個開源的、高可用性的分布式數(shù)據(jù)庫。它將每個表或分區(qū)劃分為較小的TiDB區(qū)域,并將這些TiDB區(qū)域中的數(shù)據(jù)的多個副本存儲在不同的TiKV節(jié)點上。這就是所謂的數(shù)據(jù)冗余。TiDB采用Raft共識協(xié)議,因此當數(shù)據(jù)發(fā)生更改時,只有在事務日志同步到大多數(shù)數(shù)據(jù)副本時才返回事務提交。這極大地提高了數(shù)據(jù)庫恢復點目標(RPO)。事實上,在大多數(shù)情況下恢復點目標(RPO)是0。這確保了數(shù)據(jù)的一致性。此外,TiDB的架構(gòu)將其存儲引擎和計算引擎分離開來。這允許用戶根據(jù)工作負載的變化擴展TiDB節(jié)點和TiKV存儲節(jié)點。

TiDB的存儲架構(gòu)

(1)典型的多區(qū)域容災解決方案

下圖顯示了TiDB如何交付典型的多區(qū)域災難恢復解決方案。

TiDB的多區(qū)域容災解決方案

以下是TiDB容災架構(gòu)的關(guān)鍵術(shù)語:

  • TiDB區(qū)域:TiDB的調(diào)度和存儲單元。
  • 區(qū)域:兩個地點或城市。
  • 可用性區(qū)域(AZ):獨立的高可用性(HA)分區(qū)。在大多數(shù)情況下,可用性區(qū)域(AZ)是一個區(qū)域中相距較近的兩個數(shù)據(jù)中心或城市。
  • L:Raft組的Leader副本。
  • F:Raft組中的Follower副本。

在上圖中,每個區(qū)域包含數(shù)據(jù)的兩個副本。它們位于不同的可用性區(qū)域(AZ)中,整個集群跨越三個區(qū)域。區(qū)域1通常處理讀寫請求。區(qū)域2用于在區(qū)域1發(fā)生災難后的故障轉(zhuǎn)移,它還可以處理一些對延遲不敏感的讀負載。區(qū)域3是保證即使在區(qū)域1完成時仍能達成共識的副本。這種典型的配置稱為“2-2-1”架構(gòu)。這種架構(gòu)不僅確保了災難恢復,而且為業(yè)務提供了多活能力。在這一架構(gòu)中:

  • 最大的容錯目標可以位于區(qū)域級別。
  • 可以擴展寫作能力。
  • 恢復點目標(RPO)為0。
  • 恢復時間目標(RTO)可以設(shè)置為1分鐘甚至更短。

許多分布式數(shù)據(jù)庫供應商經(jīng)常向他們的用戶推薦這種架構(gòu)作為災難恢復解決方案。例如,CockroachDB推薦他們的3-3-3配置來實現(xiàn)區(qū)域級災難恢復;Spanner為多區(qū)域部署提供2-2-1配置。但是,當區(qū)域1和2同時不可用時,這一解決方案不能保證高可用性。一旦區(qū)域1完全關(guān)閉,如果區(qū)域2上的任何一個存儲節(jié)點出現(xiàn)問題,則可能會導致系統(tǒng)性能下降,甚至數(shù)據(jù)丟失。如果需要多區(qū)域級別的容錯目標(FTT),或者需要嚴格的系統(tǒng)響應時間,則仍然需要將這一解決方案與事務日志復制技術(shù)相結(jié)合。

(2)使用變更數(shù)據(jù)捕獲增強的多區(qū)域災難恢復

TiCDC是TiDB的增量數(shù)據(jù)復制工具。它獲取TiKV節(jié)點上的數(shù)據(jù)變化,并與下游系統(tǒng)同步。TiCDC具有與事務日志復制系統(tǒng)類似的架構(gòu),但它具有更強的可擴展性,并且在災難恢復場景中與TiDB協(xié)同工作良好。

以下配置包含兩個TiDB集群。區(qū)域1和區(qū)域2共同組成集群1,這是一個由5個副本組成的集群。區(qū)域1包含兩個副本,用于提供讀寫操作,區(qū)域2包含兩個副本,用于在區(qū)域1發(fā)生災難時進行快速故障轉(zhuǎn)移。區(qū)域3包含一個用于在Raft組中達到quorum的副本。區(qū)域3中的集群2作為災難恢復集群。它包含三個副本,以便在區(qū)域1和區(qū)域2發(fā)生災難時提供快速故障轉(zhuǎn)移。TiCDC處理兩個集群之間數(shù)據(jù)更改的同步。這種增強的架構(gòu)可以稱為2-2-1:1。

使用TiCDC的TiDB多區(qū)域災難恢復

這種看似復雜的配置實際上具有更高的可用性。它可以實現(xiàn)多區(qū)域級別的最大容錯目標,恢復點目標(RPO)以秒為單位,恢復時間目標(RTO)以分鐘為單位。對于單個區(qū)域,如果完全不可用,恢復時間目標(RTO)為0。

(3)災難恢復解決方案比較

在下表中,對本文中提到的容災解決方案進行了比較:

4、結(jié)語

經(jīng)過30多年的發(fā)展和幾個不同的發(fā)展階段,災難恢復技術(shù)如今已經(jīng)進入了多活階段。

而使用無共享架構(gòu),TiDB等分布式數(shù)據(jù)庫結(jié)合了多副本技術(shù)和日志復制工具,將數(shù)據(jù)庫容災帶入多區(qū)域時代。

原文鏈接:https://dzone.com/articles/how-the-disaster-recovery-solutions-for-cloud-data


分享題目:云計算數(shù)據(jù)庫的災難恢復解決方案是如何演進的?
網(wǎng)頁鏈接:http://www.dlmjj.cn/article/ccooged.html