Shared Everything和share-nothing區別

chenfeng發表於2016-09-13
資料庫構架設計中主要有Shared Everthting、Shared Nothing、和Shared Disk:

Shared Everything:一般是針對單個主機,完全透明共享CPU/MEMORY/IO,並行處理能力是最差的,典型的代表SQLServer

Shared Disk:各個處理單元使用自己的私有 CPU和Memory,共享磁碟系統。典型的代表Oracle Rac, 它是資料共享,可透過增加節點來提高並行處理的能力,擴充套件能力較好。
其類似於SMP(對稱多處理)模式,但是當儲存器介面達到飽和的時候,增加節點並不能獲得更高的效能 。

Shared Nothing:各個處理單元都有自己私有的CPU/記憶體/硬碟等,不存在共享資源,類似於MPP(大規模並行處理)模式,各處理單元之間透過協議通訊,並行處理和擴充套件能力更好。
典型代表DB2 DPF和hadoop ,各節點相互獨立,各自處理自己的資料,處理後的結果可能向上層彙總或在節點間流轉。

我們常說的 Sharding 其實就是Share Nothing架構,它是把某個表從物理儲存上被水平分割,並分配給多臺伺服器(或多個例項),每臺伺服器可以獨立工作,具備共同的schema,
比如MySQL Proxy和Google的各種架構,只需增加伺服器數就可以增加處理能力和容量。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2124896/,如需轉載,請註明出處,否則將追究法律責任。

相關文章