Kako se spoprijateljiti med bančnim sistemom Progress OpenEdge in Oracle DBMS

Naša banka od leta 1999 za servisiranje zaledne pisarne uporablja integrirani bančni sistem BISKVIT na platformi Progress OpenEdge, ki je razširjena po vsem svetu, tudi v finančnem sektorju. Zmogljivost tega DBMS vam omogoča branje do milijon ali več zapisov na sekundo v eni bazi podatkov (DB). Naš Progress OpenEdge servisira približno 1,5 milijona posameznih depozitov in približno 22,2 milijona pogodb za aktivne produkte (posojila za avtomobile in hipoteke), odgovoren pa je tudi za vse poravnave z regulatorjem (centralno banko) in SWIFT.

Kako se spoprijateljiti med bančnim sistemom Progress OpenEdge in Oracle DBMS

Pri uporabi Progress OpenEdge smo se soočili s potrebo, da bi deloval z Oracle DBMS. Sprva je bil ta sveženj ozko grlo naše infrastrukture – dokler nismo namestili in konfigurirali Pro2 CDC – produkta Progress, ki vam omogoča pošiljanje podatkov iz DBMS Progress v Oracle DBMS neposredno prek spleta. V tej objavi vam bomo podrobno povedali, z vsemi pastmi, kako učinkovito sklepati prijateljstva med OpenEdge in Oracle.

Kako se je zgodilo: nalaganje podatkov v QCD prek skupne rabe datotek

Najprej nekaj dejstev o naši infrastrukturi. Število aktivnih uporabnikov baze je približno 15 tisoč. Obseg vseh produktivnih baz podatkov, vključno z repliko in pripravljenostjo, je 600 TB, največja baza podatkov je 16,5 TB. Hkrati se baze podatkov nenehno dopolnjujejo: samo v zadnjem letu je bilo dodanih približno 120 TB produktivnih podatkov. Sistem poganja 150 sprednjih strežnikov na platformi x86. Baze podatkov gostujejo na 21 strežnikih platforme IBM.

Kako se spoprijateljiti med bančnim sistemom Progress OpenEdge in Oracle DBMS
Front-end sistemi, različni osrednji bančni sistemi in bančne storitve so integrirani z OpenEdge Progress (BISCUIT IBS) prek vodila Sonic ESB. Nalaganje podatkov v QCD poteka prek izmenjave datotek. Do določenega trenutka je imela ta rešitev dve veliki težavi hkrati - nizko zmogljivost nalaganja informacij v korporativno podatkovno skladišče (CDW) in dolgotrajno izvajanje usklajevanja podatkov (usklajevanja) z drugimi sistemi.
Kako se spoprijateljiti med bančnim sistemom Progress OpenEdge in Oracle DBMS
Zato smo začeli iskati orodje, ki bi te procese pospešilo. Rešitev obeh težav je bil nov izdelek Progress OpenEdge – Pro2 CDC (Change Data Capture). Torej, začnimo.

Namestite Progress OpenEdge in Pro2Oracle

Za zagon Pro2 Oracle na skrbniškem računalniku Windows je dovolj, da namestite Progress OpenEdge Developer Kit Classroom Edition, ki ga lahko prenos zastonj. Privzeti namestitveni imeniki OpenEdge:

DLC: C:ProgressOpenEdge
WRK: C:OpenEdgeWRK

Procesi ETL zahtevajo licence Progress OpenEdge različice 11.7+ – in sicer OE DataServer za Oracle in 4GL Development System. Te licence so vključene v Pro2. Za polno delovanje DataServer for Oracle z oddaljeno bazo podatkov Oracle je nameščen Full Oracle Client.

Na strežnik Oracle morate namestiti Oracle Database 12+, ustvariti prazno bazo podatkov in dodati uporabnika (pokličimo ga cdc).

Če želite namestiti Pro2Oracle, prenesite najnovejšo distribucijo iz centra za prenose Programska oprema za napredek. Razpakirajte arhiv v imenik C:Pro2 (Za konfiguracijo Pro2 v sistemu Unix se uporablja ista distribucija in enaka načela konfiguracije).

