並行處理的體系結構是什麼?
伺服器市場上有三種基本的並行處理硬體架構,例如對稱多處理 (SMP)、大規模並行處理 (MPP) 和非一致性記憶體訪問架構 (NUMA)。
對稱多處理 (SMP)
SMP 架構是一個具有多個處理器的單個裝置,所有處理器都由一個作業系統管理,並訪問相同的磁碟和記憶體區域。一臺具有 8 到 32 個處理器、並行資料庫、大記憶體(2 GB 或更多)、良好磁碟和良好設計的 SMP 機器應該能夠很好地處理中等規模的倉庫。
資料庫需要能夠並行執行其程序,並且資料倉庫程序需要設計成能夠利用並行功能。處理器可以快速訪問共享資源(記憶體和磁碟),但是它們訪問這些資源所需的訪問路徑(背板)可能會隨著系統規模的擴大而成為瓶頸。
由於 SMP 機器是一個單一實體,它也具有成為倉庫中單點故障的弱點。為了克服這些問題,硬體公司已經提出了一些技術,允許將幾臺 SMP 機器連線在一起或叢集。
在一個叢集中,每個節點都是執行其作業系統的 SMP 機器,但是叢集包括連線和控制軟體,允許機器共享磁碟並提供故障轉移備份。在這種情況下,如果一臺機器發生故障,叢集中的其他機器可以暫時接管其處理負載。當然,這種好處是有代價的——叢集極其複雜,並且可能難以管理。跨叢集所需的資料庫技術正在改進。
大規模並行處理 (MPP)
MPP 系統是一串相對獨立的計算機,每個計算機都有其作業系統、記憶體和磁碟,所有這些都透過來回傳遞訊息進行協調。MPP 的優勢在於能夠連線數百個機器節點並將它們應用於問題,使用蠻力方法。
例如,如果您需要對大型表進行全表掃描,則將該表分散到 100 節點 MPP 系統中,並讓每個節點掃描其 1/100 的表應該相對較快。這相當於計算機中的“人多力量大”。
非一致性記憶體訪問架構 (NUMA)
NUMA 試圖將 SMP 的共享磁碟適應性與 MPP 的並行速度結合起來,是一組 SMP 和 MPP。這種架構是一種相對較新的創新,在高執行時可以用於資料倉庫。
NUMA 在概念上類似於叢集 SMP 機器的想法,但連線更緊密,頻寬更大,節點間的協調性更好。如果您能夠將倉庫分割成相對獨立的使用組並將每個組放在其節點上,那麼 NUMA 架構可能對您有效。