Kuidas leida sõpru Progress OpenEdge pangasüsteemi ja Oracle DBMSi vahel

Alates 1999. aastast on meie pank tagakontori teenindamiseks kasutanud Progress OpenEdge platvormil integreeritud pangandussüsteemi BISKVIT, mida kasutatakse laialdaselt kogu maailmas, sealhulgas finantssektoris. Selle DBMS-i jõudlus võimaldab ühes andmebaasis (DB) lugeda kuni miljon või enam kirjet sekundis. Meie Progress OpenEdge teenindab ligikaudu 1,5 miljonit individuaalset hoiust ja ligikaudu 22,2 miljonit aktiivsete toodete lepingut (autolaenud ja hüpoteegid) ning vastutab ka kõigi arvelduste eest regulaatoriga (keskpank) ja SWIFTiga.

Kuidas leida sõpru Progress OpenEdge pangasüsteemi ja Oracle DBMSi vahel

Progress OpenEdge'i kasutades seisime silmitsi vajadusega muuta see Oracle'i DBMS-iga töötama. Algselt oli see pakett meie infrastruktuuri kitsaskohaks – kuni installisime ja konfigureerisime Pro2 CDC – Progressi toote, mis võimaldab saata andmeid Progressi DBMS-ist Oracle DBMS-i otse võrgus. Selles postituses räägime teile üksikasjalikult koos kõigi lõksudega, kuidas OpenEdge'i ja Oracle'i vahel tõhusalt sõpru luua.

Kuidas see juhtus: andmete üleslaadimine QCD-sse failijagamise kaudu

Esiteks mõned faktid meie infrastruktuuri kohta. Andmebaasi aktiivsete kasutajate arv on ligikaudu 15 tuhat. Kõigi tootlike andmebaaside maht, sealhulgas replika ja ooterežiim, on 600 TB, suurim andmebaas on 16,5 TB. Samal ajal täienevad andmebaasid pidevalt: ainuüksi viimase aasta jooksul on lisandunud umbes 120 TB produktiivset andmemahtu. Süsteemi toiteallikaks on 150 esiserverit x86 platvormil. Andmebaase majutatakse 21 IBM-i platvormi serveris.

Kuidas leida sõpru Progress OpenEdge pangasüsteemi ja Oracle DBMSi vahel
Esiosa süsteemid, erinevad põhipangasüsteemid ja pangateenused on Sonic ESB siini kaudu integreeritud OpenEdge Progressiga (BISCUIT IBS). Andmete üleslaadimine QCD-sse toimub failivahetuse kaudu. Kuni teatud ajahetkeni oli sellel lahendusel korraga kaks suurt probleemi – vähene jõudlus info üleslaadimisel ettevõtte andmelattu (CDW) ja pikk aeg andmete vastavusse viimisel (ühildamisel) teiste süsteemidega.
Kuidas leida sõpru Progress OpenEdge pangasüsteemi ja Oracle DBMSi vahel
Seetõttu hakkasime otsima tööriista, mis saaks neid protsesse kiirendada. Mõlema probleemi lahenduseks oli uus Progress OpenEdge toode – Pro2 CDC (Change Data Capture). Niisiis, alustame.

Installige Progress OpenEdge ja Pro2Oracle

Pro2 Oracle'i käivitamiseks administraatori Windowsi arvutis piisab Progress OpenEdge Developer Kit Classroom Editioni installimisest, mida saab alla laadima tasuta. OpenEdge'i vaikeinstallikataloogid:

DLC: C: ProgressOpenEdge
WRK: C:OpenEdgeWRK

ETL-i protsessid nõuavad Progress OpenEdge litsentsi versiooni 11.7+ – nimelt OE DataServer for Oracle ja 4GL Development System. Need litsentsid on Pro2-ga kaasas. DataServer for Oracle täielikuks tööks Oracle'i kaugandmebaasiga on installitud Full Oracle Client.

Oracle serverisse tuleb installida Oracle Database 12+, luua tühi andmebaas ja lisada kasutaja (nimetagem talle ccc).

