Kaip susidraugauti tarp „Progress OpenEdge“ bankininkystės sistemos ir „Oracle“ DBVS

Nuo 1999 m. mūsų bankas back office aptarnavimui naudojo integruotą bankinę sistemą BISKVIT platformoje Progress OpenEdge, kuri plačiai naudojama visame pasaulyje, taip pat ir finansų sektoriuje. Šios DBVS našumas leidžia nuskaityti iki milijono ar daugiau įrašų per sekundę vienoje duomenų bazėje (DB). Mūsų „Progress OpenEdge“ aptarnauja apie 1,5 milijono individualių indėlių ir apie 22,2 milijono sutarčių dėl aktyvių produktų (automobilių paskolos ir hipotekos), taip pat yra atsakinga už visus atsiskaitymus su reguliavimo institucija (Centriniu banku) ir SWIFT.

Kaip susidraugauti tarp „Progress OpenEdge“ bankininkystės sistemos ir „Oracle“ DBVS

Naudodami „Progress OpenEdge“ susidūrėme su būtinybe, kad ji veiktų su „Oracle“ DBVS. Iš pradžių šis paketas buvo mūsų infrastruktūros kliūtis – kol neįdiegėme ir sukonfigūravome Pro2 CDC – Progress produktą, leidžiantį siųsti duomenis iš Progress DBVS į Oracle DBVS tiesiogiai internetu. Šiame įraše mes jums išsamiai papasakosime su visomis spąstais, kaip efektyviai susidraugauti tarp „OpenEdge“ ir „Oracle“.

Kaip tai atsitiko: duomenų įkėlimas į QCD naudojant failų bendrinimą

Pirma, keletas faktų apie mūsų infrastruktūrą. Aktyvių duomenų bazės vartotojų skaičius siekia maždaug 15 tūkst. Visų produktyvių duomenų bazių apimtis, įskaitant repliką ir budėjimo režimą, yra 600 TB, didžiausia duomenų bazė yra 16,5 TB. Tuo pačiu metu duomenų bazės nuolat pildomos: vien per pastaruosius metus buvo papildyta apie 120 TB produktyvių duomenų. Sistemą maitina 150 priekinių serverių x86 platformoje. Duomenų bazės talpinamos 21 IBM platformos serveryje.

Kaip susidraugauti tarp „Progress OpenEdge“ bankininkystės sistemos ir „Oracle“ DBVS
Front-end sistemos, įvairios pagrindinės bankininkystės sistemos ir bankinės paslaugos yra integruotos su OpenEdge Progress (BISCUIT IBS) per Sonic ESB magistralę. Duomenų įkėlimas į QCD vyksta keičiantis failais. Iki tam tikro momento šis sprendimas turėjo dvi dideles problemas iš karto – žemą informacijos įkėlimo į įmonės duomenų saugyklą (CDW) našumą ir ilgą duomenų derinimo (suderinimo) su kitomis sistemomis laiką.
Kaip susidraugauti tarp „Progress OpenEdge“ bankininkystės sistemos ir „Oracle“ DBVS
Todėl pradėjome ieškoti įrankio, kuris galėtų paspartinti šiuos procesus. Abiejų problemų sprendimas buvo naujas Progress OpenEdge produktas – Pro2 CDC (Change Data Capture). Taigi, pradėkime.

Įdiekite „Progress OpenEdge“ ir „Pro2Oracle“.

Norint paleisti Pro2 Oracle administratoriaus Windows kompiuteryje, pakanka įdiegti Progress OpenEdge Developer Kit Classroom Edition, kurį galima atsisiųsti nemokamai. Numatytieji OpenEdge diegimo katalogai:

DLC: C: ProgressOpenEdge
WRK: C: OpenEdgeWRK

ETL procesams reikia „Progress OpenEdge“ licencijų 11.7 ir naujesnės versijos – būtent OE DataServer for Oracle ir 4GL Development System. Šios licencijos yra įtrauktos į Pro2. Norint visapusiškai veikti „DataServer for Oracle“ su nuotoline „Oracle“ duomenų baze, įdiegtas „Full Oracle Client“.

Oracle serveryje reikia įdiegti Oracle Database 12+, sukurti tuščią duomenų bazę ir pridėti vartotoją (pavadinkime jį CDC).

Norėdami įdiegti Pro2Oracle, atsisiųskite naujausią platinimą iš atsisiuntimo centro „Progress“ programinė įranga. Išpakuokite archyvą į katalogą C: Pro2 (Norint sukonfigūruoti Pro2 Unix sistemoje, naudojamas tas pats platinimas ir taikomi tie patys konfigūravimo principai).

