Kif tagħmel ħbieb bejn is-sistema bankarja Progress OpenEdge u l-DBMS Oracle

Mill-1999, biex iservi l-back office, il-bank tagħna uża s-sistema bankarja integrata BISKVIT fuq il-pjattaforma Progress OpenEdge, li tintuża ħafna madwar id-dinja, inkluż fis-settur finanzjarju. Il-prestazzjoni ta 'dan id-DBMS jippermettilek taqra sa miljun rekord jew aktar kull sekonda f'database waħda (DB). Progress OpenEdge tagħna servizzi madwar 1,5 miljun depożitu individwali u madwar 22,2 miljun kuntratt għal prodotti attivi (self tal-karozzi u ipoteki), u huwa wkoll responsabbli għas-saldu kollha mar-regolatur (Bank Ċentrali) u SWIFT.

Kif tagħmel ħbieb bejn is-sistema bankarja Progress OpenEdge u l-DBMS Oracle

Bl-użu ta 'Progress OpenEdge, konna ffaċċjati bil-ħtieġa li nagħmluha taħdem mal-DBMS Oracle. Inizjalment, dan il-pakkett kien il-konġestjoni tal-infrastruttura tagħna - sakemm installajna u kkonfigurajna Pro2 CDC - prodott ta 'Progress li jippermettilek li tibgħat dejta mid-DBMS Progress lill-DBMS Oracle direttament, onlajn. F'din il-kariga se ngħidulek fid-dettall, bl-iżvantaġġi kollha, kif effettivament tagħmel ħbieb bejn OpenEdge u Oracle.

Kif ġara: ittella 'dejta fuq QCD permezz tal-qsim tal-fajls

L-ewwel, xi fatti dwar l-infrastruttura tagħna. In-numru ta 'utenti attivi tad-database huwa madwar 15 elf. Il-volum tad-databases produttivi kollha, inklużi replika u standby, huwa 600 TB, l-akbar database hija 16,5 TB. Fl-istess ħin, il-bażijiet tad-dejta qed jerġgħu jimtlew: matul l-aħħar sena biss, madwar 120 TB ta 'dejta produttiva ġew miżjuda. Is-sistema hija mħaddma minn 150 server ta 'quddiem fuq il-pjattaforma x86. Id-databases huma ospitati fuq 21 server tal-pjattaforma IBM.

Kif tagħmel ħbieb bejn is-sistema bankarja Progress OpenEdge u l-DBMS Oracle
Sistemi front-end, diversi sistemi bankarji ewlenin u servizzi bankarji huma integrati ma 'OpenEdge Progress (BISCUIT IBS) permezz tax-xarabank Sonic ESB. It-tlugħ tad-dejta fil-QCD iseħħ permezz tal-iskambju tal-fajls. Sa ċertu punt fiż-żmien, din is-soluzzjoni kellha żewġ problemi kbar f'daqqa - prestazzjoni baxxa ta 'uploading ta' informazzjoni f'maħżen tad-dejta korporattiva (CDW) u żmien twil biex titwettaq rikonċiljazzjoni tad-dejta (rikonċiljazzjoni) ma 'sistemi oħra.
Kif tagħmel ħbieb bejn is-sistema bankarja Progress OpenEdge u l-DBMS Oracle
Għalhekk, bdejna nfittxu għodda li tista 'tħaffef dawn il-proċessi. Is-soluzzjoni għaż-żewġ problemi kienet il-prodott il-ġdid Progress OpenEdge - Pro2 CDC (Change Data Capture). Allura, ejja nibdew.

Installa Progress OpenEdge u Pro2Oracle

Biex tħaddem Pro2 Oracle fuq il-kompjuter tal-Windows tal-amministratur, huwa biżżejjed li tinstalla l-Progress OpenEdge Developer Kit Classroom Edition, li tista’ tiġi download b'xejn. Direttorji ta' installazzjoni ta' OpenEdge default:

DLC: C:ProgressOpenEdge
WRK: C:OpenEdgeWRK

