關於平行 Replicat

平行 Replicat 是 Replicat 的另一種變化形式,可平行套用交易以提升效能。

考量交易之間的相依性,類似於整合式 Replicat。對應與套用的相依性運算、平行性是在資料庫外部執行,因此可以卸載至其他伺服器。交易完整性在此處理中維護。此外,平行 Replicat 可將大型交易分割成區塊並平行套用,以支援平行套用大型交易。

平行 Replicat 支援下列兩種模式:「整合式」和「非整合式」。唯有 Oracle AI Database 支援整合模式中的平行 Replicat。

若要使用平行 Replicat,您必須確定具有下列值,這些值也是預設值:

在整合的平行 Replicat 中,Replicat 會將 LCR 傳送至將資料套用至目標資料庫的內送伺服器,而在一般平行 Replicat 中,Oracle GoldenGate 會直接將 LCR 套用為資料庫的 SQL 敘述句,類似於其他未整合 Replicat 的運作方式。注意:為了獲得 OLTP 工作負載的最佳效能,建議使用非整合模式的平行 Replicat。

平行 Replicat 的元件包括:

平行 Replicat 的優點

以下為使用平行 Replicat 的優點:

平行複製架構

平行複製處理作業會利用整合模式中 Oracle AI Database 內可用的套用處理功能。在單一 Replicat 組態內,多個內送伺服器子項處理作業 (稱為套用伺服器) 會平行套用交易,同時保留原始的交易原子性。

下列架構圖說明透過平行複製 (從歷程檔到目標資料庫) 的各種處理作業,對非整合的平行 Replicat 進行變更記錄的流程。

para_rep_arch.png 的描述如下

以下為上述架構圖的說明:

平行 Replicat 的基本參數

下表列出基本平行 Replicat 參數及其描述。

參數 說明

MAP_PARALLELISM

設定對應程式數目。這控制用來讀取歷程檔的繫線數目。最小值為 1,最大值為 100,預設值為 2。

APPLY_PARALLELISM

設定極端值數目。這可控制目標資料庫中用來套用變更的連線數目。預設值為 4。

MIN_APPLY_PARALLELISM

MAX_APPLY_PARALLELISM

「套用」併行執行會自動調整。您可以設定最小值和最大值,以定義 Replicat 自動調整其併行執行的範圍。沒有預設值。請勿同時與 APPLY_PARALLELISM 搭配使用。

SPLIT_TRANS_RECS

指定應將大型交易分為指定大小的片段並平行套用。片段之間的相依性仍然受到尊重。預設會停用此選項。

COMMIT_SERIALIZATION

啟用確認完整序列化模式,以強制交易按照歷程檔順序確認。

進階參數

LOOK_AHEAD_TRANSACTIONS

控制「排程器」在批次處理交易前的外觀。預設值為 10000。

CHUNK_SIZE

控制平行 Replicat 的交易必須有多大,才能將它視為大交易。當平行 Replicat 遇到的交易大於此大小時,就會序列化它,進而降低效能。不過,增加這個值也會增加平行 Replicat 使用的記憶體量。

範例參數檔

REPLICAT repe USERID ggadmin, password ***
MAP_PARALLELISM 3
MIN_APPLY_PARALLELISM 2
MAX_APPLY_PARALLELISM 10
SPLIT_TRANS_RECS 60000
MAP *.*, TARGET *.*;