慕的地10843
2019-11-21 10:26:35
我遇到過許多NoSQL數據庫和SQL數據庫。有各種參數可以衡量這些數據庫的優缺點,而可伸縮性就是其中之一。水平和垂直縮放這些數據庫有什么區別?
3 回答

慕工程0101907
TA貢獻1887條經驗 獲得超5個贊
水平擴展意味著通過向資源池中添加更多計算機來進行擴展,而垂直擴展意味著通過向現有計算機中添加更多的電源(CPU,RAM)來進行擴展。
記住這一點的一種簡單方法是,想一想服務器機架上的計算機,我們在水平方向上添加了更多的計算機,在垂直方向上添加了更多的資源。
在數據庫世界中,水平擴展通?;跀祿姆謪^,即每個節點僅包含部分數據,在垂直擴展中,數據駐留在單個節點上,并且擴展是通過多核完成的,即在該計算機的CPU和RAM資源。
通過水平擴展,通??梢酝ㄟ^在現有池中添加更多計算機來動態擴展-垂直擴展通常限于單個計算機的容量,超出該容量通常會導致停機并具有上限。
水平擴展的好示例是Cassandra,MongoDB,Google Cloud Spanner ..,垂直擴展的好示例是MySQL-Amazon RDS(MySQL的云版本)。通過從小型機器切換到大型機器,它提供了一種垂直擴展的簡便方法。此過程通常涉及停機時間。
內存數據網格(例如GigaSpaces XAP,Coherence等)通常僅由于未綁定到磁盤而針對水平和垂直縮放進行了優化。通過分區進行水平擴展,并通過多核支持進行垂直擴展。
您可以在我的早期文章中閱讀有關此主題的更多信息: 橫向擴展與縱向擴展以及NOSQL替代方案背后的通用原則
添加回答
舉報
0/150
提交
取消