Il-proċessi ETL jeħtieġu liċenzji Progress OpenEdge verżjoni 11.7+ - jiġifieri OE DataServer għal Oracle u 4GL Development System. Dawn il-liċenzji huma inklużi mal-Pro2. Għal tħaddim sħiħ ta' DataServer għal Oracle b'database Oracle remota, Full Oracle Client huwa installat.

Fuq is-server Oracle għandek bżonn tinstalla Oracle Database 12+, toħloq database vojta u żid utent (ejja nsejħulu cdc).

Biex tinstalla Pro2Oracle, niżżel l-aħħar distribuzzjoni miċ-ċentru tat-tniżżil Softwer tal-Progress. Spakkja l-arkivju f'direttorju C:Pro2 (Biex jiġi kkonfigurat Pro2 fuq Unix, tintuża l-istess distribuzzjoni u japplikaw l-istess prinċipji ta’ konfigurazzjoni).

Ħolqien ta 'database ta' replikazzjoni cdc

Database ta' replikazzjoni cdc (repl) Pro2 jintuża biex jaħżen l-informazzjoni tal-konfigurazzjoni, inkluża l-mappa tar-replikazzjoni, l-ismijiet tad-databases replikati u t-tabelli tagħhom. Fiha wkoll kju ta' replikazzjoni, li jikkonsisti f'noti dwar il-fatt li ringiela ta' tabella fid-database tas-sors inbidlet. Id-dejta mill-kju tar-replikazzjoni tintuża mill-proċessi ETL biex jidentifikaw ringieli li jeħtieġ li jiġu kkupjati lil Oracle mid-database tas-sors.

Qed noħolqu database separata cdc.

Proċedura għall-ħolqien ta' database

  1. Fuq is-server tad-database noħolqu direttorju għad-database cdc - pereżempju, fuq is-server /database/cdc/.
  2. Oħloq manikin għad-database cdc: procopy $DLC/cdc vojta
  3. Ippermetti l-appoġġ għal fajls kbar: proutil cdc -C EnableLargeFiles
  4. Aħna nippreparaw script għall-bidu tad-database cdc. Il-parametri tal-bidu għandhom ikunu simili għall-parametri tal-bidu tad-database replikata.
  5. Nibdew id-database cdc.
  6. Qabbad mad-database cdc u tagħbija l-iskema Pro2 mill-fajl cdc.df, li hija inkluża mal-Pro2.
  7. Aħna noħolqu l-utenti li ġejjin fid-database cdc:

pro2adm – għall-konnessjoni mill-panel amministrattiv Pro2;
pro2etl – għall-konnessjoni tal-proċessi ETL (ReplBatch);
pro2cdc – għall-konnessjoni ta' proċessi CDC (CDCBatch);

Attivazzjoni tal-Qbid tad-Data tal-Bidla ta' OpenEdge

Issa ejja nixgħel il-mekkaniżmu CDC innifsu, li bl-għajnuna tiegħu d-dejta se tiġi replikata għal żona ta 'teknoloġija addizzjonali. Għal kull database tas-sors ta' Progress OpenEdge, trid iżżid żoni ta' ħażna separati li fihom id-dejta tas-sors tkun duplikata, u tattiva l-mekkaniżmu nnifsu billi tuża l-kmand proutil.

Proċedura ta' eżempju għad-database tal-bisquit

  1. Ikkopjar mill-katalgu C:Pro2db fajl cdcadd.st għad-direttorju tad-database tas-sors tal-bisquit.
  2. Niddeskrivu fi cdcadd.st estensjonijiet ta' daqs fiss għar-reġjuni "ReplCDCArea" и "ReplCDCArea_IDX". Tista' żżid żoni ġodda ta' ħażna onlajn: prostrct addonline bisquit cdcadd.st
  3. Attiva OpenEdge CDC:
    proutil bisquit -C enablecdc area "ReplCDCArea" indexarea "ReplCDCArea_IDX"
  4. L-utenti li ġejjin għandhom jinħolqu fid-database tas-sors biex jidentifikaw proċessi li qed jaħdmu:
    a. pro2adm – għall-konnessjoni mill-panel amministrattiv Pro2.
    b. pro2etl – għall-konnessjoni tal-proċessi ETL (ReplBatch).
    c. pro2cdc – għall-konnessjoni tal-proċessi CDC (CDCBatch).