Ustvarjanje baze podatkov replikacije cdc

Replikacijska baza podatkov cdc (repl) Pro2 se uporablja za shranjevanje informacij o konfiguraciji, vključno z zemljevidom replikacije, imeni podvojenih baz podatkov in njihovih tabel. Vsebuje tudi čakalno vrsto replikacije, sestavljeno iz opomb o tem, da se je vrstica tabele v izvorni bazi podatkov spremenila. Podatke iz čakalne vrste podvajanja uporabljajo procesi ETL za identifikacijo vrstic, ki jih je treba kopirati v Oracle iz izvorne baze podatkov.

Ustvarjamo ločeno bazo cdc.

Postopek za ustvarjanje baze podatkov

  1. Na strežniku baze podatkov ustvarimo imenik za bazo cdc - na primer na strežniku /baza podatkov/cdc/.
  2. Ustvarite lutko za bazo podatkov cdc: procopy $DLC/prazen cdc
  3. Omogoči podporo za velike datoteke: proutil cdc -C Omogoči velike datoteke
  4. Pripravimo skripto za zagon baze cdc. Začetni parametri morajo biti podobni začetnim parametrom podvojene baze podatkov.
  5. Zaženemo bazo podatkov cdc.
  6. Povežite se z bazo podatkov cdc in naložite shemo Pro2 iz datoteke cdc.df, ki je vključen v Pro2.
  7. V bazi cdc ustvarimo naslednje uporabnike:

pro2adm – za povezavo iz skrbniške plošče Pro2;
pro2etl – za povezovanje ETL procesov (ReplBatch);
pro2cdc – za povezovanje procesov CDC (CDCBatch);

Aktiviranje zajemanja podatkov spremembe OpenEdge

Zdaj pa vklopimo sam mehanizem CDC, s pomočjo katerega se bodo podatki replicirali v dodatno tehnološko področje. Vsaki izvorni bazi podatkov Progress OpenEdge morate dodati ločena področja shranjevanja, v katera bodo podvojeni izvorni podatki, in aktivirati sam mehanizem z ukazom proutil.

Primer postopka za bazo podatkov bisquit

  1. Kopiranje iz kataloga C:Pro2db datoteko cdcadd.st v imenik izvorne baze podatkov bisquit.
  2. Opisujemo v cdcadd.st ekstenti fiksne velikosti za regije "ReplCDCArea" и "ReplCDCArea_IDX". Nova področja shranjevanja lahko dodate na spletu: prostrct addonline bisquit cdcadd.st
  3. Aktivirajte OpenEdge CDC:
    proutil bisquit -C enablecdc območje "ReplCDCArea" indeksno območje "ReplCDCArea_IDX"
  4. Naslednji uporabniki morajo biti ustvarjeni v izvorni bazi podatkov za identifikacijo tekočih procesov:
    a. pro2adm – za povezavo iz skrbniške plošče Pro2.
    b. pro2etl – za povezovanje ETL procesov (ReplBatch).
    c. pro2cdc – za povezovanje CDC procesov (CDCBatch).

Ustvarjanje nosilca sheme za DataServer za Oracle

Nato moramo na strežniku ustvariti bazo podatkov Schema Holder, kjer bodo podatki iz DBMS Progress podvojeni v Oracle DBMS. DataServer Schema Holder je prazna zbirka podatkov Progress OpenEdge brez podatkov o uporabnikih ali aplikacijah, ki vsebuje zemljevid korespondence med izvornimi tabelami in zunanjimi tabelami Oracle.

Podatkovna baza Schema Holder za Progress OpenEdge DataServer za Oracle za Pro2 se mora nahajati na procesnem strežniku ETL; ustvari se ločeno za vsako vejo.

