利用Amazon Aurora Global Database提升業(yè)務(wù)連續(xù)性
隨著企業(yè)業(yè)務(wù)的日益全球化,您對于數(shù)據(jù)庫的需求也將隨之?dāng)U展。舉例來說,您在蘇黎世的團隊與位于北京的辦公室必須以同樣的速度、同樣的安全性以及同樣的便捷性使用完全相同的資源。為此,我們推出Amazon Aurora Global Database,旨在將您的Amazon Aurora數(shù)據(jù)庫資源推向全世界。
Aurora能夠在其名為“保護組”的10 GB邏輯單元中構(gòu)建存儲卷。以此為基礎(chǔ),它將跨越同一區(qū)域內(nèi)三個可用區(qū)的六個存儲節(jié)點,將各保護組內(nèi)的數(shù)據(jù)進行往來復(fù)制。如果數(shù)據(jù)量超出當(dāng)前分配的存儲量,則Aurora可以無縫擴展分配容量以滿足業(yè)務(wù)需求,并根據(jù)實際情況靈活添加新的保護組。
初次亮相于re:Invent 2018大會的Aurora Global Database則進一步將復(fù)制流程擴展到AWS云的區(qū)域?qū)用?。這不僅帶來更快的跨區(qū)域災(zāi)難恢復(fù),也實現(xiàn)了高性能、低延遲的跨區(qū)域讀取擴展。憑借Aurora Global Database,您可以將數(shù)據(jù)庫擴展至多個區(qū)域,并將對數(shù)據(jù)庫性能造成的影響控制在最低水平。
在本文中,我們將介紹Aurora Global Database的基本情況,并探討其優(yōu)勢與實際用例。
Aurora Global Database是什么?
Aurora Global Database即Aurora全局?jǐn)?shù)據(jù)庫,能夠跨越多個區(qū)域?qū)崿F(xiàn)服務(wù)中斷狀況下的災(zāi)難恢復(fù),并以更低延遲支持全局讀取。
作為Aurora中的一項功能,Global Database在Aurora的專用存儲層內(nèi)借助專用基礎(chǔ)設(shè)施以處理跨區(qū)域復(fù)制操作。存儲層內(nèi)的專用復(fù)制服務(wù)器負(fù)責(zé)承擔(dān)全部復(fù)制任務(wù),從而在不影響數(shù)據(jù)庫性能的前提下為用戶提供更強的業(yè)務(wù)恢復(fù)能力與可用性水平。
與傳統(tǒng)方案相比,Aurora Global Database中使用的MySQL二進制日志復(fù)制與存儲復(fù)制擁有一系列關(guān)鍵區(qū)別。首先,邏輯復(fù)制(或者說二進制日志復(fù)制)會在復(fù)制源(即主數(shù)據(jù)庫)上記錄數(shù)據(jù)變更的語句或行更改,而后將其重新應(yīng)用于復(fù)制目標(biāo)(副本數(shù)據(jù)庫)。主數(shù)據(jù)庫與副本數(shù)據(jù)庫彼此獨立,并可包含相互不同的數(shù)據(jù)集。
在另一方面,Aurora Global Database利用物理存儲級復(fù)制創(chuàng)建出與主數(shù)據(jù)庫內(nèi)數(shù)據(jù)集完全相同的副本,從而消除了對二進制日志的依賴性。換句話說,Global Database的次區(qū)域?qū)嵗辉傩枰夭?shù)據(jù)修改的語句,這就大大減少了復(fù)制開銷,并為應(yīng)用程序工作負(fù)載預(yù)留出更多容量。
如此一來,來自寫入程序的已提交事務(wù)通常會在一秒之內(nèi)被全局復(fù)制到您所選定的區(qū)域。當(dāng)Global Database處理這項復(fù)制之后,相關(guān)數(shù)據(jù)即可被永久保存在集群所在區(qū)域內(nèi)的三個可用區(qū)當(dāng)中。
為什么使用Global Database?
Aurora Global Database能夠提供以下幾項重要助益:
·快速實現(xiàn)指向次區(qū)域的全局故障轉(zhuǎn)移
·帶來更低的跨區(qū)域復(fù)制延遲
·幾乎不會對數(shù)據(jù)庫性能造成影響
·快速跨區(qū)域遷移
·兼容MySQL
快速實現(xiàn)指向次區(qū)域的全局故障轉(zhuǎn)移
可靠的災(zāi)難恢復(fù)能力是支持業(yè)務(wù)連續(xù)性計劃的核心前提,也是抵御意外事件的有力武器。Aurora Global Database在災(zāi)難恢復(fù)中的兩大重要指標(biāo)上擁有出色的表現(xiàn):
·RTO(恢復(fù)時間目標(biāo))——即災(zāi)難發(fā)生后,需要多長時間才能恢復(fù)正常工作狀態(tài)。
·RPO(恢復(fù)點目標(biāo))——災(zāi)難事件可能破壞的數(shù)據(jù)量。
在Aurora Global Database的支持下,RPO將被控制在5秒以內(nèi)——這將最大程度降低數(shù)據(jù)丟失,而RTO也保持在1分鐘以下、顯著縮短停機時長。
Aurora Global Database提供災(zāi)難恢復(fù)功能,即使在所處區(qū)域范圍內(nèi)發(fā)生故障時亦可繼續(xù)運行。在數(shù)據(jù)庫發(fā)生潛在降級或者隔離期間,Aurora Global Database會快速響應(yīng)并將次區(qū)域提升為主區(qū)域。借助全局存儲復(fù)制功能,提升后的新主區(qū)域能夠在一分鐘內(nèi)接管全部讀取/寫入工作負(fù)載,從而最大程度降低故障問題對應(yīng)用程序正常運行時間的影響。
帶來更低的跨區(qū)域復(fù)制延遲
除了提供災(zāi)難恢復(fù)功能之外,Aurora Global Database還允許用戶將指向主區(qū)域的數(shù)據(jù)讀取操作快速轉(zhuǎn)移至次區(qū)域。Aurora Global Database的常規(guī)復(fù)制等待時長低于1秒,上限不超過5秒。極低的延遲水平,意味著您的在線事務(wù)處理(OLTP)工作負(fù)載可輕松實現(xiàn)全局讀取擴展。
此外,低延遲還允許您更快為全局客戶端應(yīng)用程序提供讀取服務(wù),進而實現(xiàn)更佳用戶體驗與參與度改善。在Aurora Global Database的支持下,客戶對跨區(qū)域應(yīng)用程序堆棧執(zhí)行的操作將共享相同的配置數(shù)據(jù),并以近即時方式實現(xiàn)數(shù)據(jù)復(fù)制。
如果您在全球設(shè)有多家辦事處,且客戶群體分布在世界各地,則可在主區(qū)域處上傳您的內(nèi)容,并保證以本地級別延遲將內(nèi)容交付給身在各個位置的客戶。
幾乎不會對數(shù)據(jù)庫性能造成影響
Aurora存儲層中的Aurora Global Database專用基礎(chǔ)設(shè)施能夠確保配置在主區(qū)域及次區(qū)域內(nèi)的數(shù)據(jù)庫資源始終完全可用,進而支持各類應(yīng)用程序工作負(fù)載。更重要的是,Aurora復(fù)制操作幾乎甚至完全不會對主數(shù)據(jù)庫集群性能造成影響。
快速跨區(qū)域遷移
Aurora Global Database能夠?qū)⑸a(chǎn)數(shù)據(jù)庫直接復(fù)制至另一AWS區(qū)域,借此實現(xiàn)應(yīng)用程序遷移。在更新次區(qū)域之后,您可以將副本數(shù)據(jù)庫從Aurora Global Database中分離出來,并像使用常規(guī)Aurora數(shù)據(jù)庫集群那樣對其執(zhí)行操作。在將現(xiàn)有獨立集群接入目標(biāo)區(qū)域內(nèi)的應(yīng)用程序堆棧之后,該集群將立即開始提供讀取/寫入工作負(fù)載支持。
兼容MySQL
Aurora Global Database目前已經(jīng)支持Amazon Aurora的MySQL兼容性。憑借著MySQL技能的廣泛普及,全球各地的應(yīng)用程序開發(fā)者都將在延續(xù)自身使用習(xí)慣的同時,充分享受到開源數(shù)據(jù)庫帶來的靈活性優(yōu)勢。
創(chuàng)建Aurora Gobal Database
您可以通過AWS Management Console、AWS CLI或者在AWS CLI/SDK中運行CreateGlobalCluster操作以創(chuàng)建Aurora Global Database。若需了解更多細(xì)節(jié)信息,請參閱創(chuàng)建Aurora Global Database。
在以下截圖當(dāng)中,我啟動了一個Aurora Global Database,其中主集群位于美國西部2(俄勒岡州)區(qū)域,次集群則位于美國東部1(北弗吉尼亞州)區(qū)域。關(guān)于如何添加次集群的細(xì)節(jié)信息,請參閱向Aurora Global Database添加AWS區(qū)域。
總結(jié)
在本文中,我們介紹了Aurora Global Database功能。在它的幫助下,用戶可以利用快速災(zāi)難恢復(fù)機制輕松應(yīng)對所在區(qū)域內(nèi)發(fā)生的大規(guī)模故障,亦可靈活將數(shù)據(jù)交付至全球不同區(qū)域內(nèi)的客戶應(yīng)用程序當(dāng)中。
本篇作者
Ahmad Elayat:Amazon Web Services公司Amazon Aurora產(chǎn)品經(jīng)理。