Si të bëni miq midis sistemit bankar Progress OpenEdge dhe Oracle DBMS

Që nga viti 1999, për shërbimin e back office, banka jonë ka përdorur sistemin e integruar bankar BISKVIT në platformën Progress OpenEdge, i cili përdoret gjerësisht në të gjithë botën, duke përfshirë edhe sektorin financiar. Performanca e kësaj DBMS ju lejon të lexoni deri në një milion ose më shumë regjistrime në sekondë në një bazë të dhënash (DB). Progress OpenEdge ynë shërben rreth 1,5 milionë depozita individuale dhe rreth 22,2 milionë kontrata për produkte aktive (kredi për makina dhe hipoteka), dhe është gjithashtu përgjegjës për të gjitha shlyerjet me rregullatorin (Bankën Qendrore) dhe SWIFT.

Si të bëni miq midis sistemit bankar Progress OpenEdge dhe Oracle DBMS

Duke përdorur Progress OpenEdge, ne u përballëm me nevojën për ta bërë atë të funksionojë me Oracle DBMS. Fillimisht, kjo paketë ishte pengesa e infrastrukturës sonë - derisa instaluam dhe konfiguruam Pro2 CDC - një produkt Progress që ju lejon të dërgoni të dhëna nga Progress DBMS në Oracle DBMS drejtpërdrejt, në internet. Në këtë postim do t'ju tregojmë në detaje, me të gjitha kurthet, se si të bëni miq në mënyrë efektive midis OpenEdge dhe Oracle.

Si ndodhi: ngarkimi i të dhënave në QCD përmes ndarjes së skedarëve

Së pari, disa fakte për infrastrukturën tonë. Numri i përdoruesve aktivë të bazës së të dhënave është afërsisht 15 mijë. Vëllimi i të gjitha bazave të të dhënave produktive, duke përfshirë kopjen dhe gatishmërinë, është 600 TB, baza më e madhe e të dhënave është 16,5 TB. Në të njëjtën kohë, bazat e të dhënave janë duke u rimbushur vazhdimisht: vetëm gjatë vitit të kaluar janë shtuar rreth 120 TB të dhëna produktive. Sistemi mundësohet nga 150 serverë të përparmë në platformën x86. Bazat e të dhënave janë të strehuara në 21 serverë të platformës IBM.

Si të bëni miq midis sistemit bankar Progress OpenEdge dhe Oracle DBMS
Sistemet e përparme, sisteme të ndryshme kryesore bankare dhe shërbime bankare janë të integruara me OpenEdge Progress (BISCUIT IBS) nëpërmjet autobusit Sonic ESB. Ngarkimi i të dhënave në QCD ndodh përmes shkëmbimit të skedarëve. Deri në një moment të caktuar kohor, kjo zgjidhje kishte dy probleme të mëdha njëherësh - performancën e ulët të ngarkimit të informacionit në një depo të të dhënave të korporatës (CDW) dhe një kohë të gjatë për kryerjen e rakordimit të të dhënave (rakordimit) me sisteme të tjera.
Si të bëni miq midis sistemit bankar Progress OpenEdge dhe Oracle DBMS
Prandaj, filluam të kërkonim një mjet që mund të përshpejtonte këto procese. Zgjidhja për të dy problemet ishte produkti i ri Progress OpenEdge – Pro2 CDC (Change Data Capture). Pra, le të fillojmë.

Instaloni Progress OpenEdge dhe Pro2Oracle

Për të ekzekutuar Pro2 Oracle në kompjuterin Windows të administratorit, mjafton të instaloni Progress OpenEdge Developer Kit Classroom Edition, i cili mund të jetë shkarko falas. Drejtoritë e parazgjedhura të instalimit të OpenEdge:

DLC: C: ProgressOpenEdge
WRK: C:OpenEdgeWRK

Proceset ETL kërkojnë licencat Progress OpenEdge version 11.7+ - përkatësisht OE DataServer për Oracle dhe 4GL Development System. Këto licenca janë të përfshira me Pro2. Për funksionimin e plotë të DataServer për Oracle me një bazë të dhënash në distancë të Oracle, është instaluar Full Oracle Client.

Në serverin Oracle ju duhet të instaloni Oracle Database 12+, të krijoni një bazë të dhënash bosh dhe të shtoni një përdorues (le ta quajmë atë CDC).

Për të instaluar Pro2Oracle, shkarkoni shpërndarjen më të fundit nga qendra e shkarkimit Programe progresi. Shpaketoni arkivin në një drejtori C: Pro2 (Për të konfiguruar Pro2 në Unix, përdoret e njëjta shpërndarje dhe zbatohen të njëjtat parime konfigurimi).