Ħolqien ta' Detentur ta' Skema għal DataServer għal Oracle

Sussegwentement, irridu noħolqu database tad-Detentur tal-Iskema fuq is-server fejn id-dejta mid-DBMS Progress tiġi replikata għall-DBMS Oracle. DataServer Schema Holder hija database vojta ta' Progress OpenEdge mingħajr utenti jew dejta tal-applikazzjoni, li fiha mappa ta' korrispondenza bejn it-tabelli tas-sors u t-tabelli esterni tal-Oracle.

Id-database tad-Detentur tal-Iskema għal Progress OpenEdge DataServer għall-Oracle għal Pro2 trid tkun tinsab fuq is-server tal-proċess ETL; tinħoloq separatament għal kull fergħa.

Kif toħloq Schema Holder

  1. Spakkja d-distribuzzjoni Pro2 f'direttorju /pro2
  2. Oħloq u mur fid-direttorju /pro2/dbsh
  3. Oħloq database tad-Detentur tal-Iskema billi tuża l-kmand kopja $DLC/bisquitsh vojta
  4. Twettiq tal-konverżjoni bisquitsh fil-kodifikazzjoni meħtieġa - pereżempju, f'UTF-8 jekk id-databases Oracle għandhom kodifikazzjoni UTF-8: proutil bisquitsh -C convchar jikkonvertu UTF-8
  5. Wara li toħloq database vojta bisquitsh qabbad miegħu fil-modalità ta' utent wieħed: pro bisquitsh
  6. Ejja mmorru fid-Dizzjunarju tad-Data: Għodda -> Dizzjunarju tad-Data -> DataServer -> Utilitajiet ORACLE -> Oħloq Schema tad-DataServer
  7. Tnedija Detentur tal-Iskema
  8. Twaqqif tas-sensar Oracle DataServer:
    a. Ibda AdminServer.
    proadsv -start
    b. Bidu tas-sensar Oracle DataServer
    oraman -isem orabroker1 -start

Twaqqif ta' panel amministrattiv u skema ta' replikazzjoni

Bl-użu tal-pannell amministrattiv Pro2, il-parametri Pro2 huma kkonfigurati, inkluż it-twaqqif tal-iskema ta 'replikazzjoni u l-ġenerazzjoni ta' proċessi ETL (Librerija tal-Proċessur), programmi primarji ta 'sinkronizzazzjoni (Bulk-Copy Processor), triggers ta' replikazzjoni u politiki OpenEdge CDC. Hemm ukoll għodod primarji għall-monitoraġġ u l-ġestjoni tal-proċessi ETL u CDC. L-ewwelnett, aħna waqqafna l-fajls tal-parametri.

Kif tikkonfigura l-fajls tal-parametri

  1. Mur fil-katalgu C:Pro2bpreplScripts
  2. Iftaħ il-fajl għall-editjar replProc.pf
  3. Żid il-parametri tal-konnessjoni mad-database tar-replikazzjoni tas-cdc:
    # Database ta' Replikazzjoni
    -db cdc -ld repl -H <l-isem tal-host tad-database prinċipali> -S <database broker port cdc>
    -U pro2admin -P <password>
  4. Żid ma replProc.pf parametri ta 'konnessjoni għal databases tas-sors u Detentur ta' Skema fil-forma ta 'fajls ta' parametri. L-isem tal-fajl tal-parametri għandu jaqbel mal-isem tad-database tas-sors li qed tiġi konnessa.
    # Qabbad mas-sorsi replikati kollha BISQUIT
    -pf bpreplscriptsbisquit.pf
  5. Żid ma replProc.pf parametri għall-konnessjoni ma' Schema Holder.
    #Target Pro DB Schema Holder
    -db bisquitsh -ld bisquitsh
    -H <l-isem tal-host tal-proċess ETL>
    -S <biskuitsh broker port>
    -db bisquitsql
    -ld bisquitsql
    -dt ORACLE
    -S 5162 -H <Oracle broker hostname>
    -DataService orabroker1
  6. Issejvja l-fajl tal-parametri replProc.pf
  7. Sussegwentement, għandek bżonn toħloq u tiftaħ għall-editjar fajls tal-parametri għal kull database tas-sors konness fid-direttorju C:Pro2bpreplScripts: bisquit.pf. Kull fajl pf fih parametri għall-konnessjoni mad-database korrispondenti, pereżempju:
    -db bisquit -ld bisquit -H <hostname> -S <broker port>
    -U pro2admin -P <password>

