GoldenGate12.3中新增的Parallel Replicat (PR)介紹

margiex發表於2018-03-11


Parallel Replicat介紹

    在OGG 12.3.0.1中新增的一項特性parallel replicat(並行投遞),相對於傳統的投遞和整合投遞(integrated replicat),在效能上又有了進一步提升。(需要使用oracle db 12.2及以上版本才支援並行投遞)

目標端採用多個mapper和執行緒,在確保事務一致的情況下,更大程度的效能提高。如下圖所示:

clip_image002

如上可以看到,計算事務順序和表依賴的工作是由OGG的PR程式完成,而不是象整合投遞中,在DB中完成。如下是整合投遞的示意圖:

clip_image004

可以看到,IR(Intergrated Replicat)投遞除了讀取佇列檔案外,其它許多工作都是在DB中完成的。

PR有兩種執行模式,一種是讀寫執行緒獨立於DB,但這些執行緒的管理是在DB的程式中完成,這與之前的整合投遞有點類似;另一種是讀寫執行緒和管理程式都獨立於DB之外。

配置示例

進入ogg12.3的ggsci命令列

$ cd $OGG_HOME/bin
$ bin> ./ggsci

建立PR程式

ggsci> add replicat rtest, parallel integrated, exttrail ./dirdat/tr, checkpointtable ogg.chkpt

編輯程式引數內容

ggsci> edit params rtest

replicat rtest

userid ogg, password ogg

--INSERTUPDATES

REPERROR(1, DISCARD)

MAP_PARALLELISM 2

MIN_APPLY_PARALLELISM 2

MAX_APPLY_PARALLELISM 8

SPLIT_TRANS_RECS 4

--TARGETCATALOG orcl

MAP qasource.*, TARGET scott.*;


啟動程式

ggsci> start replicat rtest

檢視程式狀態

GGSCI> send rtest, status

Sending STATUS request to REPLICAT RTEST ...

Current status: At EOF

Map Parallelism: 2

Min Apply Parallelism: 2

Current Apply Parallelism: 6

Max Apply Parallelism: 8

相關文章