你的資料庫真的需要遷移到雲嗎?

danny_2018發表於2022-11-02

“應用程式現代化”這一術語是否只是指應用程式重構和重新平臺化到雲端以及轉儲當前使用的任何遺留資料庫?

實際上,它通常被認為是擁有傳統資料庫的公司(可以說是大多數公司)滿足使用者對實時或近實時體驗的需求,並應對海量資料的唯一途徑。

這也適用於內部資料和應用程式,使用者希望在檢查庫存水平或獲得關鍵公司績效指標的高管級概述時,能夠獲得作為消費者的實時體驗。

資料和分析研究公司SanjMo的創始人兼負責人Sanjeev Mohan表示,“資料庫的效能越快,客戶忠誠度和參與度就越高。這不僅僅是查詢的效能,還取決於寫入或將資料載入到資料庫中,或插入和更新的速度。

但隨著傳統資料庫受到越來越多的資料的衝擊,“你的表變得非常大,那麼效能可能會開始下降。”

艱難的時代,艱難的選擇

很少有組織能夠承受跟上實時需求的壓力。但並不是所有人都可以透過無縫過渡到新的雲原生資料庫來滿足這些需求。

這可能僅僅是因為一個組織的資料不會去任何地方。例如,監管義務可能意味著資料必須在可預見的未來留在內部。

可能是某個組織確實考慮過遷移到雲端,但在遷移的具體執行方面猶豫不決。或者,它仔細檢視了這些數字,並意識到它們並不完全簡單地相加,尤其是在運維需要大幅擴大的情況下。

這始終是一個挑戰,但成本正在上升。

Redis Enterprise Cloud產品營銷負責人Ryan Powers表示,對於許多IT領導者來說,真正的問題是,“如何在儘可能少的重構和重新架構的情況下實現現代化?”

他指出,儘管“越來越重要的應用程式需要實時執行,但事實上,大部分應用程式不需要實時執行。”

傳統資料庫仍然要留著?

這就是與傳統資料庫一起部署的快取層可以發揮作用的地方。正如Powers所說,“你需要一個靈活的資料層,它可以與你使用的任何資料庫一起用作緩衝區。”

例如,Redis Enterprise可以用於快取預取,應用程式讀取記憶體中的資料,而不是直接從磁碟讀取,從而加快查詢速度,尤其是在讀取繁重的工作負載時。它還提供了寫後快取,以便應用程式處理的資料實時寫入快取層,記錄資料庫的核心繫統在事後非同步更新。

這兩種方法都有望大幅減少延遲,改善使用者體驗。它的另一種應用方式是生成二級索引以加快對二級鍵的查詢,這在使用MySQL或Oracle等傳統資料庫時可能既耗時又複雜。

Powers補充道,當涉及到全球規模、多雲和混合用例時,重要的是要考慮如何確保資料跨區域保持一致,同時確保應用程式儘可能快地執行。Redis Enterprise提供Active Active Geo Distribution,以允許本地速度讀寫,同時確保跨區域複製一致的資料,延遲小於1毫秒。

因此,即使長期目標是全面的應用程式現代化,Powers表示,“在某些地方,你仍然可以使用Oracle或MySQL,並打補丁,在過渡期間修復它。”

在這些情況下,他認為,“現代化是圍繞速度,圍繞規模,圍繞總擁有成本。”

因此,如何使資料庫現代化的問題變得比是否有足夠的時間和金錢開始一個完整的重構和重新平臺化專案更為微妙。

儘管如此,除了快取層的原始成本之外,這種方法還有一個財務方面,Mohan指出:“可以保持對遺留系統的投資,將其用作記錄系統,但這樣可以更快地檢索。”

提高極限

在快取層旁邊維護舊資料庫有助於控制未來的許可證和基礎設施成本。Mohan說,一旦你達到了當前安裝的極限,你就面臨著從舊版供應商那裡購買更多許可證並增強硬體以匹配的痛苦。“但有了快取,可以將一些工作負載解除安裝到記憶體資料庫中。”

那麼,什麼時候知道已經為這種現代化方法做好了準備?Redis的高階產品營銷經理John Noonan表示:“首先,你應該考慮是否有一些用例你正在努力支援現有的關聯式資料庫,但速度不夠快。如果你有使用者在等待,不管他們是內部使用者還是客戶”,你會知道情況就是這樣。

他舉了一個金融部門客戶在實施實時支付處理時遇到困難的例子,因為在處理交易時需要更新Oracle表的數量。Redis Enterprise被插入到支付過程中,以加快交易速度,交易完成後,資料隨後被管道傳輸到記錄系統中。

但這也是一個規模問題。另一個客戶的例子是一家在印度運營體育平臺的公司,當板球比賽的團隊陣容在比賽前30分鐘釋出時,該平臺的使用量會出現巨大的峰值。這導致了巨大的速度下降,因為其基於SQL的系統無法響應。

因此,它在Redis Enterprise的記憶體中實現了排隊釋出功能,以打破瓶頸,一旦匹配結束,資料就會被轉換回關聯式資料庫。

這些正是紐西蘭電子商務公司Blackpepper透過AWS使用RDS、Elasticsearch、Redis和Dynamo所看到的問題,其執行長Alain Russell將其描述為“令人難以置信的大量編寫設定”。

Russell表示:“我們在重負載下遇到了擴充套件問題,並且在擴充套件RDS例項以處理負載方面付出了非常高的成本。”該公司還遇到了保持資料同步的問題。

測試表明,使用Redis Enterprise作為主要資料儲存可以將公司的一些常見工作的速度提高20到30倍。它還解決了資料同步問題。Russell說:“將此遷移到Redis Enterprise簡化了架構,簡化了除錯的方式,並提供了一個可供檢視的資料儲存。”

Mohan說,最終,許多組織可能希望使用雲端,甚至完全拋棄傳統資料基礎設施。但重新設計和現代化總是說起來容易做起來難。快取為公司提供了擴充套件其傳統平臺的機會,至少在中期是這樣。

“所以,現代化戰略是:第一步,提升並轉移到雲上。第二步,實施一個快取解決方案,讓它對雲更加友好。第三步可能是,將傳統環境替換為雲原生產品。”

這種方法的妙處也許在於,你可以簡單地採取第二步,並且仍然受益。

來自 “ 開源雲中文社群 ”, 原文作者:開源雲中文社群;原文連結:https://mp.weixin.qq.com/s/1TkANF_XIAlWXG2ONR8_uw,如有侵權,請聯絡管理員刪除。

相關文章