Biex tikkonfigura shortcuts tal-Windows trid tmur fid-direttorju C:Pro2bpreplScripts u editja l-"Pro2 - Amministrazzjoni" shortcut. Biex tagħmel dan, iftaħ il-proprjetajiet tas-shortcut u fil-linja Ibda indika d-direttorju tal-installazzjoni Pro2. Għandha ssir operazzjoni simili għas-shortcuts "Pro2 - Editur" u "RunBulkLoader".

Setup ta' Amministrazzjoni Pro2: Tagħbija tal-Konfigurazzjoni Inizjali

Ejja nniedu l-console.

Kif tagħmel ħbieb bejn is-sistema bankarja Progress OpenEdge u l-DBMS Oracle

Mur fuq "DB Map".

Kif tagħmel ħbieb bejn is-sistema bankarja Progress OpenEdge u l-DBMS Oracle

Biex tgħaqqad databases fi Pro2 – Amministrazzjoni, mur fit-tab Mappa tad-DB. Żid l-immappjar tad-databases tas-sors - Detentur tal-Iskema - Oracle.

Kif tagħmel ħbieb bejn is-sistema bankarja Progress OpenEdge u l-DBMS Oracle

Mur fit-tab Immappjar. Elenkat Sors Database B'mod awtomatiku, jintgħażel l-ewwel database tas-sors konness. Fuq il-lemin tal-lista għandu jkun hemm iskrizzjoni Id-Databases Kollha Konnessi — id-databases magħżula huma konnessi. Hawn taħt fuq ix-xellug għandek tara lista ta 'tabelli ta' Progress minn bisquit. Fuq il-lemin hemm lista ta' tabelli mid-database Oracle.

Ħolqien ta 'skemi SQL u databases fl-Oracle

Biex toħloq mappa ta 'replikazzjoni, l-ewwel trid tiġġenera Skema SQL fl-Oracle. Fl-Amministrazzjoni Pro2 aħna tesegwixxi l-oġġett tal-menu Għodod -> Iġġenera Kodiċi -> Skema tal-Mira, imbagħad fil-kaxxa tad-djalogu Agħżel Database agħżel database tas-sors waħda jew aktar u ċċaqlaqhom lejn il-lemin.

Kif tagħmel ħbieb bejn is-sistema bankarja Progress OpenEdge u l-DBMS Oracle

Ikklikkja OK u agħżel id-direttorju biex issalva l-iskemi SQL.

Sussegwentement noħolqu l-bażi. Dan jista' jsir, pereżempju, permezz Żviluppatur Oracle SQL. Biex tagħmel dan, aħna nikkonnettjaw mad-database Oracle u tagħbija l-iskema għaż-żieda ta 'tabelli. Wara li tbiddel il-kompożizzjoni tat-tabelli Oracle, għandek bżonn taġġorna l-iskemi SQL fid-Detentur tal-Iskema.

Kif tagħmel ħbieb bejn is-sistema bankarja Progress OpenEdge u l-DBMS Oracle

Wara li t-tniżżil titlesta b'suċċess, oħroġ mid-database bisquitsh u tiftaħ il-panel amministrattiv Pro2. Tabelli mid-database Oracle għandhom jidhru fuq it-tab tal-Immappjar fuq il-lemin.