Krijimi i një baze të dhënash të riprodhimit të cdc

Replikimi i bazës së të dhënave cdc (përgjigje) Pro2 përdoret për të ruajtur informacionin e konfigurimit, duke përfshirë hartën e riprodhimit, emrat e bazave të të dhënave të përsëritura dhe tabelat e tyre. Ai gjithashtu përmban një radhë përsëritjeje, e përbërë nga shënime për faktin se një rresht tabele në bazën e të dhënave burimore ka ndryshuar. Të dhënat nga radha e riprodhimit përdoren nga proceset ETL për të identifikuar rreshtat që duhet të kopjohen në Oracle nga baza e të dhënave burimore.

Ne po krijojmë një bazë të dhënash të veçantë cdc.

Procedura për krijimin e një baze të dhënash

  1. Në serverin e bazës së të dhënave ne krijojmë një direktori për bazën e të dhënave cdc - për shembull, në server /baza e të dhënave/cdc/.
  2. Krijo një dummy për bazën e të dhënave cdc: kopjoni $DLC/cdc bosh
  3. Aktivizo mbështetjen për skedarë të mëdhenj: proutil cdc -C EnableLargeFiles
  4. Ne përgatisim një skript për fillimin e bazës së të dhënave cdc. Parametrat e fillimit duhet të jenë të ngjashëm me parametrat e fillimit të bazës së të dhënave të përsëritur.
  5. Ne fillojmë bazën e të dhënave cdc.
  6. Lidhu me bazën e të dhënave cdc dhe ngarko skemën Pro2 nga skedari cdc.df, e cila është përfshirë me Pro2.
  7. Ne krijojmë përdoruesit e mëposhtëm në bazën e të dhënave cdc:

pro2adm – për lidhje nga paneli administrativ Pro2;
pro2etl – për lidhjen e proceseve ETL (ReplBatch);
pro2cdc – për lidhjen e proceseve CDC (CDCBatch);

Aktivizimi i OpenEdge Change Data Capture

Tani le të aktivizojmë vetë mekanizmin CDC, me ndihmën e të cilit të dhënat do të përsëriten në një zonë teknologjike shtesë. Në çdo bazë të dhënash burimi të Progress OpenEdge, duhet të shtoni zona të veçanta ruajtjeje në të cilat do të dublikohen të dhënat e burimit dhe të aktivizoni vetë mekanizmin duke përdorur komandën proutil.

Shembull i procedurës për bazën e të dhënave bisquit

  1. Kopjimi nga katalogu C: Pro2db файл cdcadd.st në drejtorinë e bazës së të dhënave të burimit bisquit.
  2. Ne përshkruajmë në cdcadd.st shtrirje të madhësisë fikse për rajonet "ReplCDCArea" и "ReplCDCArea_IDX". Mund të shtoni zona të reja ruajtjeje në internet: prostrct addonline bisquit cdcadd.st
  3. Aktivizo OpenEdge CDC:
    proutil bisquit -C aktivizoni zonën cdc "ReplCDCArea" zona e indeksit "ReplCDCArea_IDX"
  4. Përdoruesit e mëposhtëm duhet të krijohen në bazën e të dhënave burimore për të identifikuar proceset e ekzekutimit:
    a. pro2adm – për t'u lidhur nga paneli administrativ Pro2.
    b. pro2etl – për lidhjen e proceseve ETL (ReplBatch).
    c. pro2cdc – për lidhjen e proceseve CDC (CDCBatch).

Krijimi i një mbajtësi skeme për DataServer për Oracle

Më pas, ne duhet të krijojmë një bazë të dhënash Schema Holder në server ku të dhënat nga Progress DBMS do të kopjohen në Oracle DBMS. Mbajtësi i skemës së DataServer është një bazë të dhënash e zbrazët e Progress OpenEdge pa përdorues ose të dhëna aplikacioni, që përmban një hartë të korrespondencës midis tabelave burimore dhe tabelave të jashtme të Oracle.

Baza e të dhënave Schema Mbajtës për Progress OpenEdge DataServer për Oracle për Pro2 duhet të jetë e vendosur në serverin e procesit ETL; ajo krijohet veçmas për secilën degë.

