當今的應用程序(包括企業(yè)應用程序)需要始終開啟且始終可用,并且通常必須為全球用戶提供服務,這些用戶無論身在何處都希望獲得幾乎即時的響應時間。
應對這些挑戰(zhàn)不僅僅意味著讓用戶更滿意:每個能夠解決低延遲和超高可用性的根本問題的企業(yè)都會獲得直接的底線收益。由于數(shù)據(jù)庫在每個應用程序技術(shù)堆棧中都發(fā)揮著基礎(chǔ)作用,因此解決這些問題最合理的位置是數(shù)據(jù)庫層。實現(xiàn)這一目標的最佳且最具成本效益的方法之一是在分布式關(guān)系數(shù)據(jù)庫之上部署應用程序。
我們首先考慮數(shù)據(jù)延遲的問題。許多應用程序都使用位于單個數(shù)據(jù)中心或云區(qū)域的單個數(shù)據(jù)庫實例運行。靠近數(shù)據(jù)庫運行位置的用戶將看到快速響應時間,但位于對面海岸或大洋彼岸的用戶將看到更慢的響應時間。對于電子商務應用程序,頁面加載緩慢會導致銷售損失,因為買家會失去耐心并轉(zhuǎn)到競爭對手的網(wǎng)站或重新考慮購買。對于 SaaS 應用程序,用戶體驗受損可能會導致客戶流失。
分布式“多主”數(shù)據(jù)庫可以配置為在地理上分布的節(jié)點集群中運行,每個節(jié)點都可以接受讀寫流量。這使得可以策略性地將數(shù)據(jù)庫副本放置在更靠近用戶連接網(wǎng)絡的位置。這顯著減少了數(shù)據(jù)延遲,始終實現(xiàn)更快的頁面加載,并防止銷售損失和客戶流失。
現(xiàn)在讓我們看看超高可用性。我們這么說是什么意思?顯然,應該避免停機,因為這意味著客戶的沮喪和業(yè)務的損失,具體取決于停機的時間和范圍。如果應用程序能夠在硬件和數(shù)據(jù)中心中斷后繼續(xù)運行,則該應用程序具有高可用性。許多應用程序和數(shù)據(jù)庫架構(gòu)師將在一個或多個地理上分離的數(shù)據(jù)中心中配置和讀取其數(shù)據(jù)庫的副本,以便在主系統(tǒng)停機時進行故障轉(zhuǎn)移。
這種方法存在幾個問題。首先,在云中,只讀副本可能位于同一區(qū)域的附近可用區(qū)中。云提供商確實有時會出現(xiàn)整個區(qū)域發(fā)生數(shù)小時故障的情況。事實上,最近幾周,AWS 的 us-east-1 區(qū)域(最大的)和 Google 的 europe-west-9 區(qū)域都發(fā)生了這種情況,導致完全依賴它們的應用程序出現(xiàn)數(shù)小時的停機時間。架構(gòu)和實施多區(qū)域故障轉(zhuǎn)移解決方案可能很困難,這是許多組織尚未這樣做的主要原因。此外,對于許多流行的開源數(shù)據(jù)庫(例如Postgres)來說,在不關(guān)閉整個系統(tǒng)的情況下不可能進行軟件維護和升級。
完全分布式的多主數(shù)據(jù)庫解決了這些缺點。由于有多個節(jié)點處理讀取和寫入流量,因此一個節(jié)點發(fā)生故障只需將數(shù)據(jù)庫請求重定向到任何幸存的節(jié)點即可。由于系統(tǒng)被設(shè)計為地理分布式,因此跨多個區(qū)域運行非常簡單。軟件升級可以逐個節(jié)點執(zhí)行,避免了可怕的“計劃維護”窗口。
也許您一直處于尷尬的境地,必須向您的首席執(zhí)行官或董事會解釋為什么當您的云提供商發(fā)生區(qū)域中斷時您的應用程序會關(guān)閉。當他們吸收了云區(qū)域的概念后,你不可避免地會被問到為什么應用程序無法跨多個區(qū)域運行。使用分布式多主數(shù)據(jù)庫,可以簡單且經(jīng)濟高效地實現(xiàn)這一點。順便說一句,如果您是 SaaS 公司的首席執(zhí)行官或董事會成員,您可能想詢問您的團隊該公司的應用程序是否可以承受云區(qū)域中斷!
最后,為什么我們在這里專門討論關(guān)系數(shù)據(jù)庫呢?毫無疑問,分布式數(shù)據(jù)庫的優(yōu)勢在 NoSQL 世界中已經(jīng)存在很多年了。然而,許多現(xiàn)有的企業(yè)應用程序都是建立在關(guān)系數(shù)據(jù)庫之上的,關(guān)系數(shù)據(jù)庫更加靈活,并且有更多的工具和人才來支持它們。通過將現(xiàn)有應用程序重新部署到分布式關(guān)系數(shù)據(jù)庫之上,通常只需對應用程序代碼進行有限的更改,即可為現(xiàn)有應用程序帶來上述好處。這種遷移可以與從昂貴的遺留數(shù)據(jù)庫解決方案遷移到 Postgres 等開源數(shù)據(jù)庫一起完成,從而節(jié)省大量許可費用。Postgres 現(xiàn)在是開發(fā)人員中最流行的開源數(shù)據(jù)庫,因此這將使您的開發(fā)人員和用戶都滿意。
總而言之,將應用程序遷移到分布式多主關(guān)系數(shù)據(jù)庫可以帶來巨大的收益。這些好處的形式是通過降低延遲來減少銷售損失和客戶流失,或者通過多主分布式架構(gòu)避免停機。而且,如果您也轉(zhuǎn)向開源數(shù)據(jù)庫,您將擁有更滿意的用戶和客戶以及更滿意的開發(fā)人員,這幾乎是一個額外的好處。
作者:Michael Bogan
更多內(nèi)容請關(guān)注公號【云原生數(shù)據(jù)庫】文章來源:http://www.zghlxwxcb.cn/news/detail-741276.html
squids.cn,云數(shù)據(jù)庫RDS,遷移工具DBMotion,云備份DBTwin等數(shù)據(jù)庫生態(tài)工具。文章來源地址http://www.zghlxwxcb.cn/news/detail-741276.html
到了這里,關(guān)于分布式多主關(guān)系數(shù)據(jù)庫的底線業(yè)務優(yōu)勢的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!