Immappjar tabella

Biex toħloq mappa ta' replikazzjoni, fil-panel amministrattiv Pro2, mur fit-tab tal-Immappjar u agħżel id-database tas-sors. Ikklikkja fuq Map Tables, agħżel Agħżel Bidliet fuq ix-xellug tat-tabelli li għandhom jiġu replikati f'Oracle, mexxihom lejn il-lemin u kkonferma l-għażla. Se tinħoloq mappa awtomatikament għat-tabelli magħżula. Nirrepetu l-operazzjoni biex noħolqu mappa ta 'replikazzjoni għal databases oħra ta' sors.

Kif tagħmel ħbieb bejn is-sistema bankarja Progress OpenEdge u l-DBMS Oracle

Ġenerazzjoni Pro2 Replication Processor Library u Bulk-Copy Processor Programs

Il-Librerija tal-Proċessur tar-Replikazzjoni hija ddisinjata għal proċessi ta' replikazzjoni personalizzati (ETLs) li jipproċessaw il-kju ta' replikazzjoni Pro2 u jimbuttaw bidliet fid-database Oracle. Il-programmi tal-librerija tal-proċessur tar-replikazzjoni jiġu ssejvjati awtomatikament fid-direttorju wara l-ġenerazzjoni bprepl/repl_proc (parametru PROC_DIRECTORY). Biex tiġġenera l-librerija tal-proċessur tar-replikazzjoni, mur Għodda -> Iġġenera Kodiċi -> Librerija tal-Proċessur. Wara li titlesta l-ġenerazzjoni, il-programmi se jidhru fid-direttorju bprepl/repl_proc.

Il-programmi tal-Bulk Load Processor huma użati biex jissinkronizzaw id-databases tal-Progress tas-sors mad-database Oracle fil-mira bbażata fuq il-lingwa ta' programmar Progress ABL (4GL). Biex tiġġenerahom, mur l-oġġett tal-menu Għodda -> Iġġenera Kodiċi -> Bulk-Copy Processor. Fil-kaxxa ta 'dialog Agħżel Database, agħżel id-databases tas-sors, ċċaqlaqhom fuq in-naħa tal-lemin tat-tieqa u kklikkja OK. Wara li titlesta l-ġenerazzjoni, il-programmi se jidhru fid-direttorju bpreplrepl_mproc.

Twaqqif ta 'proċessi ta' replikazzjoni fi Pro2

Il-qsim tat-tabelli f'settijiet moqdija minn ħajt ta 'replikazzjoni separat itejjeb il-prestazzjoni u l-effiċjenza ta' Pro2 Oracle. B'mod awtomatiku, il-konnessjonijiet kollha maħluqa fil-mappa ta 'replikazzjoni għal tabelli ta' replikazzjoni ġodda huma assoċjati mal-ħajt numru 1. Huwa rakkomandat li t-tabelli jiġu separati f'ħjut differenti.

L-informazzjoni dwar l-istatus tal-ħjut tar-replikazzjoni tidher fuq l-iskrin tal-Amministrazzjoni tal-Pro2 fit-tab tal-Monitor fit-taqsima tal-Istatus tar-Replikazzjoni. Deskrizzjoni dettaljata tal-valuri tal-parametri tista 'tinstab fid-dokumentazzjoni Pro2 (direttorju C:Pro2Docs).

Oħloq u attiva politiki CDC

Il-politiki huma sett ta 'regoli għall-magna OpenEdge CDC biex timmonitorja l-bidliet fit-tabelli. Fiż-żmien tal-kitba, Pro2 jappoġġja biss il-politiki CDC b'livell 0, jiġifieri, il-fatt biss huwa mmonitorjat bidliet rekord.

Biex toħloq politika CDC, fuq il-pannell amministrattiv, mur fit-tab tal-Immappjar, agħżel id-database tas-sors u kklikkja fuq il-buttuna Żid/Neħħi Politiki. Fit-tieqa Agħżel Bidliet li tiftaħ, agħżel fuq in-naħa tax-xellug u mxi lejn il-lemin it-tabelli li għalihom għandek bżonn toħloq jew tħassar politika CDC.