Pro2Oracle'i installimiseks laadige allalaadimiskeskusest alla uusim distributsioon Tarkvara Progress. Pakkige arhiiv lahti kataloogi C: Pro2 (Pro2 konfigureerimiseks Unixis kasutatakse sama jaotust ja kehtivad samad konfiguratsioonipõhimõtted).

CD-replikatsiooni andmebaasi loomine

Replikatsiooni andmebaas cdc (repl) Pro2 kasutatakse konfiguratsiooniteabe, sealhulgas replikatsioonikaardi, kopeeritud andmebaaside nimede ja nende tabelite salvestamiseks. See sisaldab ka replikatsiooni järjekorda, mis koosneb märkustest selle kohta, et lähteandmebaasi tabeli rida on muutunud. ETL-i protsessid kasutavad replikatsioonijärjekorra andmeid, et tuvastada ridu, mis tuleb lähteandmebaasist Oracle'i kopeerida.

Loome eraldi cdc andmebaasi.

Andmebaasi loomise protseduur

  1. Andmebaasiserveris loome cdc andmebaasi jaoks kataloogi - näiteks serveris /database/cdc/.
  2. Looge cdc andmebaasi jaoks näiv: kopeeri $DLC/tühi cdc
  3. Luba suurte failide tugi: proutil cdc -C EnableLargeFiles
  4. Valmistame ette skripti cdc andmebaasi käivitamiseks. Algparameetrid peavad olema sarnased paljundatud andmebaasi algusparameetritega.
  5. Käivitame cdc andmebaasi.
  6. Ühendage cdc andmebaasiga ja laadige failist Pro2 skeem cdc.df, mis on Pro2-ga kaasas.
  7. Loome cdc andmebaasis järgmised kasutajad:

pro2adm – ühendamiseks Pro2 halduspaneelilt;
pro2etl – ETL protsesside ühendamiseks (ReplBatch);
pro2cdc – CDC protsesside ühendamiseks (CDCBatch);

OpenEdge Change Data Capture aktiveerimine

Nüüd lülitame sisse CDC mehhanismi enda, mille abil kopeeritakse andmed täiendavasse tehnoloogiavaldkonda. Igasse Progress OpenEdge'i lähteandmebaasi peate lisama eraldi salvestuspiirkonnad, kuhu lähteandmed dubleeritakse, ja aktiveerima mehhanismi enda käsuga proutil.

Näidisprotseduuri bisquit andmebaasi jaoks

  1. Kopeerimine kataloogist C: Pro2db faili cdcadd.st bisquit allika andmebaasi kataloogi.
  2. Kirjeldame sisse cdcadd.st piirkondade jaoks fikseeritud suurusega ulatused "ReplCDCArea" и "ReplCDCArea_IDX". Saate veebis uusi salvestusalasid lisada: prostrct addonline bisquit cdcadd.st
  3. Aktiveerige OpenEdge CDC:
    proutil bisquit -C enablecdc ala "ReplCDCArea" indekspiirkond "ReplCDCArea_IDX"
  4. Töötavate protsesside tuvastamiseks tuleb lähteandmebaasi luua järgmised kasutajad:
    a. pro2adm – ühendamiseks Pro2 halduspaneelilt.
    b. pro2etl – ETL protsesside ühendamiseks (ReplBatch).
    c. pro2cdc – CDC protsesside ühendamiseks (CDCBatch).

Oracle'i DataServeri skeemihoidiku loomine

Järgmiseks peame looma serveris Schema Holderi andmebaasi, kus Progressi DBMS-i andmed kopeeritakse Oracle DBMS-i. DataServer Schema Holder on tühi Progress OpenEdge'i andmebaas ilma kasutajate või rakenduste andmeteta, mis sisaldab lähtetabelite ja väliste Oracle'i tabelite vahelise vastavuse kaarti.

Progress OpenEdge DataServer for Oracle for Pro2 Schema Holderi andmebaas peab asuma ETL protsessiserveris; see luuakse iga haru jaoks eraldi.