Si të krijoni një mbajtës skeme

  1. Shpaketoni shpërndarjen Pro2 në një direktori /pro2
  2. Krijoni dhe shkoni te drejtoria /pro2/dbsh
  3. Krijo një bazë të dhënash Skema Mbajtëse duke përdorur komandën kopjoni $DLC/bisquitsh bosh
  4. Kryerja e konvertimit bisquitsh në kodimin e kërkuar - për shembull, në UTF-8 nëse bazat e të dhënave Oracle kanë kodim UTF-8: proutil bisquitsh -C convchar konverton UTF-8
  5. Pas krijimit të një baze të dhënash boshe bisquitsh lidheni me të në modalitetin me një përdorues: pro bisquitsh
  6. Le të shkojmë te Fjalori i të dhënave: Mjetet -> Fjalori i të dhënave -> DataServer -> Shërbimet ORACLE -> Krijo skemën e DataServer
  7. Hapni mbajtësin e skemës
  8. Konfigurimi i ndërmjetësit Oracle DataServer:
    a. Filloni AdminServer.
    proadsv -fillim
    b. Fillimi i ndërmjetësit Oracle DataServer
    oraman -emër orabroker1 -fillim

Vendosja e panelit administrativ dhe skemës së përsëritjes

Duke përdorur panelin administrativ Pro2, konfigurohen parametrat Pro2, duke përfshirë konfigurimin e skemës së riprodhimit dhe gjenerimin e proceseve ETL (Biblioteka e procesorit), programet kryesore të sinkronizimit (Procesori i kopjimit në masë), nxitësit e replikimit dhe politikat e OpenEdge CDC. Ekzistojnë gjithashtu mjete kryesore për monitorimin dhe menaxhimin e proceseve ETL dhe CDC. Para së gjithash, ne vendosim skedarët e parametrave.

Si të konfiguroni skedarët e parametrave

  1. Shkoni te katalogu C:Pro2bpreplScripts
  2. Hapni skedarin për redaktim replProc.pf
  3. Shtoni parametrat e lidhjes në bazën e të dhënave të riprodhimit të cdc:
    # Baza e të dhënave të përsëritjes
    -db cdc -ld repl -H <emri kryesor i bazës së të dhënave> -S <porta e ndërmjetësit të bazës së të dhënave cdc>
    -U pro2admin -P <fjalëkalimi>
  4. Shtoni në replProc.pf parametrat e lidhjes me bazat e të dhënave burimore dhe Mbajtësi i skemës në formën e skedarëve të parametrave. Emri i skedarit të parametrave duhet të përputhet me emrin e bazës së të dhënave burimore që lidhet.
    # Lidhu me të gjitha burimet e përsëritura BISQUIT
    -pf bpreplscriptsbisquit.pf
  5. Shtoni në replProc.pf parametrat për t'u lidhur me mbajtësin e skemës.
    Mbajtës i skemës #Target Pro DB
    -db bisquitsh -ld bisquitsh
    -H <emri i hostit të procesit ETL>
    -S <biskuitsh broker port>
    -db bisquitsql
    -ld bisquitsql
    -dt ORACUL
    -S 5162 -H <emri i hostit të ndërmjetësit të Oracle>
    -DataService orabroker1
  6. Ruani skedarin e parametrave replProc.pf
  7. Më pas, duhet të krijoni dhe të hapni skedarë parametrash për modifikim për secilën bazë të dhënash të burimit të lidhur në drejtori C:Pro2bpreplScripts: bisquit.pf. Çdo skedar pf përmban parametra për t'u lidhur me bazën e të dhënave përkatëse, për shembull:
    -db bisquit -ld bisquit -H <emri i hostit> -S <porta e ndërmjetësit>
    -U pro2admin -P <fjalëkalimi>

Për të konfiguruar shkurtoret e Windows, duhet të shkoni te drejtoria C:Pro2bpreplScripts dhe modifikoni shkurtoren “Pro2 – Administration”. Për ta bërë këtë, hapni vetitë e shkurtores dhe në linjë Fillo Ne tregoni direktorinë e instalimit Pro2. Një veprim i ngjashëm duhet të bëhet për shkurtoret "Pro2 - Editor" dhe "RunBulkLoader".

Konfigurimi i Administratës Pro2: Po ngarkohet konfigurimi fillestar

Le të hapim konsolën.

Si të bëni miq midis sistemit bankar Progress OpenEdge dhe Oracle DBMS

Shkoni te "Harta DB".

Si të bëni miq midis sistemit bankar Progress OpenEdge dhe Oracle DBMS

Për të lidhur bazat e të dhënave në Pro2 – Administrimi, shkoni te skeda Harta e DB. Shto hartën e bazave të të dhënave burimore - Mbajtësi i skemës - Oracle.

Si të bëni miq midis sistemit bankar Progress OpenEdge dhe Oracle DBMS