Kako ustvariti imetnika sheme

  1. Razpakirajte distribucijo Pro2 v imenik /pro2
  2. Ustvarite in pojdite v imenik /pro2/dbsh
  3. Z ukazom ustvarite bazo podatkov Schema Holder kopirajte $DLC/prazni bisquitsh
  4. Izvajanje pretvorbe biskvit v zahtevano kodiranje - na primer v UTF-8, če imajo baze podatkov Oracle kodiranje UTF-8: proutil bisquitsh -C convchar pretvori UTF-8
  5. Po ustvarjanju prazne baze podatkov biskvit povežite se z njim v enouporabniškem načinu: pro bisquitsh
  6. Pojdimo na podatkovni slovar: Orodja -> Data Dictionary -> DataServer -> ORACLE Utilities -> Create DataServer Schema
  7. Zagon nosilca sheme
  8. Nastavitev posrednika Oracle DataServer:
    a. Zaženite AdminServer.
    proadsv -začetek
    b. Zagon posrednika Oracle DataServer
    oraman -ime orabroker1 -zač

Nastavitev upravne plošče in replikacijske sheme

Z uporabo skrbniške plošče Pro2 se konfigurirajo parametri Pro2, vključno z nastavitvijo sheme podvajanja in generiranjem procesov ETL (procesorska knjižnica), primarnih programov za sinhronizacijo (procesor množičnega kopiranja), sprožilcev podvajanja in pravilnikov OpenEdge CDC. Obstajajo tudi osnovna orodja za spremljanje in upravljanje procesov ETL in CDC. Najprej nastavimo datoteke parametrov.

Kako konfigurirati datoteke parametrov

  1. Pojdite v katalog C:Pro2bpreplScripts
  2. Odprite datoteko za urejanje replProc.pf
  3. Dodajte parametre povezave v bazo podatkov replikacije cdc:
    # Replikacijska baza podatkov
    -db cdc -ld repl -H <ime gostitelja glavne baze podatkov> -S <vrata posrednika baze podatkov cdc>
    -U pro2admin -P <geslo>
  4. Dodati k replProc.pf povezovalne parametre z izvornimi bazami podatkov in Schema Holder v obliki datotek parametrov. Ime datoteke parametrov se mora ujemati z imenom izvorne baze podatkov, ki je povezana.
    # Povežite se z vsemi podvojenimi viri BISQUIT
    -pf bpreplscriptsbisquit.pf
  5. Dodati k replProc.pf parametrov za povezavo z nosilcem sheme.
    Nosilec sheme #Target Pro DB
    -db bisquitsh -ld bisquitsh
    -H <ime gostitelja procesa ETL>
    -S <biskuitsh broker port>
    -db bisquitsql
    -ld bisquitsql
    -dt ORAKL
    -S 5162 -H <ime gostitelja posrednika Oracle>
    -DataService ali posrednik1
  6. Shranite datoteko s parametri replProc.pf
  7. Nato morate ustvariti in odpreti datoteke parametrov za urejanje za vsako povezano izvorno bazo podatkov v imeniku C:Pro2bpreplScripts: bisquit.pf. Vsaka datoteka pf vsebuje parametre za povezavo z ustrezno zbirko podatkov, na primer:
    -db bisquit -ld bisquit -H <ime gostitelja> -S <vrata posrednika>
    -U pro2admin -P <geslo>

Če želite konfigurirati bližnjice Windows, morate iti v imenik C:Pro2bpreplScripts in uredite bližnjico »Pro2 – Administracija«. Če želite to narediti, odprite lastnosti bližnjice in v vrstici Začni v navedite namestitveni imenik Pro2. Podobno operacijo je treba izvesti za bližnjici »Pro2 – Editor« in »RunBulkLoader«.

Nastavitev administracije Pro2: nalaganje začetne konfiguracije

Zaženimo konzolo.

Kako se spoprijateljiti med bančnim sistemom Progress OpenEdge in Oracle DBMS

Pojdite na »Zemljevid DB«.

Kako se spoprijateljiti med bančnim sistemom Progress OpenEdge in Oracle DBMS

Za povezavo baz podatkov v Pro2 – Administracija pojdite na zavihek Zemljevid DB. Dodaj preslikavo izvornih baz podatkov - Nosilec sheme - Oracle.