Biex tattiva, iftaħ it-tab tal-Immappjar mill-ġdid, agħżel id-database tas-sors u kklikkja fuq il-buttuna (In)Attiva Policies. Agħżel u ċċaqlaq lejn in-naħa tal-lemin tat-tabella l-politiki li għalihom trid tattiva, ikklikkja OK. Wara dan huma mmarkati bl-aħdar. Bl-użu (In)Attiva Policies Tista' wkoll tiddiżattiva l-politiki tas-CDC. It-tranżazzjonijiet kollha jsiru onlajn.

Kif tagħmel ħbieb bejn is-sistema bankarja Progress OpenEdge u l-DBMS Oracle

Wara li tiġi attivata l-politika tas-CDC, in-noti dwar ir-rekords modifikati jiġu ssejvjati fiż-żona tal-ħażna "ReplCDCArea" skond id-database tas-sors. Dawn in-noti se jiġu pproċessati permezz ta' proċess speċjali CDCBatch, li bbażati fuqhom se joħolqu noti fil-kju ta 'replikazzjoni Pro2 fid-database cdc (repl).

Għalhekk, għandna żewġ kjuwijiet għar-replikazzjoni. L-ewwel stadju huwa CDCBatch: mid-database tas-sors, id-data l-ewwel tmur għad-database CDC intermedja. It-tieni stadju huwa meta d-data tiġi trasferita mid-database tas-CDC għal Oracle. Din hija karatteristika tal-arkitettura attwali u l-prodott innifsu - s'issa l-iżviluppaturi ma setgħux jistabbilixxu replikazzjoni diretta.

Sinkronizzazzjoni primarja

Wara li ppermettiet il-mekkaniżmu CDC u twaqqaf is-server ta 'replikazzjoni Pro2, għandna bżonn nibdew is-sinkronizzazzjoni inizjali. Kmand inizjali tas-sinkronizzazzjoni:

/pro2/bprepl/Script/replLoad.sh bisquit table-name

Wara li titlesta s-sinkronizzazzjoni inizjali, jistgħu jinbdew proċessi ta 'replikazzjoni.

Bidu ta' proċessi ta' replikazzjoni

Biex tibda proċessi ta' replikazzjoni trid tmexxi skript replbatch.sh. Qabel ma tibda, kun żgur li hemm skripts replbatch għall-ħjut kollha - replbatch1, replbatch2, eċċ. Jekk kollox huwa f'postu, iftaħ il-linja tal-kmand (per eżempju, proenv), mur fid-direttorju /bprepl/skripts u ibda l-iskript. Fil-panel amministrattiv, aħna niċċekkjaw li l-proċess korrispondenti jkun irċieva l-istatus RUNNING.

Kif tagħmel ħbieb bejn is-sistema bankarja Progress OpenEdge u l-DBMS Oracle

Sejbiet

Kif tagħmel ħbieb bejn is-sistema bankarja Progress OpenEdge u l-DBMS Oracle
Wara l-implimentazzjoni, aċċellejna ħafna t-tlugħ tal-informazzjoni fil-maħżen tad-dejta korporattiva. Id-data awtomatikament tidħol f'Oracle online. M'hemmx bżonn li taħli l-ħin taħdem xi mistoqsijiet li ilhom għaddejjin biex tiġbor data minn sistemi differenti. Barra minn hekk, f'din is-soluzzjoni l-proċess ta 'replikazzjoni jista' jikkompressa data, li għandha wkoll effett pożittiv fuq il-veloċità. Issa r-rikonċiljazzjoni ta 'kuljum tas-sistema BISKVIT ma' sistemi oħra bdiet tieħu 15-20 minuta minflok 2-2,5 sigħat, u rikonċiljazzjoni sħiħa ħadet diversi sigħat minflok jumejn.

Sors: www.habr.com

Żid kumment