分散式 SQL 使資料庫更上一層樓 - thenewstack

banq發表於2021-12-08

在過去的三個十年中,資料庫的發展一直是全球各個行業和各種規模企業技術創新的重要組成部分。在 1990 年代末到 2000 年代初,資料庫遇到了效能瓶頸。難的。網際網路的成功,加上應用程式開發的爆炸式增長,導致了海量資料和前所未有的資料擴充套件速度。當時攝取這些資料導致了主要的資料庫瓶頸。延遲增加和吞吐量降低是常見問題,這些問題破壞了業務生產力的齒輪,最終減緩了收入增長。這些問題從未真正消失。
這個巨大的資料庫困境的核心是彈性問題——能夠按需增加或減少資料庫容量——同時保持高效能和理想情況下的低成本。運營團隊和資料庫工程師試圖透過發展多種方法來應對擴充套件挑戰,其中許多方法仍然存在於企業中。只有從這些方法的缺點中學習,我們才能找到一個不強制取捨的解決方案:分散式 SQL。
 

分片和NoSQL的問題
使用資料庫之外的程式碼解決問題:分片或分割槽的概念,其中單個邏輯資料集可以拆分並儲存在多個資料庫中,以增加總儲存容量並處理額外的請求,最終進入不同的資料庫系統。但事實證明,分片是一種複雜而脆弱的方法,難以維護,工程成本高,允許有限的交易,並帶有查詢限制。對真正彈性的探索仍在繼續。
然後,大約十年前,出現了一場引人注目的運動:NoSQL 熱潮,沮喪的創新者提供了關聯式資料庫的替代方案。從技術上講,這種非表格方法自 1960 年代後期就已存在,但並未以任何廣泛的方式針對業務用例。21 世紀初期的 NoSQL 方法讓資料庫行業退後一步,完全重新思考和改造儲存和訪問資料,以解決可擴充套件性問題。
雖然該方法確實消除了一些資料庫和資料攝取問題,但它是有代價的。NoSQL 意味著放棄許多使關聯式資料庫如此有用的關鍵東西——比如維護和跟蹤資料完整性以及能夠利用 ACID 事務。NoSQL 方法所需的原始查詢、複雜的資料建模、低於標準的資料完整性、有限或不存在的 ACID 事務支援以及專門的工具使 NoSQL 成為大多數企業和中小型企業的首選。
 

關係革命:分散式 SQL
分散式 SQL提供 SQL 和 NoSQL 的最佳優勢,以及關係和非關聯式資料庫的優勢,尤其是在高效能擴充套件方面。分散式 SQL 是由多個資料庫例項或節點組成的單個邏輯資料庫。
這個想法是,有了這個節點叢集,開發人員可以簡單地按需新增或刪除節點,以適應儲存和訪問需求的變化。顧名思義,資料本身是分散式的,分成多個分割槽並跨多個節點複製。分散式 SQL 實現了無共享架構,叢集中的單個節點滿足每個更新請求,消除節點之間的爭用,因為它們獨立訪問相同的記憶體或儲存。
。。。
MariaDB 的 Xpand這樣的分散式 SQL 選項的架構是讓所有節點一起工作以形成一個單一的邏輯分散式資料庫,所有應用程式都可以指向它,而不管預期的用例如何。
如今,很多事情都被認為是革命性的或改變遊戲規則的,但分散式 SQL 實際上配得上這些綽號。
 
banq評:畫餅的同時不要忘記CAP定理

相關文章