雲端計算時代的資料庫執行
公共雲和私有云使企業能夠擺脫容易出錯的傳統架構,並執行具有可靠性為5個9和6個9的應用程式。業務應用程式可以按需、即時且經濟高效地進行調整。資料庫應用程式一直是所有企業基礎設施的主要組成部分,但這些應用程式(特別是關係資料庫)在使用雲端計算能力方面仍有很長的路要走。它們被設計為大型單片應用程式,當組織嘗試以可擴充套件的方式可靠地執行它們時,將面臨著相當大的挑戰。
傳統的分散式環境資料庫通常部署為多個獨立的資料庫例項,具有統一查詢的能力。對於測試/開發環境,生成資料庫的許多物理副本在後臺建立,導致資料蔓延。雲端計算與這些解決方案的整合是有限的:重點是資料的位置,而不是使用分散式系統的強大功能。讓我們考慮針對高可用性和測試/開發資料庫的情況解決這些問題的不同選項。
高度可用的資料庫
雲端計算時代的高可用資料庫是可擴充套件、容錯且與任何私有云或公共雲相容的資料庫例項。它們旨在提供業務連續性,而不會因任何型別的硬體或網路故障而導致使用者體驗的影響。其核心設計原則是消除任何單點故障,並提供平穩的故障轉移體驗。
主動/被動資料庫副本
第一種選擇是在主/副本體系結構中部署資料庫,以便在任何給定時間單個主伺服器提供資料庫請求。複製策略使用資料庫供應商的複製特性或外部第三方複製工具從主伺服器同步複製資料。一旦主伺服器發生故障,副本伺服器就會接管並使用複製的資料在故障發生之前重新啟動資料庫。
這種方法可能會遇到資料庫效能和可靠性問題。資料庫操作將與這兩個位置的網路一樣快。第三方複製工具可能無法提供穩定的資料複製,並且可能在故障轉移後使資料庫處於不一致的狀態。
內建高可用性的資料庫
第二種選擇是尋找提供內建高可用性的資料庫解決方案。此功能在Noss資料庫(如Cassandra和MongoDB)中更常見。它們從資料庫層建立一致的資料副本,並啟用容錯資料庫。然而,這種方法可能對許多企業不起作用,因為傳統的關係資料庫管理系統缺乏這種能力。此外,混合和多雲複製通常不是這些解決方案的選擇。
測試/開發資料庫
克隆資料庫是測試、開發和分析的共同要求。生產資料庫始終在隔離的基礎設施中執行,並且為備份、大資料分析和質量保證建立此資料庫的一個或多個副本。
快照和克隆
要將資料庫複製到另一個站點或雲平臺,操作人員可以獲取快照並將其物理克隆到其他位置。這樣做涉及設定策略,該策略定期獲取資料庫的快照。並將其克隆到預定義位置。使用者需要像Oracle RMAN這樣的解決方案,它可以跟蹤快照之間的變化,採取一致的備份,並在需要時進行恢復。但是對於所有資料庫都不存在這樣的解決方案,並且使用遠端資料中心和雲平臺來建立這樣的克隆仍然是複雜的(如果可行的話)過程。
適用於私有云、混合雲和多雲的高可用儲存
解決這些問題的更好解決方案是從儲存層完全抽象資料庫層,並讓儲存解決方案處理應用程式的高可用性。軟體定義儲存(SDS)可以通過提供不同型別的硬體和軟體故障的資料保護來提供此功能。軟體定義儲存(SDS)還可以靈活地在後端使用任何型別的儲存硬體,其中包括物理伺服器和虛擬雲實例。
這種方法的唯一缺點是投資於正確的解決方案,這種解決方案很容易與客戶選擇的資料庫應用程式整合,並且還與其他資料庫相容以實現轉換。此外,此類解決方案應該能夠在任何私有云或公共雲上執行,並且應該模糊內部部署和公共雲位置之間的界限。
以下是這樣的解決方案:
資料庫即服務
社交媒體、投資、遊戲等需要5個9或6個9的可用性,並採用全球可訪問性的應用程式,需要最適合雲端的整個資料庫系統。資料庫即服務(DBaaS)提供了一種在雲中執行資料庫的簡便方法,可以節省購買伺服器、構建基礎設施和構建大型團隊來管理這些資料庫的時間。供應商提供多種方式來使用資料庫即服務(DBaaS)產品,例如安裝了資料庫的虛擬機器,DB Schema即服務以及具有專用硬體的資料庫,用於RDBMS以及NoSQL資料庫。
在考慮任何基於雲端計算的資料庫安裝時,必須解決以下問題:
(1)供應商鎖定:每個提供商都有自己的業務流程框架,這使得消費者更難從一個提供商轉移到另一個提供商。
(2)資料同步:總是需要外部工具以一致的方式將資料從一個位置複製到另一個位置。這些工具通常具有破壞性,昂貴且複雜,並且它們構成了跨越多個位置和環境的巨大瓶頸。
(3)雲端計算成本分析:決定在雲平臺中應該使用哪些應用程式和資料之前,應該進行仔細的預算分析。如果不設計混合雲,其預算很容易失控,同時要記住為了獲得簡單性和靈活性需要付出代價。
迄今為止,資料庫已經存在了50多年,長期在傳統的辦公環境中成功執行。現在是企業通過採用雲端計算解決方案執行現代資料庫來獲得競爭優勢的時候了。