容易出錯(cuò)的 IT 架構(gòu)正在成為歷史,因?yàn)榇蠖鄶?shù)企業(yè)現(xiàn)在都在轉(zhuǎn)向提供高可用性的先進(jìn)高效的公共云和私有云。云環(huán)境使企業(yè)可以輕松地以經(jīng)濟(jì)高效的方式更好地管理其應(yīng)用程序。
數(shù)據(jù)庫(kù)應(yīng)用程序在所有企業(yè)基礎(chǔ)架構(gòu)中都發(fā)揮著關(guān)鍵作用。然而,這些應(yīng)用程序在使用云計(jì)算能力方面并沒(méi)有達(dá)到標(biāo)準(zhǔn),這尤其適用于關(guān)系數(shù)據(jù)庫(kù)。它們被用作單體應(yīng)用程序,當(dāng)您嘗試以可擴(kuò)展的方式運(yùn)行它們時(shí)會(huì)帶來(lái)巨大的挑戰(zhàn)。
傳統(tǒng)數(shù)據(jù)庫(kù)通常部署為多個(gè)隔離的數(shù)據(jù)庫(kù)實(shí)例,尤其是對(duì)于分布式環(huán)境。當(dāng)在后臺(tái)為測(cè)試/開(kāi)發(fā)環(huán)境創(chuàng)建生產(chǎn)數(shù)據(jù)庫(kù)的多個(gè)物理副本時(shí),就會(huì)創(chuàng)建數(shù)據(jù)傳播。這些解決方案很難實(shí)現(xiàn)完全的云集成。重點(diǎn)是數(shù)據(jù)的局部性。分布式系統(tǒng)功能的使用退居二線。
這些數(shù)據(jù)庫(kù)如何用于解決各種類型數(shù)據(jù)庫(kù)的這些問(wèn)題?
高度可用的數(shù)據(jù)庫(kù)
這些類型的數(shù)據(jù)庫(kù)旨在與私有云和公共云兼容,并且還具有高度可擴(kuò)展性。在這個(gè)系統(tǒng)中,任何硬件或網(wǎng)絡(luò)故障都不會(huì)影響業(yè)務(wù)的連續(xù)性。該系統(tǒng)的核心設(shè)計(jì)有助于消除單點(diǎn)故障并為用戶提供無(wú)縫體驗(yàn)。
數(shù)據(jù)庫(kù)副本對(duì)(主動(dòng)和被動(dòng))
為了保證一個(gè)單元主服務(wù)器能夠服務(wù)所有的數(shù)據(jù)庫(kù)請(qǐng)求,數(shù)據(jù)庫(kù)采用副本架構(gòu)部署。它通過(guò)使用供應(yīng)商的復(fù)制功能或使用第三方復(fù)制工具來(lái)幫助從主服務(wù)器復(fù)制數(shù)據(jù)。當(dāng)主服務(wù)器發(fā)生故障時(shí),副本服務(wù)器會(huì)同時(shí)無(wú)縫接管。它利用復(fù)制的數(shù)據(jù)從發(fā)生故障時(shí)的位置精確地重新啟動(dòng)數(shù)據(jù)庫(kù)。但是,如果您使用第三方復(fù)制工具,則故障轉(zhuǎn)移后可能會(huì)出現(xiàn)一定程度的不一致。
具有內(nèi)置高可用性的數(shù)據(jù)庫(kù)
另一種選擇是選擇具有高可用性的數(shù)據(jù)庫(kù)。MongoDB 和 Cassandra 等具有內(nèi)置可用性的數(shù)據(jù)庫(kù)很受歡迎,因?yàn)樗鼈兡軌驈臄?shù)據(jù)庫(kù)層一致地創(chuàng)建數(shù)據(jù)副本。必須指出的是,這種安排可能不適用于某些類型的企業(yè),因?yàn)樗鼈內(nèi)狈δ芰Α?/p>
測(cè)試/開(kāi)發(fā)數(shù)據(jù)庫(kù)
對(duì)于這些類型的數(shù)據(jù)庫(kù),克隆是一種常見(jiàn)的需求。它們通常在隔離的基礎(chǔ)設(shè)施中運(yùn)行。創(chuàng)建數(shù)據(jù)庫(kù)的多個(gè)副本以支持備份和質(zhì)量保證。
快照和克隆
此功能使用戶能夠?qū)?shù)據(jù)庫(kù)復(fù)制到不同的站點(diǎn)。這是通過(guò)拍攝數(shù)據(jù)庫(kù)快照并將其克隆到遠(yuǎn)程位置來(lái)完成的。Oracle RMAN 等解決方案可用于跟蹤快照之間的變化,并定期進(jìn)行備份和恢復(fù)。
私有云、混合云和多云存儲(chǔ)
最好的解決方案是將數(shù)據(jù)庫(kù)與存儲(chǔ)層脫鉤,讓存儲(chǔ)解決方案處理應(yīng)用程序的高可用性。SDS 或軟件定義的存儲(chǔ)具有這樣的能力。它針對(duì)所有類型的軟件和硬件故障提供數(shù)據(jù)保護(hù)。它還提供靈活性,并與任何類型的存儲(chǔ)硬件兼容。
這樣的解決方案可以與私有云或公共云一起使用,并且無(wú)論是在本地還是公共云位置,都應(yīng)該能夠順利運(yùn)行。云中的整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)最適合社交媒體、游戲、投資等應(yīng)用。使用 DBaaS 或數(shù)據(jù)庫(kù)即服務(wù)是在云中旋轉(zhuǎn)數(shù)據(jù)庫(kù)并減少購(gòu)買服務(wù)器和創(chuàng)建適當(dāng)基礎(chǔ)設(shè)施所需時(shí)間的最佳方式。您還必須建立一個(gè)相當(dāng)大的團(tuán)隊(duì)來(lái)管理這些數(shù)據(jù)庫(kù)。
在考慮任何基于云的數(shù)據(jù)庫(kù)安裝之前,必須首先解決以下問(wèn)題:
選擇供應(yīng)商:每個(gè)供應(yīng)商都提供他們獨(dú)特的編排框架。這可能會(huì)使消費(fèi)者從一個(gè)供應(yīng)商轉(zhuǎn)移到另一個(gè)供應(yīng)商是一個(gè)相當(dāng)大的挑戰(zhàn)。
數(shù)據(jù)同步:您將需要一種高效的外部工具,以一致的方式將數(shù)據(jù)從一個(gè)位置復(fù)制到另一個(gè)位置。可見(jiàn),這些工具不僅性質(zhì)復(fù)雜,而且價(jià)格昂貴。如果您正在跨多個(gè)位置構(gòu)建環(huán)境,則很可能會(huì)遇到瓶頸情況。
云成本分析:在將要放置在云端和本地的應(yīng)用程序入圍之前,您必須進(jìn)行仔細(xì)而全面的成本分析。一個(gè)錯(cuò)誤的舉動(dòng)可能會(huì)付出高昂的代價(jià),并可能使您的預(yù)算陷入困境。選擇應(yīng)用程序時(shí)要注重簡(jiǎn)單性和靈活性。雖然數(shù)據(jù)庫(kù)在 50 多年的競(jìng)爭(zhēng)中幸存下來(lái),但如果您想為您的企業(yè)獲得競(jìng)爭(zhēng)優(yōu)勢(shì),強(qiáng)烈建議使用云托管解決方案來(lái)運(yùn)行現(xiàn)代數(shù)據(jù)庫(kù)。