Kuidas luua skeemihoidjat

  1. Pakkige Pro2 distributsioon lahti kataloogi /pro2
  2. Looge ja minge kataloogi /pro2/dbsh
  3. Looge käsuga Schema Holder andmebaas kopeeri $DLC/tühi bisquitsh
  4. Konversiooni teostamine biskvitš nõutavasse kodeeringusse – näiteks UTF-8-s, kui Oracle'i andmebaasidel on UTF-8 kodeering: proutil bisquitsh -C convchar teisendab UTF-8
  5. Pärast tühja andmebaasi loomist biskvitš ühendage sellega ühe kasutaja režiimis: pro bisquitsh
  6. Läheme andmesõnastiku juurde: Tööriistad -> Andmesõnastik -> DataServer -> ORACLE Utilities -> Loo andmeserveri skeem
  7. Käivitage Schema Holder
  8. Oracle DataServeri maakleri seadistamine:
    a. Käivitage AdminServer.
    proadsv -start
    b. Oracle DataServeri maakleri käivitamine
    oraman -nimi orabroker1 -start

Halduspaneeli ja replikatsiooniskeemi seadistamine

Pro2 halduspaneeli abil konfigureeritakse Pro2 parameetreid, sealhulgas replikatsiooniskeemi seadistamine ja ETL-i protsesside (Protsessoriteek), esmaste sünkroonimisprogrammide (Bulk-Copy Processor), replikatsioonipäästikute ja OpenEdge CDC poliitika genereerimine. Samuti on olemas peamised tööriistad ETL-i ja CDC protsesside jälgimiseks ja haldamiseks. Kõigepealt seadistame parameetrifailid.

Kuidas konfigureerida parameetrifaile

  1. Minge kataloogi C:Pro2bpreplScripts
  2. Avage fail redigeerimiseks replProc.pf
  3. Lisage cdc replikatsiooni andmebaasi ühenduse parameetrid:
    # Replikatsiooni andmebaas
    -db cdc -ld repl -H <põhiandmebaasi hostinimi> -S <andmebaasi vahendaja port cdc>
    -U pro2admin -P <parool>
  4. Lisa replProc.pf ühendusparameetrid lähteandmebaasidega ja skeemihoidjaga parameetrifailide kujul. Parameetrite faili nimi peab ühtima ühendatava lähteandmebaasi nimega.
    # Ühendage kõigi kopeeritud allikatega BISQUIT
    -pf bpreplscriptsbisquit.pf
  5. Lisa replProc.pf parameetrid Schema Holderiga ühendamiseks.
    #Target Pro DB skeemihoidja
    -db bisquitsh -ld bisquitsh
    -H <ETL protsessi hostinimi>
    -S <biskuitsh maakleri port>
    -db bisquitsql
    -ld bisquitsql
    -dt ORACLE
    -S 5162 -H <Oracle'i maakleri hostinimi>
    -DataService orabroker1
  6. Salvestage parameetrite fail replProc.pf
  7. Järgmiseks peate kataloogis iga ühendatud lähteandmebaasi jaoks looma ja redigeerimiseks avama parameetrifailid C:Pro2bpreplScripts: bisquit.pf. Iga pf-fail sisaldab parameetreid vastava andmebaasiga ühenduse loomiseks, näiteks:
    -db bisquit -ld bisquit -H <hostinimi> -S <maakleri port>
    -U pro2admin -P <parool>

Windowsi otseteede konfigureerimiseks peate minema kataloogi C:Pro2bpreplScripts ja muutke otsetee „Pro2 – Administration”. Selleks avage otsetee atribuudid ja real Alustage märkige Pro2 installikataloog. Sarnane toiming tuleb teha ka otseteede “Pro2 – Editor” ja “RunBulkLoader” puhul.

Pro2 halduse seadistus: algse konfiguratsiooni laadimine

Käivitame konsooli.

Kuidas leida sõpru Progress OpenEdge pangasüsteemi ja Oracle DBMSi vahel

Minge jaotisse "DB Map".

Kuidas leida sõpru Progress OpenEdge pangasüsteemi ja Oracle DBMSi vahel

Andmebaaside linkimiseks rakenduses Pro2 – Administration minge vahekaardile DB kaart. Lisa lähteandmebaaside kaardistus - Skeemi hoidja – Oracle.