CDc replikacijos duomenų bazės kūrimas

Replikacijos duomenų bazė cdc (atkartoti) Pro2 naudojamas konfigūracijos informacijai saugoti, įskaitant replikacijos žemėlapį, replikuotų duomenų bazių pavadinimus ir jų lenteles. Jame taip pat yra replikacijos eilė, kurią sudaro pastabos apie tai, kad pasikeitė lentelės eilutė šaltinio duomenų bazėje. Duomenys iš replikacijos eilės naudojami ETL procesams, kad nustatytų eilutes, kurias reikia nukopijuoti į „Oracle“ iš šaltinio duomenų bazės.

Kuriame atskirą cdc duomenų bazę.

Duomenų bazės kūrimo procedūra

  1. Duomenų bazės serveryje sukuriame cdc duomenų bazės katalogą – pavyzdžiui, serveryje /duomenų bazė/cdc/.
  2. Sukurkite cdc duomenų bazės manekeną: kopijuoti $DLC/tuščią kompaktinį diską
  3. Įgalinti didelių failų palaikymą: proutil cdc -C EnableLargeFiles
  4. Paruošiame scenarijų cdc duomenų bazės paleidimui. Pradiniai parametrai turi būti panašūs į pakartojamos duomenų bazės pradžios parametrus.
  5. Paleidžiame cdc duomenų bazę.
  6. Prisijunkite prie cdc duomenų bazės ir įkelkite Pro2 diagramą iš failo cdc.df, kuris yra įtrauktas į Pro2.
  7. Cdc duomenų bazėje sukuriame šiuos vartotojus:

pro2adm – prisijungimui iš Pro2 administracinio skydelio;
pro2etl – ETL procesams sujungti (ReplBatch);
pro2cdc – CDC procesams sujungti (CDCBatch);

„OpenEdge Change Data Capture“ aktyvinimas

Dabar įjunkime patį CDC mechanizmą, kurio pagalba duomenys bus replikuojami į papildomą technologijų sritį. Prie kiekvienos „Progress OpenEdge“ šaltinio duomenų bazės turite pridėti atskiras saugojimo sritis, į kurias bus dubliuojami šaltinio duomenys, ir suaktyvinti patį mechanizmą naudodami komandą proutil.

Bisquit duomenų bazės procedūros pavyzdys

  1. Kopijavimas iš katalogo C: Pro2db failą cdcadd.st į bisquit šaltinio duomenų bazės katalogą.
  2. Mes aprašome cdcadd.st fiksuoto dydžio apimtys regionams „ReplCDCArea“ и „ReplCDCArea_IDX“. Galite pridėti naujų saugyklų internete: prostrct addonline bisquit cdcadd.st
  3. Suaktyvinkite OpenEdge CDC:
    proutil bisquit -C enablecdc sritis "ReplCDCArea" indekso sritis "ReplCDCArea_IDX"
  4. Norint nustatyti vykdomus procesus, šaltinio duomenų bazėje turi būti sukurti šie vartotojai:
    a. pro2adm – prisijungimui iš Pro2 administracinio skydelio.
    b. pro2etl – ETL procesams sujungti (ReplBatch).
    c. pro2cdc – CDC procesams sujungti (CDCBatch).

„DataServer“, skirto „Oracle“, schemos laikiklio sukūrimas

Tada serveryje turime sukurti Schema Holder duomenų bazę, kurioje duomenys iš Progress DBVS bus kopijuojami į Oracle DBVS. „DataServer Schema Holder“ yra tuščia „Progress OpenEdge“ duomenų bazė be vartotojų ar programos duomenų, kurioje yra šaltinio lentelių ir išorinių „Oracle“ lentelių atitikimo žemėlapis.

Schema Holder duomenų bazė, skirta Progress OpenEdge DataServer for Oracle for Pro2, turi būti ETL proceso serveryje; ji sukuriama atskirai kiekvienai šakai.

