核心定義
並行處理 = 利用多 CPU、多 I/O 通道、多儲存陣列、大量記憶體,將單一資料庫操作分解為多個並行子任務同時執行。
兩大架構對決
| 維度 | 靜態無共享 | 動態共享一切 |
| 資料分佈 | 建庫時預先物理分區,節點獨佔子集 | 執行時動態切分,無預設分區限制 |
| 硬體適配 | 適配 MPP,SMP 需人工分區 | 原生適配 SMP/叢集,充分利用所有資源 |
| 資源利用 | 分區內不可並行,易閒置 | 每條 SQL 自適應並行度,動態負載均衡 |
| 擴展性 | 增節點必須重組數據 | 線上加節點無需重組,增量擴展 |
| 高可用 | 節點故障=資料不可用 | RAC 緩存融合,故障自動切換 |
| 並行決策 | 靜態、剛性 | 解析時優化,支援優先級與負載感知 |
Oracle 9i 動態並行關鍵機制
- 查詢協調器 (QC):原始進程轉為協調器,分配工作給 PX Server。
- 並行執行伺服器池:跨實例共享,按需分配。
- 自適應並行度:根據資源、優先級、負載動態調整 DOP。
- 粒度與分佈:Granule 為最小工作單元,支援區塊範圍、分區、檔案多種粒度。
- 與 RAC 無縫整合:跨節點 PX Server 透過高速互連交換資料,緩存融合消除磁碟 I/O。
為何共享一切優於無共享
- SMP/叢集成主流,共享記憶體/磁碟是硬體現實。
- 高速互連(InfiniBand、10GbE)+ 緩存融合消除傳統叢集開銷。
- 動態框架繼承無共享並行計算基因,修正其架構缺陷。
- 「第一代無共享軟體已過時」——白皮書原話。