在學習Gemfire (Geode) 的過程中,看到個詞 Share-Nothing Persistence。實在不太明白是什么意思。于是學習了一下咏雌。感覺以下資料不錯凡怎。
數據庫 構架設計中主要有Shared Everthting、Shared Nothing赊抖、和Shared Disk:
Shared Everthting:一般是針對單個主機统倒,完全透明共享CPU/MEMORY/IO,并行處理能力是最差的氛雪,典型的代表SQLServer
Shared Disk:各個處理單元使用自己的私有 CPU和Memory房匆,共享磁盤系統(tǒng)。典型的代表 Oracle Rac注暗, 它是數據共享坛缕,可通過增加節(jié)點來提高并行處理的能力,擴展能力較好捆昏。其類似于SMP(對稱多處理)模式赚楚,但是當存儲器接口達到飽和的時候,增加節(jié)點并不能獲得更高的性能 骗卜。
Shared Nothing:各個處理單元都有自己私有的CPU/內存/硬盤等宠页,不存在共享資源,類似于MPP(大規(guī)模并行處理)模式寇仓,各處理單元之間通過協(xié)議通信举户,并行處理和擴展能力更好。典型代表DB2 DPF和 Hadoop 遍烦,各節(jié)點相互獨立俭嘁,各自處理自己的數據,處理后的結果可能向上層匯總或在節(jié)點間流轉服猪。
我們常說的 Sharding 其實就是Share Nothing供填,它是把某個表從物理存儲上被水平分割,并分配給多臺服務器(或多個實例)罢猪,每臺服務器可以獨立工作近她,具備共同的schema,比如MySQL Proxy和Google的各種架構膳帕,只需增加服務器數就可以增加處理能力和容量粘捎。