Kaip sukurti schemos laikiklį

  1. Išpakuokite Pro2 platinimą į katalogą /pro2
  2. Sukurkite ir eikite į katalogą /pro2/dbsh
  3. Sukurkite Schema Holder duomenų bazę naudodami komandą kopijuoti $DLC/tuščią biskvitą
  4. Konversijos vykdymas biskvitas į reikiamą kodavimą – pavyzdžiui, UTF-8, jei „Oracle“ duomenų bazėse yra UTF-8 kodavimas: proutil bisquitsh -C convchar konvertuoti UTF-8
  5. Sukūrę tuščią duomenų bazę biskvitas prisijungti prie jo vieno vartotojo režimu: už biskvitą
  6. Eikime į duomenų žodyną: Įrankiai -> Duomenų žodynas -> DataServer -> ORACLE Utilities -> Sukurti duomenų serverio schemą
  7. Paleiskite schemos laikiklį
  8. „Oracle DataServer“ brokerio nustatymas:
    a. Paleiskite AdminServer.
    proadsv -start
    b. „Oracle DataServer“ brokerio pradžia
    oraman -vardas orabroker1 -pradžia

Administracinio skydelio ir replikacijos schemos nustatymas

Naudojant Pro2 administracinį skydelį, sukonfigūruojami Pro2 parametrai, įskaitant replikacijos schemos nustatymą ir ETL procesų generavimą (procesoriaus biblioteką), pirmines sinchronizavimo programas (masinio kopijavimo procesorius), replikacijos paleidiklius ir OpenEdge CDC strategijas. Taip pat yra pagrindiniai įrankiai, skirti stebėti ir valdyti ETL ir CDC procesus. Pirmiausia nustatome parametrų failus.

Kaip sukonfigūruoti parametrų failus

  1. Eikite į katalogą C:Pro2bpreplScripts
  2. Atidarykite failą redaguoti replProc.pf
  3. Pridėkite ryšio parametrus į cdc replikacijos duomenų bazę:
    # Replikacijos duomenų bazė
    -db cdc -ld repl -H <pagrindinės duomenų bazės prieglobos pavadinimas> -S <duomenų bazės tarpininko prievadas cdc>
    -U pro2admin -P <slaptažodis>
  4. Pridėti prie replProc.pf ryšio parametrus su šaltinio duomenų bazėmis ir schemos laikikliu parametrų failų pavidalu. Parametrų failo pavadinimas turi atitikti jungiamos šaltinio duomenų bazės pavadinimą.
    # Prisijunkite prie visų atkartotų šaltinių BISQUIT
    -pf bpreplscriptsbisquit.pf
  5. Pridėti prie replProc.pf prisijungimo prie Schema Holder parametrai.
    #Target Pro DB schemos laikiklis
    -db bisquitsh -ld bisquitsh
    -H <ETL proceso prieglobos pavadinimas>
    -S <biskuitsh broker port>
    -db bisquitsql
    -ld bisquitsql
    -dt ORACLE
    -S 5162 -H <Oracle brokerio prieglobos pavadinimas>
    -DataService orabroker1
  6. Išsaugokite parametrų failą replProc.pf
  7. Tada turite sukurti ir atidaryti redaguoti kiekvienos prijungtos šaltinio duomenų bazės parametrų failus kataloge C:Pro2bpreplScripts: bisquit.pf. Kiekviename pf faile yra prisijungimo prie atitinkamos duomenų bazės parametrai, pavyzdžiui:
    -db bisquit -ld bisquit -H <hostname> -S <brokerio prievadas>
    -U pro2admin -P <slaptažodis>

Norėdami sukonfigūruoti „Windows“ sparčiuosius klavišus, turite eiti į katalogą C:Pro2bpreplScripts ir redaguokite nuorodą „Pro2 – Administravimas“. Norėdami tai padaryti, atidarykite nuorodos ypatybes ir eilutėje Pradėti nurodykite Pro2 diegimo katalogą. Panaši operacija turi būti atlikta su „Pro2 – Editor“ ir „RunBulkLoader“ nuorodomis.

„Pro2“ administravimo sąranka: įkeliama pradinė konfigūracija

Paleiskime konsolę.

Kaip susidraugauti tarp „Progress OpenEdge“ bankininkystės sistemos ir „Oracle“ DBVS

Eikite į „DB žemėlapį“.

Kaip susidraugauti tarp „Progress OpenEdge“ bankininkystės sistemos ir „Oracle“ DBVS

Norėdami susieti duomenų bazes programoje Pro2 – Administravimas, eikite į skirtuką DB žemėlapis. Pridėti šaltinio duomenų bazių atvaizdavimą - Schemos laikiklis – Oracle.

Kaip susidraugauti tarp „Progress OpenEdge“ bankininkystės sistemos ir „Oracle“ DBVS