Kuidas leida sõpru Progress OpenEdge pangasüsteemi ja Oracle DBMSi vahel

Minge vahekaardile Kaardistamine. Loetletud Allikate andmebaas Vaikimisi on valitud esimene ühendatud lähteandmebaas. Loendist paremal peaks olema kiri Kõik andmebaasid on ühendatud — valitud andmebaasid on ühendatud. All vasakul peaksite nägema bisquiti edenemistabelite loendit. Paremal on Oracle'i andmebaasi tabelite loend.

SQL-skeemide ja andmebaaside loomine Oracle'is

Replikatsioonikaardi loomiseks peate esmalt genereerima SQL skeem Oracle'is. Pro2 halduses täidame menüükäsu Tööriistad -> Genereeri kood -> Sihtskeem, seejärel dialoogiboksis Valige Andmebaas valige üks või mitu lähteandmebaasi ja liigutage need paremale.

Kuidas leida sõpru Progress OpenEdge pangasüsteemi ja Oracle DBMSi vahel

Klõpsake nuppu OK ja valige SQL-skeemide salvestamiseks kataloog.

Järgmisena loome aluse. Seda saab teha näiteks kaudu Oracle SQLi arendaja. Selleks loome ühenduse Oracle'i andmebaasiga ja laadime tabelite lisamise skeemi. Pärast Oracle'i tabelite koostise muutmist peate värskendama SQL-skeeme skeemihoidjas.

Kuidas leida sõpru Progress OpenEdge pangasüsteemi ja Oracle DBMSi vahel

Kui allalaadimine on edukalt lõpule viidud, väljuge bisquitshi andmebaasist ja avage Pro2 halduspaneel. Oracle'i andmebaasi tabelid peaksid ilmuma paremal asuvale kaardistamise vahekaardile.

Tabeli kaardistamine

Replikatsioonikaardi loomiseks minge Pro2 halduspaneelil vahekaardile Mapping ja valige lähteandmebaas. Klõpsake suvandil Map Tables, valige Oracle'is kopeeritavate tabelite vasakul küljel Select Changes, liigutage need paremale ja kinnitage valik. Valitud tabelite jaoks luuakse automaatselt kaart. Kordame toimingut, et luua replikatsioonikaart teistele lähteandmebaasidele.

Kuidas leida sõpru Progress OpenEdge pangasüsteemi ja Oracle DBMSi vahel

Pro2 replikatsiooniprotsessori teegi ja hulgikopeerimise protsessoriprogrammide loomine

Replikatsiooniprotsessori teek on mõeldud kohandatud replikatsiooniprotsesside (ETL) jaoks, mis töötlevad Pro2 replikatsioonijärjekorda ja suruvad muudatusi Oracle'i andmebaasi. Replikatsiooniprotsessori teegiprogrammid salvestatakse genereerimise järel automaatselt kataloogi bprepl/repl_proc (parameeter PROC_DIRECTORY). Replikatsiooniprotsessori teegi loomiseks minge aadressile Tööriistad -> Genereeri kood -> Protsessori teek. Pärast genereerimise lõpetamist ilmuvad programmid kataloogi bprepl/repl_proc.

Masslaadimisprotsessori programme kasutatakse Progressi lähteandmebaaside sünkroonimiseks Oracle'i sihtandmebaasiga, mis põhineb programmeerimiskeelel Progress ABL (4GL). Nende loomiseks minge menüükäsku Tööriistad -> Genereeri kood -> Hulgikopeerimisprotsessor. Valige dialoogiboksis Andmebaasi valimine lähteandmebaasid, liigutage need akna paremasse serva ja klõpsake OK. Pärast genereerimise lõpetamist ilmuvad programmid kataloogi bpreplrepl_mproc.

Replikatsiooniprotsesside seadistamine Pro2-s

Tabelite jagamine komplektideks, mida teenindab eraldi replikatsioonilõng, parandab Pro2 Oracle'i jõudlust ja tõhusust. Vaikimisi on kõik uute replikatsioonitabelite replikatsioonikaardil loodud ühendused seotud lõimega number 1. Soovitatav on eraldada tabelid erinevatesse lõimedesse.