Kako se spoprijateljiti med bančnim sistemom Progress OpenEdge in Oracle DBMS

Pojdite na zavihek Preslikava. Na seznamu Izvorna baza podatkov Privzeto je izbrana prva povezana izvorna zbirka podatkov. Desno od seznama naj bo napis Vse zbirke podatkov povezane — izbrane zbirke podatkov so povezane. Spodaj na levi bi morali videti seznam tabel napredka iz bisquita. Na desni je seznam tabel iz baze podatkov Oracle.

Ustvarjanje SQL shem in baz podatkov v Oracle

Če želite ustvariti zemljevid podvajanja, morate najprej ustvariti SQL shema v Oraclu. V Pro2 Administration izvedemo točko menija Orodja -> Ustvari kodo -> Ciljna shema, nato v pogovornem oknu Izberite Database izberite eno ali več izvornih baz podatkov in jih premaknite v desno.

Kako se spoprijateljiti med bančnim sistemom Progress OpenEdge in Oracle DBMS

Kliknite V redu in izberite imenik za shranjevanje shem SQL.

Nato ustvarimo osnovo. To lahko storite na primer prek Oracle SQL razvijalec. Za to se povežemo z bazo Oracle in naložimo shemo za dodajanje tabel. Ko spremenite sestavo tabel Oracle, morate posodobiti sheme SQL v nosilcu sheme.

Kako se spoprijateljiti med bančnim sistemom Progress OpenEdge in Oracle DBMS

Ko je prenos uspešno zaključen, zapustite bazo podatkov bisquitsh in odprite skrbniško ploščo Pro2. Tabele iz baze podatkov Oracle bi se morale prikazati na zavihku Preslikava na desni.

Preslikava tabele

Če želite ustvariti preslikavo podvajanja, v upravni plošči Pro2 pojdite na zavihek Preslikava in izberite izvorno bazo podatkov. Kliknite Map Tables, izberite Select Changes na levi strani tabel, ki naj bodo podvojene v Oracle, jih premaknite na desno in potrdite izbiro. Za izbrane tabele bo samodejno ustvarjen zemljevid. Ponovimo operacijo za ustvarjanje preslikave podvajanja za druge izvorne baze podatkov.

Kako se spoprijateljiti med bančnim sistemom Progress OpenEdge in Oracle DBMS

Ustvarjanje knjižnice procesorja replikacije Pro2 in programov procesorja množičnega kopiranja

Knjižnica procesorja replikacije je zasnovana za procese replikacije po meri (ETL), ki obdelujejo čakalno vrsto replikacije Pro2 in potiskajo spremembe v bazo podatkov Oracle. Programi knjižnice procesorja podvajanja se po generiranju samodejno shranijo v imenik bprepl/repl_proc (parameter PROC_DIRECTORY). Če želite ustvariti knjižnico procesorja podvajanja, pojdite na Orodja -> Ustvari kodo -> Knjižnica procesorja. Ko je generiranje končano, se bodo programi pojavili v imeniku bprepl/repl_proc.

Programi Bulk Load Processor se uporabljajo za sinhronizacijo izvornih baz podatkov Progress s ciljno bazo podatkov Oracle, ki temelji na programskem jeziku Progress ABL (4GL). Če jih želite ustvariti, pojdite na točko menija Orodja -> Ustvari kodo -> Procesor množičnega kopiranja. V pogovornem oknu Select Database izberite izvorne zbirke podatkov, jih premaknite na desno stran okna in kliknite OK. Ko je generiranje končano, se bodo programi pojavili v imeniku bpreplrepl_mproc.

Nastavitev procesov podvajanja v Pro2

Razdelitev tabel v nize, ki jih streže ločena replikacijska nit, izboljša zmogljivost in učinkovitost Pro2 Oracle. Privzeto so vse povezave, ustvarjene v preslikavi replikacije za nove tabele replikacije, povezane z nitjo številka 1. Priporočljivo je, da tabele ločite v različne niti.