Eikite į skirtuką Kartografavimas. Į sąrašą įtraukta Šaltinių duomenų bazė Pagal numatytuosius nustatymus pasirenkama pirmoji prijungta šaltinio duomenų bazė. Sąrašo dešinėje turi būti užrašas Visos duomenų bazės prijungtos — pasirinktos duomenų bazės yra sujungtos. Žemiau, kairėje, turėtumėte pamatyti pažangos lentelių sąrašą iš bisquit. Dešinėje yra lentelių iš Oracle duomenų bazės sąrašas.

SQL schemų ir duomenų bazių kūrimas „Oracle“.

Norėdami sukurti replikacijos žemėlapį, pirmiausia turite sugeneruoti SQL schema Oracle. Pro2 administracijoje vykdome meniu elementą Įrankiai -> Generuoti kodą -> Tikslinė schema, tada dialogo lange Pasirinkite Duomenų bazė pasirinkite vieną ar daugiau šaltinio duomenų bazių ir perkelkite jas į dešinę.

Kaip susidraugauti tarp „Progress OpenEdge“ bankininkystės sistemos ir „Oracle“ DBVS

Spustelėkite Gerai ir pasirinkite katalogą, kuriame norite išsaugoti SQL schemas.

Toliau mes sukuriame pagrindą. Tai galima padaryti, pavyzdžiui, per „Oracle SQL Developer“. Norėdami tai padaryti, prisijungiame prie Oracle duomenų bazės ir įkeliame lentelių pridėjimo schemą. Pakeitus Oracle lentelių sudėtį, reikia atnaujinti SQL schemas schemų laikiklyje.

Kaip susidraugauti tarp „Progress OpenEdge“ bankininkystės sistemos ir „Oracle“ DBVS

Sėkmingai atsisiuntimui išeikite iš bisquitsh duomenų bazės ir atidarykite Pro2 administracinį skydelį. Lentelės iš Oracle duomenų bazės turėtų būti rodomos dešinėje esančiame skirtuke Mapping.

Lentelės kartografavimas

Norėdami sukurti replikacijos žemėlapį, Pro2 administraciniame skydelyje eikite į skirtuką Mapping ir pasirinkite šaltinio duomenų bazę. Spustelėkite Map Tables, kairėje lentelių, kurios turėtų būti kopijuojamos Oracle, kairėje pasirinkite Select Changes, perkelkite jas į dešinę ir patvirtinkite pasirinkimą. Pasirinktų lentelių žemėlapis bus sukurtas automatiškai. Pakartojame operaciją, kad sukurtume kitų šaltinio duomenų bazių replikacijos žemėlapį.

Kaip susidraugauti tarp „Progress OpenEdge“ bankininkystės sistemos ir „Oracle“ DBVS

Pro2 replikacijos procesoriaus bibliotekos ir masinio kopijavimo procesoriaus programų generavimas

Replikacijos procesoriaus biblioteka skirta pasirinktiniams replikacijos procesams (ETL), kurie apdoroja Pro2 replikacijos eilę ir perkelia pakeitimus į Oracle duomenų bazę. Replikacijos procesoriaus bibliotekos programos automatiškai išsaugomos kataloge po generavimo bprepl/repl_proc (parametras PROC_DIRECTORY). Norėdami sugeneruoti replikacijos procesoriaus biblioteką, eikite į Įrankiai -> Generuoti kodą -> Procesoriaus biblioteka. Baigus generuoti, programos bus rodomos kataloge bprepl/repl_proc.

Masinės apkrovos procesoriaus programos naudojamos sinchronizuoti šaltinio Progress duomenų bazes su tiksline Oracle duomenų baze, pagrįsta Progress ABL (4GL) programavimo kalba. Norėdami juos sugeneruoti, eikite į meniu elementą Įrankiai -> Generuoti kodą -> Masinio kopijavimo procesorius. Dialogo lange Pasirinkti duomenų bazę pasirinkite šaltinio duomenų bazes, perkelkite jas į dešinę lango pusę ir spustelėkite OK. Baigus generuoti, programos bus rodomos kataloge bpreplrepl_mproc.

Replikacijos procesų nustatymas programoje Pro2

Lentelių padalijimas į rinkinius, aptarnaujamus naudojant atskirą replikacijos giją, pagerina Pro2 Oracle našumą ir efektyvumą. Pagal numatytuosius nustatymus visi ryšiai, sukurti replikacijos žemėlapyje naujoms replikacijos lentelėms, yra susieti su gijos numeriu 1. Rekomenduojama atskirti lenteles į skirtingas gijas.

