3 回答

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