Shkoni te skeda Harta. Të listuara Baza e të dhënave burimore Si parazgjedhje, zgjidhet baza e parë e të dhënave të burimit të lidhur. Në të djathtë të listës duhet të ketë një mbishkrim Të gjitha bazat e të dhënave të lidhura — bazat e të dhënave të zgjedhura janë të lidhura. Më poshtë në të majtë duhet të shihni një listë të tabelave të Progresit nga bisquit. Në të djathtë është një listë e tabelave nga baza e të dhënave Oracle.

Krijimi i skemave dhe bazave të të dhënave SQL në Oracle

Për të krijuar një hartë të përsëritjes, së pari duhet të gjeneroni Skema SQL në Oracle. Në Pro2 Administration ne ekzekutojmë artikullin e menysë Mjetet -> Gjeneroni kodin -> Skema e synuar, pastaj në kutinë e dialogut Zgjidhni bazën e të dhënave zgjidhni një ose më shumë baza të të dhënave burimore dhe zhvendosini ato në të djathtë.

Si të bëni miq midis sistemit bankar Progress OpenEdge dhe Oracle DBMS

Klikoni OK dhe zgjidhni direktorinë për të ruajtur skemat SQL.

Më pas krijojmë bazën. Kjo mund të bëhet, për shembull, nëpërmjet Zhvilluesi Oracle SQL. Për ta bërë këtë, ne lidhemi me bazën e të dhënave Oracle dhe ngarkojmë skemën për shtimin e tabelave. Pas ndryshimit të përbërjes së tabelave të Oracle, ju duhet të përditësoni skemat SQL në Mbajtësin e skemave.

Si të bëni miq midis sistemit bankar Progress OpenEdge dhe Oracle DBMS

Pasi shkarkimi të përfundojë me sukses, dilni nga baza e të dhënave bisquitsh dhe hapni panelin administrativ Pro2. Tabelat nga baza e të dhënave Oracle duhet të shfaqen në skedën Mapping në të djathtë.

Harta e tabelës

Për të krijuar një hartë replikimi, në panelin administrativ Pro2, shkoni te skeda Mapping dhe zgjidhni bazën e të dhënave burimore. Klikoni në Tabelat e Hartave, zgjidhni Zgjidh Ndryshimet në të majtë të tabelave që duhet të përsëriten në Oracle, zhvendosini ato në të djathtë dhe konfirmoni përzgjedhjen. Një hartë do të krijohet automatikisht për tabelat e zgjedhura. Ne përsërisim operacionin për të krijuar një hartë riprodhimi për bazat e të dhënave të burimeve të tjera.

Si të bëni miq midis sistemit bankar Progress OpenEdge dhe Oracle DBMS

Gjenerimi i bibliotekës së procesorit të përsëritjes Pro2 dhe programeve të procesorit të kopjimit në masë

Biblioteka e Përpunuesve të Replikimit është projektuar për proceset e riprodhimit me porosi (ETL) që përpunojnë radhën e riprodhimit Pro2 dhe shtyjnë ndryshimet në bazën e të dhënave Oracle. Programet e bibliotekës së procesorit të replikimit ruhen automatikisht në drejtori pas gjenerimit bprepl/repl_proc (parametri PROC_DIRECTORY). Për të gjeneruar bibliotekën e procesorit të riprodhimit, shkoni te Mjetet -> Gjeneroni kodin -> Biblioteka e procesorit. Pas përfundimit të gjenerimit, programet do të shfaqen në drejtori bprepl/repl_proc.

Programet Bulk Load Processor përdoren për të sinkronizuar bazat e të dhënave burimore Progress me bazën e të dhënave Oracle të synuar bazuar në gjuhën e programimit Progress ABL (4GL). Për t'i gjeneruar ato, shkoni te artikulli i menysë Mjetet -> Gjenerimi i kodit -> Përpunuesi i kopjimit me shumicë. Në kutinë e dialogut Zgjidhni bazën e të dhënave, zgjidhni bazat e të dhënave burimore, zhvendosini ato në anën e djathtë të dritares dhe klikoni OK. Pas përfundimit të gjenerimit, programet do të shfaqen në drejtori bpreplrepl_mproc.

Vendosja e proceseve të replikimit në Pro2

Ndarja e tabelave në grupe të shërbyera nga një fije e veçantë riprodhimi përmirëson performancën dhe efikasitetin e Pro2 Oracle. Si parazgjedhje, të gjitha lidhjet e krijuara në hartën e replikimit për tabelat e reja të riprodhimit shoqërohen me numrin 1. Rekomandohet që tabelat të ndahen në fije të ndryshme.