Informacije o statusu niti podvajanja so prikazane na zaslonu Pro2 Administration na zavihku Monitor v razdelku Status podvajanja. Podroben opis vrednosti parametrov najdete v dokumentaciji Pro2 (imenik C:Pro2Docs).

Ustvarite in aktivirajte politike CDC

Politike so niz pravil za motor OpenEdge CDC za spremljanje sprememb tabel. V času pisanja Pro2 podpira samo politike CDC z nivojem 0, kar pomeni, da se spremljajo samo dejstva zapis sprememb.

Če želite ustvariti pravilnik CDC, na upravni plošči pojdite na zavihek Preslikava, izberite izvorno bazo podatkov in kliknite gumb Dodaj/odstrani pravilnike. V oknu Select Changes, ki se odpre, izberite na levi strani in premaknite v desno tabele, za katere morate ustvariti ali izbrisati pravilnik CDC.

Za aktiviranje znova odprite zavihek Preslikava, izberite izvorno bazo podatkov in kliknite gumb (Ne)Aktiviraj pravilnike. Izberite in premaknite na desno stran tabele pravilnike, ki jih je treba aktivirati, kliknite V redu. Po tem so označeni z zeleno. Z uporabo (Ne)Aktiviraj pravilnike Politike CDC lahko tudi deaktivirate. Vse transakcije se izvajajo na spletu.

Kako se spoprijateljiti med bančnim sistemom Progress OpenEdge in Oracle DBMS

Ko je politika CDC aktivirana, se opombe o spremenjenih zapisih shranijo v prostor za shranjevanje "ReplCDCArea" glede na izvorno bazo podatkov. Ti zapiski bodo obdelani po posebnem postopku CDCBatch, ki bo na njihovi podlagi ustvaril opombe v čakalni vrsti replikacije Pro2 v bazi podatkov cdc (repl).

Tako imamo dve čakalni vrsti za replikacijo. Prva stopnja je CDCBatch: iz izvorne baze podatkov gredo podatki najprej v vmesno bazo CDC. Druga stopnja je prenos podatkov iz baze CDC v Oracle. To je značilnost trenutne arhitekture in samega izdelka – razvijalcem doslej ni uspelo vzpostaviti neposredne replikacije.

Primarna sinhronizacija

Ko omogočimo mehanizem CDC in nastavimo podvojitveni strežnik Pro2, moramo začeti začetno sinhronizacijo. Začetni ukaz za sinhronizacijo:

/pro2/bprepl/Script/replLoad.sh bisquit ime-tabele

Ko je začetna sinhronizacija končana, se lahko začnejo procesi replikacije.

Začetek replikacijskih procesov

Za zagon procesov podvajanja morate zagnati skript replbatch.sh. Pred začetkom se prepričajte, da obstajajo skripti replbatch za vse niti - replbatch1, replbatch2 itd. Če je vse na mestu, odprite ukazno vrstico (npr. proenv), pojdite v imenik /bprepl/skripte in zaženite skript. V upravni plošči preverimo, ali je ustrezni proces prejel status TEKA.

Kako se spoprijateljiti med bančnim sistemom Progress OpenEdge in Oracle DBMS

Ugotovitve

Kako se spoprijateljiti med bančnim sistemom Progress OpenEdge in Oracle DBMS
Po implementaciji smo močno pospešili nalaganje informacij v podatkovno skladišče podjetja. Podatki samodejno pridejo v Oracle na spletu. Ni vam treba izgubljati časa z izvajanjem dolgotrajnih poizvedb za zbiranje podatkov iz različnih sistemov. Poleg tega lahko v tej rešitvi postopek replikacije stisne podatke, kar prav tako pozitivno vpliva na hitrost. Zdaj je dnevno usklajevanje sistema BISKVIT z drugimi sistemi začelo trajati 15-20 minut namesto 2-2,5 ure, popolno usklajevanje pa več ur namesto dveh dni.

Vir: www.habr.com

Dodaj komentar