Shared nothing architecture簡介

 

Shared nothing architecture簡介

分類: Architecture 3027人閱讀 評論(0) 收藏 舉報
1. 概念
什麼是Shared nothing architecture?
wiki:“A shared nothing architecture (SN) is a distributed computing architecture in which each node is independent and self-sufficient, and there is nosingle point of contention across the system. More specifically, none of the nodes share memory or disk storage”
簡單的說:
shared nothing architecture是一 種分佈式計算架構,這種架構中不存在集中存儲的狀態,整個系統中沒有資源競爭,這種架構具有非常強的擴張性,在web應用中廣泛使用。

2. 對比
Shared-nothing、shared-memory、shared-disk是並行系統最常使用的模式。
shared-memory:多個cpu共享同一片內存,cpu之間通過內部通訊機制進行通訊
shared-disk:每一個cpu使用自己的私有內存區域,通過內部通訊機制直接訪問所有磁盤系統。
和shared-memory、shared-disk相比,shared-nothing優勢明顯,在針對多用戶並行訪問的時候,通過橫向擴充資源,能夠減少response time。


3. 分片
shared noting需要確立一種分片策略,使得依據不同的分片策略,減少資源競爭。
三種基本的分片策略結構:
1) 功能分片
根據多個功能互相不重疊的特點進行分片,這種方式在ebay取得巨大成功。缺點是需要深入理解應用領域,才能更好地分片。
2) 鍵值分片
在數據中找到一個可以均勻分佈到各個分片中的鍵值。
3) 查表
在集羣中有一個節點充當目錄角色,用於查詢哪個節點擁有用戶要訪問的數據。缺點在於這個表可能成爲整個系統的瓶頸及單點失效點。

4. 現狀
shared-nothing architecture目前廣泛存在,Map-reduce、BigTable、Cassandra、MongoDB等等。

5. 擴展閱讀
Paper:The Case for Shared Nothing
http://oracle.chinaitlab.com/optimize/39626.html



分類: Linux


圖1 Shared Disk集羣架構

圖2 Shared Nothing 集羣架構

目前,Oracle RAC使用的是Shared Disk架構,而DB2,SQL Server及分佈式的hadoop使用的是Shared Noting架構,這兩種架構側重點不一樣,各有千秋。
1. Shared Disk 架構
Shared Disk架構如圖1所示,所有的節點共享一份數據,優點是隻要有一個節點可用,就可以訪問所有數據;缺點是內存融合(cache fusion)大大限制了它的水平擴展能力。簡單地說:可用性高,但可擴展性弱,常見於24*7的高可用性核心業務。
1. Shared Nothing 架構
Shared Nothing架構如圖2所示,數據和節點具有對應關係,缺點是如果要訪問所有數據,必須所有節點都可用;優點是每個節點交互少,很容易擴展。簡單地說:可擴展性強,可用性低。多用於VLDB。

SharedDisk.JPG

SharedNothing1.JPG


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章