Teave replikatsioonilõimede oleku kohta kuvatakse Pro2 halduskuval vahekaardil Monitor jaotises Replikatsiooni olek. Parameetrite väärtuste üksikasjaliku kirjelduse leiate Pro2 dokumentatsioonist (kataloog C:Pro2Docs).

CDC poliitikate loomine ja aktiveerimine

Poliitika on reeglite kogum OpenEdge CDC mootori jaoks tabelite muudatuste jälgimiseks. Kirjutamise ajal toetab Pro2 ainult 0-tasemega CDC-poliitikaid, see tähendab, et jälgitakse ainult fakte salvestada muudatused.

CDC poliitika loomiseks minge halduspaneelil vahekaardile Mapping, valige lähteandmebaas ja klõpsake nuppu Lisa/eemalda poliitikad. Avanevas aknas Select Changes valige vasakult ja liigutage paremale tabelid, mille jaoks peate CDC poliitika looma või kustutama.

Aktiveerimiseks avage uuesti vahekaart Mapping, valige lähteandmebaas ja klõpsake nuppu (In)Aktiveeri poliitikad. Valige aktiveerimist vajavad poliitikad ja liigutage tabeli paremale küljele, klõpsake nuppu OK. Pärast seda märgitakse need rohelisega. Kasutades (In)Aktiveeri poliitikad Samuti saate deaktiveerida CDC poliitikad. Kõik tehingud tehakse veebis.

Kuidas leida sõpru Progress OpenEdge pangasüsteemi ja Oracle DBMSi vahel

Pärast CDC-poliitika aktiveerimist salvestatakse salvestusalale märkused muudetud kirjete kohta "ReplCDCArea" allika andmebaasi järgi. Neid märkmeid töödeldakse spetsiaalse protsessi abil CDCBatch, mis nende põhjal loob märkmeid andmebaasi Pro2 replikatsiooni järjekorda cdc (repl).

Seega on meil replikatsiooniks kaks järjekorda. Esimene etapp on CDCBatch: lähteandmebaasist lähevad andmed esmalt CDC vahepealsesse andmebaasi. Teine etapp on andmete edastamine CDC andmebaasist Oracle'i. See on praeguse arhitektuuri ja toote enda tunnusjoon – seni pole arendajad suutnud otsest replikatsiooni luua.

Esmane sünkroonimine

Pärast CDC mehhanismi lubamist ja Pro2 replikatsiooniserveri seadistamist peame alustama esialgset sünkroonimist. Esialgne sünkroonimiskäsk:

/pro2/bprepl/Script/replLoad.sh bisquit tabelinimi

Pärast esialgse sünkroonimise lõpetamist saab alustada replikatsiooniprotsesse.

Replikatsiooniprotsesside algus

Replikatsiooniprotsesside käivitamiseks peate käivitama skripti replbatch.sh. Enne alustamist veenduge, et kõigi lõimede jaoks on olemas replbatch-skriptid - replbatch1, replbatch2 jne. Kui kõik on paigas, avage käsurida (näiteks proenv), minge kataloogi /bprepl/scripts ja käivitage skript. Halduspaneelis kontrollime, et vastav protsess on saanud oleku TÖÖTAB.

Kuidas leida sõpru Progress OpenEdge pangasüsteemi ja Oracle DBMSi vahel

Järeldused

Kuidas leida sõpru Progress OpenEdge pangasüsteemi ja Oracle DBMSi vahel
Pärast juurutamist kiirendasime oluliselt teabe üleslaadimist ettevõtte andmelattu. Andmed jõuavad automaatselt Oracle'i veebi. Erinevatest süsteemidest andmete kogumiseks pole vaja aega raisata mõne kauakestva päringu käivitamisele. Lisaks saab selles lahenduses replikatsiooniprotsess andmeid tihendada, millel on ka positiivne mõju kiirusele. Nüüd hakkas BISKVIT süsteemi igapäevane vastavusse viimine teiste süsteemidega võtma aega 15-20 tunni asemel 2-2,5 minutit ja täielik ühildamine võttis kahe päeva asemel mitu tundi.

Allikas: www.habr.com

Lisa kommentaar