Nosql

水平縮放是什麼意思?

  • February 11, 2021

在數據庫環境中,我發現水平可擴展性是 NOSQL 數據庫的優勢之一。這個詞是什麼意思?

與垂直縮放相比如何?

水平縮放

水平縮放本質上是向外擴展而不是向上擴展。您不會去購買更強大的伺服器並將所有負載轉移到上面,而是購買 1 台以上的額外伺服器並在它們之間分配負載。

當您能夠同時在伺服器上執行多個實例時,使用水平擴展。通常,從 1 台伺服器升級到 2 台伺服器要比從 2 台伺服器升級到 5 台、10 台、50 台等要困難得多。

一旦解決了執行並行實例的問題,您就可以充分利用 Amazon EC2、Rackspace 的雲服務、GoGrid 等環境,因為您可以根據需要啟動和關閉實例,從而減少為伺服器電源付費的需求您不只是用來覆蓋那些峰值負載。

關係數據庫是並行執行完全讀/寫的更困難的項目之一。

我看到 Damien Katz 在奧斯汀的 StackOverflow DevDays 上談到 CouchDB,他創建 CouchDB 的主要關注點之一就是這些並行實例。由於這是從第一天開始就關注的焦點,因此它將更有能力利用水平縮放。

垂直縮放

垂直縮放則相反,建立而不是向外。去買你能買得起的最強大的硬體,把你的應用程序、數據庫等放在上面。

現實世界

當然,這兩者都有其優點和缺點。通常這兩者的組合用於最終解決方案。

您可能擁有您的主數據庫,每個人都可以在其中寫入和讀取大型硬體上的實時數據。然後分發數據庫的只讀副本,以進行更重的數據分析和報告,而最新的數據並不重要。然後前端 Web 應用程序可能在負載均衡器後面的多個 Web 伺服器上執行。

引用自:https://dba.stackexchange.com/questions/4508