Informacija apie replikacijos gijų būseną rodoma Pro2 administravimo ekrane, skirtuke Monitorius skiltyje Replikacijos būsena. Išsamų parametrų reikšmių aprašymą rasite Pro2 dokumentacijoje (katalogas C:Pro2Docs).

Sukurkite ir suaktyvinkite CDC politiką

Politika yra taisyklių rinkinys, skirtas OpenEdge CDC moduliui stebėti lentelių pakeitimus. Rašymo metu Pro2 palaiko tik 0 lygio CDC politiką, tai yra, stebimas tik faktas įrašyti pakeitimus.

Norėdami sukurti CDC strategiją, administraciniame skydelyje eikite į skirtuką Mapping, pasirinkite šaltinio duomenų bazę ir spustelėkite mygtuką Pridėti / pašalinti politiką. Atsidariusiame lange Pasirinkti pakeitimus kairėje pusėje pasirinkite lenteles, kurioms reikia sukurti arba ištrinti CDC politiką, ir perkelkite į dešinę.

Norėdami suaktyvinti, dar kartą atidarykite žemėlapių skirtuką, pasirinkite šaltinio duomenų bazę ir spustelėkite mygtuką (Į)aktyvinti politiką. Pasirinkite ir dešinėje lentelės pusėje perkelkite politiką, kurią reikia suaktyvinti, spustelėkite Gerai. Po to jie pažymėti žalia spalva. Naudojant (Į)aktyvinti politiką Taip pat galite išjungti CDC politiką. Visos operacijos atliekamos internetu.

Kaip susidraugauti tarp „Progress OpenEdge“ bankininkystės sistemos ir „Oracle“ DBVS

Suaktyvinus CDC politiką, pastabos apie pakeistus įrašus išsaugomos saugyklos srityje „ReplCDCArea“ pagal šaltinio duomenų bazę. Šios pastabos bus apdorojamos specialiu procesu CDCBatch, kuri jų pagrindu sukurs pastabas duomenų bazėje esančioje Pro2 replikacijos eilėje cdc (atkartoti).

Taigi, turime dvi replikacijos eiles. Pirmasis etapas yra CDCBatch: iš šaltinio duomenų bazės duomenys pirmiausia patenka į tarpinę CDC duomenų bazę. Antrasis etapas yra duomenų perkėlimas iš CDC duomenų bazės į Oracle. Tai yra dabartinės architektūros ir paties produkto savybė – kol kas kūrėjams nepavyko nustatyti tiesioginio replikacijos.

Pirminis sinchronizavimas

Įjungę CDC mechanizmą ir nustatę Pro2 replikacijos serverį, turime pradėti pirminį sinchronizavimą. Pradinė sinchronizavimo komanda:

/pro2/bprepl/Script/replLoad.sh bisquit lentelės pavadinimas

Baigus pradinį sinchronizavimą, galima pradėti replikacijos procesus.

Replikacijos procesų pradžia

Norėdami pradėti replikacijos procesus, turite paleisti scenarijų replbatch.sh. Prieš pradėdami įsitikinkite, kad visoms gijomis yra replbatch scenarijai - replbatch1, replbatch2 ir kt. Jei viskas yra vietoje, atidarykite komandų eilutę (pvz., proenv), eikite į katalogą /bprepl/scripts ir paleiskite scenarijų. Administravimo skydelyje patikriname, ar atitinkamas procesas gavo būseną VYKSTA.

Kaip susidraugauti tarp „Progress OpenEdge“ bankininkystės sistemos ir „Oracle“ DBVS

rezultatai

Kaip susidraugauti tarp „Progress OpenEdge“ bankininkystės sistemos ir „Oracle“ DBVS
Įdiegę labai paspartinome informacijos įkėlimą į įmonės duomenų saugyklą. Duomenys automatiškai patenka į „Oracle“ tinkle. Norint rinkti duomenis iš skirtingų sistemų, nereikia gaišti laiko vykdant kai kurias ilgai vykdomas užklausas. Be to, šiame sprendime replikacijos procesas gali suspausti duomenis, o tai taip pat teigiamai veikia greitį. Dabar kasdienis BISKVIT sistemos derinimas su kitomis sistemomis pradėjo užtrukti 15-20 minučių, o ne 2-2,5 valandos, o visiškas suderinimas užtruko kelias valandas, o ne dvi dienas.

Šaltinis: www.habr.com

Добавить комментарий