Informacioni rreth statusit të fijeve të riprodhimit shfaqet në ekranin e Administrimit Pro2 në skedën Monitor në seksionin Statusi i Replikimit. Një përshkrim i detajuar i vlerave të parametrave mund të gjendet në dokumentacionin Pro2 (drejtoria C: Pro2Docs).

Krijoni dhe aktivizoni politikat e CDC

Politikat janë një grup rregullash për motorin OpenEdge CDC për të monitoruar ndryshimet në tabela. Në kohën e shkrimit, Pro2 mbështet vetëm politikat e CDC me nivelin 0, domethënë monitorohet vetëm fakti regjistro ndryshimet.

Për të krijuar një politikë CDC, në panelin administrativ, shkoni te skeda Mapping, zgjidhni bazën e të dhënave burimore dhe klikoni në butonin Shto/Hiq politikat. Në dritaren Select Changes që hapet, zgjidhni në anën e majtë dhe zhvendosni në të djathtë tabelat për të cilat ju duhet të krijoni ose fshini një politikë CDC.

Për ta aktivizuar, hapni sërish skedën Mapping, zgjidhni bazën e të dhënave burimore dhe klikoni në butonin (In)Aktivizo politikat. Zgjidhni dhe zhvendosni në anën e djathtë të tabelës politikat që duhet të aktivizohen, klikoni OK. Pas kësaj ato shënohen me të gjelbër. Duke përdorur (In)Aktivizo politikat Ju gjithashtu mund të çaktivizoni politikat e CDC. Të gjitha transaksionet kryhen online.

Si të bëni miq midis sistemit bankar Progress OpenEdge dhe Oracle DBMS

Pasi të aktivizohet politika e CDC, shënimet rreth regjistrimeve të modifikuara ruhen në zonën e ruajtjes "ReplCDCArea" sipas bazës së të dhënave burimore. Këto shënime do të përpunohen përmes një procesi të veçantë CDCBatch, të cilat në bazë të tyre do të krijojnë shënime në radhën e replikimit Pro2 në bazën e të dhënave cdc (përgjigje).

Kështu, kemi dy radhë për replikim. Faza e parë është CDCBatch: nga baza e të dhënave burimore, të dhënat fillimisht shkojnë në bazën e të dhënave të ndërmjetme CDC. Faza e dytë është kur të dhënat transferohen nga baza e të dhënave CDC në Oracle. Kjo është një veçori e arkitekturës aktuale dhe vetë produktit - deri më tani zhvilluesit nuk kanë qenë në gjendje të krijojnë përsëritje të drejtpërdrejtë.

Sinkronizimi primar

Pas aktivizimit të mekanizmit CDC dhe vendosjes së serverit të riprodhimit Pro2, duhet të fillojmë sinkronizimin fillestar. Komanda fillestare e sinkronizimit:

/pro2/bprepl/Script/replLoad.sh emri i tabelës bisquit

Pas përfundimit të sinkronizimit fillestar, proceset e replikimit mund të fillojnë.

Fillimi i proceseve të replikimit

Për të filluar proceset e riprodhimit, duhet të ekzekutoni një skript replbatch.sh. Para se të filloni, sigurohuni që të ketë skripta replbatch për të gjitha temat - replbatch1, replbatch2, etj. Nëse gjithçka është në vend, hapni vijën e komandës (për shembull, proenv), shkoni te drejtoria /bprepl/skriptet dhe filloni skenarin. Në panelin administrativ, kontrollojmë që procesi përkatës të ketë marrë statusin EKZEKTUAR.

Si të bëni miq midis sistemit bankar Progress OpenEdge dhe Oracle DBMS

Gjetjet

Si të bëni miq midis sistemit bankar Progress OpenEdge dhe Oracle DBMS
Pas zbatimit, ne përshpejtuam shumë ngarkimin e informacionit në depon e të dhënave të korporatës. Të dhënat futen automatikisht në Oracle online. Nuk ka nevojë të humbni kohë duke ekzekutuar disa pyetje të gjata për të mbledhur të dhëna nga sisteme të ndryshme. Përveç kësaj, në këtë zgjidhje procesi i replikimit mund të kompresojë të dhënat, gjë që gjithashtu ka një efekt pozitiv në shpejtësinë. Tani barazimi ditor i sistemit BISKVIT me sistemet e tjera filloi të zgjasë 15-20 minuta në vend të 2-2,5 orësh, dhe një harmonizim i plotë zgjati disa orë në vend të dy ditëve.

Burimi: www.habr.com

Shto një koment