Kuinka saada ystäviä Progress OpenEdge -pankkijärjestelmän ja Oracle DBMS:n välillä

Vuodesta 1999 lähtien pankkimme on käyttänyt taustatoimiston palvelemiseen integroitua BISKVIT-pankkijärjestelmää Progress OpenEdge -alustalla, jota käytetään laajasti kaikkialla maailmassa, myös finanssisektorilla. Tämän DBMS:n suorituskyky mahdollistaa jopa miljoonan tai useamman tietueen lukemisen sekunnissa yhdessä tietokannassa (DB). Progress OpenEdgemme palvelee noin 1,5 miljoonaa yksittäistä talletusta ja noin 22,2 miljoonaa sopimusta aktiivisille tuotteille (autolainat ja asuntolainat) ja vastaa myös kaikista selvityksistä sääntelijän (keskuspankki) ja SWIFT:n kanssa.

Kuinka saada ystäviä Progress OpenEdge -pankkijärjestelmän ja Oracle DBMS:n välillä

Progress OpenEdgeä käytettäessä kohtasimme tarpeen saada se toimimaan Oracle DBMS:n kanssa. Aluksi tämä paketti oli infrastruktuurimme pullonkaula - kunnes asensimme ja määritimme Pro2 CDC:n - Progress-tuotteen, jonka avulla voit lähettää tietoja Progress DBMS:stä Oracle DBMS:ään suoraan verkossa. Tässä viestissä kerromme sinulle yksityiskohtaisesti, kaikkine sudenkuoppineen, kuinka ystävystyä OpenEdgen ja Oraclen välillä.

Kuinka se tapahtui: tietojen lataaminen QCD:hen tiedostonjaon kautta

Ensinnäkin muutamia faktoja infrastruktuuristamme. Tietokannan aktiivisten käyttäjien määrä on noin 15 tuhatta. Kaikkien tuottavien tietokantojen volyymi, mukaan lukien replika ja valmiustila, on 600 TB, suurin tietokanta on 16,5 TB. Samaan aikaan tietokantoja täydennetään jatkuvasti: pelkästään viimeisen vuoden aikana tuottavaa dataa on lisätty noin 120 TB. Järjestelmän virtalähteenä on 150 x86-alustalla olevaa etupalvelinta. Tietokantoja isännöi 21 IBM:n alustapalvelinta.

Kuinka saada ystäviä Progress OpenEdge -pankkijärjestelmän ja Oracle DBMS:n välillä
Frontend-järjestelmät, erilaiset pankkitoiminnan ydinjärjestelmät ja pankkipalvelut on integroitu OpenEdge Progressiin (BISCUIT IBS) Sonic ESB -väylän kautta. Tietojen lataaminen QCD:hen tapahtuu tiedostonvaihdon kautta. Tiettyyn hetkeen asti tällä ratkaisulla oli kaksi suurta ongelmaa kerralla - alhainen suorituskyky tietojen lataamisessa yrityksen tietovarastoon (CDW) ja pitkä aika tietojen täsmäyttämiseen (sovitukseen) muiden järjestelmien kanssa.
Kuinka saada ystäviä Progress OpenEdge -pankkijärjestelmän ja Oracle DBMS:n välillä
Siksi aloimme etsiä työkalua, joka voisi nopeuttaa näitä prosesseja. Ratkaisu molempiin ongelmiin oli uusi Progress OpenEdge -tuote – Pro2 CDC (Change Data Capture). Joten aloitetaan.

Asenna Progress OpenEdge ja Pro2Oracle

Pro2 Oraclen käyttämiseksi järjestelmänvalvojan Windows-tietokoneessa riittää Progress OpenEdge Developer Kit Classroom Editionin asentaminen, joka voidaan скачать ilmaiseksi. OpenEdgen oletusasennushakemistot:

DLC: C:ProgressOpenEdge
WRK: C:OpenEdgeWRK

ETL-prosessit vaativat Progress OpenEdge -lisenssit version 11.7+ - eli OE DataServer for Oracle ja 4GL Development System. Nämä lisenssit sisältyvät Pro2:een. Full Oracle Client on asennettu, jotta DataServer for Oracle toimii täysin Oracle-etätietokannan kanssa.

Oracle-palvelimelle sinun on asennettava Oracle Database 12+, luotava tyhjä tietokanta ja lisättävä käyttäjä (kutsutaanko hänelle cdc).

Asenna Pro2Oracle lataamalla uusin jakelu latauskeskuksesta Progress-ohjelmisto. Pura arkisto hakemistoon C: Pro2 (Pro2:n määrittämiseksi Unixissa käytetään samaa jakelua ja samat konfigurointiperiaatteet).

cdc-replikointitietokannan luominen

Replikointitietokanta cdc (vastaa) Pro2:ta käytetään kokoonpanotietojen tallentamiseen, mukaan lukien replikointikartta, replikoituneiden tietokantojen nimet ja niiden taulukot. Se sisältää myös replikointijonon, joka koostuu huomautuksista siitä, että lähdetietokannan taulukon rivi on muuttunut. ETL-prosessit käyttävät replikointijonon tietoja tunnistaakseen rivit, jotka on kopioitava Oracleen lähdetietokannasta.

Luomme erillisen cdc-tietokannan.

Menettely tietokannan luomiseksi

  1. Tietokantapalvelimelle luomme hakemiston cdc-tietokannalle - esimerkiksi palvelimelle /tietokanta/cdc/.
  2. Luo dummy cdc-tietokantaan: Procopy $DLC/tyhjä cdc
  3. Ota tuki käyttöön suurille tiedostoille: proutil cdc -C EnableLargeFiles
  4. Valmistelemme skriptin cdc-tietokannan käynnistämiseksi. Aloitusparametrien on oltava samanlaisia ​​kuin replikoidun tietokannan aloitusparametrit.
  5. Käynnistämme cdc-tietokannan.
  6. Muodosta yhteys cdc-tietokantaan ja lataa Pro2-skeema tiedostosta cdc.df, joka sisältyy Pro2:een.
  7. Luomme seuraavat käyttäjät cdc-tietokantaan:

pro2adm – yhteyden muodostamiseen Pro2-hallintapaneelista;
pro2etl – ETL-prosessien yhdistämiseen (ReplBatch);
pro2cdc – CDC-prosessien yhdistämiseen (CDCBatch);

Aktivoidaan OpenEdge Change Data Capture

Laitetaan nyt päälle itse CDC-mekanismi, jonka avulla tiedot replikoidaan lisäteknologia-alueelle. Jokaiseen Progress OpenEdge -lähdetietokantaan on lisättävä erilliset tallennusalueet, joihin lähdetiedot monistetaan, ja aktivoitava itse mekanismi komennolla proutil.

Esimerkkimenettely bisquit-tietokannasta

  1. Kopiointi luettelosta C: Pro2db файл cdcadd.st bisquit-lähdetietokantahakemistoon.
  2. Kuvaamme sisään cdcadd.st kiinteän kokoiset laajuudet alueille "ReplCDCArea" и "ReplCDCArea_IDX". Voit lisätä uusia tallennusalueita verkossa: prostrct addonline bisquit cdcadd.st
  3. Aktivoi OpenEdge CDC:
    proutil bisquit -C enablecdc-alue "ReplCDCArea" indeksialue "ReplCDCArea_IDX"
  4. Seuraavat käyttäjät on luotava lähdetietokantaan käynnissä olevien prosessien tunnistamiseksi:
    a. pro2adm – yhteyden muodostamiseen Pro2-hallintapaneelista.
    b. pro2etl – ETL-prosessien yhdistämiseen (ReplBatch).
    c. pro2cdc – CDC-prosessien yhdistämiseen (CDCBatch).

Schema Holderin luominen Oraclen DataServerille

Seuraavaksi meidän on luotava Schema Holder -tietokanta palvelimelle, jossa tiedot Progress DBMS:stä replikoidaan Oracle DBMS:ään. DataServer Schema Holder on tyhjä Progress OpenEdge -tietokanta, jossa ei ole käyttäjiä tai sovellustietoja ja joka sisältää lähdetaulukoiden ja ulkoisten Oracle-taulukoiden välisen vastaavuuskartan.

Progress OpenEdge DataServer for Oracle for Pro2 Schema Holder -tietokannan on sijaittava ETL-prosessipalvelimella; se luodaan erikseen kullekin haaralle.

Kuinka luoda Schema Holder

  1. Pura Pro2-jakelu hakemistoon /pro2
  2. Luo ja siirry hakemistoon /pro2/dbsh
  3. Luo Schema Holder -tietokanta komennolla kopioi $DLC/tyhjä bisquitsh
  4. Suoritetaan muunnos bisquitsh vaadittuun koodaukseen - esimerkiksi UTF-8:ssa, jos Oraclen tietokannassa on UTF-8-koodaus: proutil bisquitsh -C convchar muuntaa UTF-8
  5. Tyhjän tietokannan luomisen jälkeen bisquitsh muodosta yhteys siihen yhden käyttäjän tilassa: pro bisquitsh
  6. Siirrytään tietosanakirjaan: Työkalut -> Tietosanakirja -> DataServer -> ORACLE-apuohjelmat -> Luo DataServer Schema
  7. Käynnistä Schema Holder
  8. Oracle DataServer -välittäjän määrittäminen:
    a. Käynnistä AdminServer.
    proadsv -aloitus
    b. Oracle DataServer -välittäjän käynnistys
    oraman -nimi orabroker1 -aloitus

Hallintapaneelin ja replikointimallin määrittäminen

Pro2-hallintapaneelin avulla määritetään Pro2-parametrit, mukaan lukien toisinnusmallin määrittäminen ja ETL-prosessien luominen (Processor Library), ensisijaiset synkronointiohjelmat (Bulk-Copy Processor), replikointikäynnistimet ja OpenEdge CDC -käytännöt. ETL- ja CDC-prosessien valvontaan ja hallintaan on myös ensisijaiset työkalut. Ensinnäkin määritämme parametritiedostot.

Kuinka määrittää parametritiedostot

  1. Siirry luetteloon C:Pro2bpreplScripts
  2. Avaa tiedosto muokkausta varten replProc.pf
  3. Lisää yhteysparametrit cdc-replikointitietokantaan:
    # Replikointitietokanta
    -db cdc -ld repl -H <päätietokannan isäntänimi> -S <tietokannan välittäjäportti cdc>
    -U pro2admin -P <salasana>
  4. Lisätä replProc.pf yhteysparametrit lähdetietokantoihin ja Schema Holderiin parametritiedostojen muodossa. Parametritiedoston nimen on vastattava yhdistettävän lähdetietokannan nimeä.
    # Yhdistä kaikkiin replikoituihin lähteisiin BISQUIT
    -pf bpreplscriptsbisquit.pf
  5. Lisätä replProc.pf parametrit Schema Holderiin yhdistämistä varten.
    #Target Pro DB Schema Holder
    -db bisquitsh -ld bisquitsh
    -H <ETL-prosessin isäntänimi>
    -S <biskuitsh broker portti>
    -db bisquitsql
    -ld bisquitsql
    -dt ORACLE
    -S 5162 -H <Oraclen välittäjän isäntänimi>
    -DataService orabroker1
  6. Tallenna parametritiedosto replProc.pf
  7. Seuraavaksi sinun on luotava ja avattava parametritiedostot muokkausta varten jokaiselle yhdistetylle lähdetietokannalle hakemistossa C:Pro2bpreplScripts: bisquit.pf. Jokainen pf-tiedosto sisältää parametreja yhteyden muodostamiseksi vastaavaan tietokantaan, esimerkiksi:
    -db bisquit -ld bisquit -H <isäntänimi> -S <välittäjäportti>
    -U pro2admin -P <salasana>

Jos haluat määrittää Windowsin pikakuvakkeet, sinun on mentävä hakemistoon C:Pro2bpreplScripts ja muokkaa "Pro2 - Administration" -pikakuvaketta. Voit tehdä tämän avaamalla pikakuvakkeen ominaisuudet ja rivillä Aloita osoittaa Pro2-asennushakemiston. Samanlainen toimenpide on tehtävä “Pro2 – Editor”- ja “RunBulkLoader”-pikakuvakkeille.

Pro2-hallinta-asetukset: Ladataan alkuperäisiä asetuksia

Käynnistetään konsoli.

Kuinka saada ystäviä Progress OpenEdge -pankkijärjestelmän ja Oracle DBMS:n välillä

Siirry kohtaan "DB Map".

Kuinka saada ystäviä Progress OpenEdge -pankkijärjestelmän ja Oracle DBMS:n välillä

Jos haluat linkittää tietokannat Pro2:ssa – Hallinta, siirry välilehdelle DB kartta. Lisää lähdetietokantojen kartoitus - Schema Holder - Oracle.

Kuinka saada ystäviä Progress OpenEdge -pankkijärjestelmän ja Oracle DBMS:n välillä

Siirry välilehteen Kartoitus. Listattu Lähdetietokanta Oletusarvoisesti valitaan ensimmäinen yhdistetty lähdetietokanta. Luettelon oikealla puolella tulee olla merkintä Kaikki tietokannat yhdistetty — valitut tietokannat on yhdistetty. Alla vasemmalla sinun pitäisi nähdä luettelo bisquitin edistymistaulukoista. Oikealla on luettelo Oracle-tietokannan taulukoista.

SQL-skeemojen ja tietokantojen luominen Oraclessa

Jos haluat luoda replikointikartan, sinun on ensin luotava SQL-skeema Oraclessa. Pro2-hallinnassa suoritamme valikkokohdan Työkalut -> Luo koodi -> Kohdeskeema, sitten valintaikkunassa Valitse Tietokanta valitse yksi tai useampi lähdetietokanta ja siirrä ne oikealle.

Kuinka saada ystäviä Progress OpenEdge -pankkijärjestelmän ja Oracle DBMS:n välillä

Napsauta OK ja valitse hakemisto, johon SQL-skeemat tallennetaan.

Seuraavaksi luomme pohjan. Tämä voidaan tehdä esimerkiksi kautta Oracle SQL -kehittäjä. Tätä varten muodostamme yhteyden Oracle-tietokantaan ja lataamme kaavion taulukoiden lisäämistä varten. Oracle-taulukoiden kokoonpanon muuttamisen jälkeen sinun on päivitettävä SQL-skeemat Schema Holderissa.

Kuinka saada ystäviä Progress OpenEdge -pankkijärjestelmän ja Oracle DBMS:n välillä

Kun lataus on valmis, poistu bisquitsh-tietokannasta ja avaa Pro2-hallintapaneeli. Oracle-tietokannan taulukoiden pitäisi näkyä Kartoitus-välilehdessä oikealla.

Taulukon kartoitus

Jos haluat luoda replikointikartan, siirry Pro2-hallintapaneelissa Mapping-välilehdelle ja valitse lähdetietokanta. Napsauta Map Tables -kohtaa, valitse Valitse muutokset niiden taulukoiden vasemmalta puolelta, jotka pitäisi replikoida Oraclessa, siirrä ne oikealle ja vahvista valinta. Valituille pöydille luodaan automaattisesti kartta. Toistamme toiminnon luodaksemme replikointikartan muille lähdetietokantoille.

Kuinka saada ystäviä Progress OpenEdge -pankkijärjestelmän ja Oracle DBMS:n välillä

Pro2-replikointiprosessorikirjaston ja joukkokopiointiprosessoriohjelmien luominen

Replikointiprosessorin kirjasto on suunniteltu mukautetuille replikointiprosesseille (ETL), jotka käsittelevät Pro2-replikointijonoa ja työntävät muutoksia Oracle-tietokantaan. Replikointiprosessorin kirjastoohjelmat tallennetaan automaattisesti hakemistoon sukupolven jälkeen bprepl/repl_proc (PROC_DIRECTORY-parametri). Luo replikointiprosessorikirjasto siirtymällä osoitteeseen Työkalut -> Luo koodi -> Suoritinkirjasto. Kun sukupolvi on valmis, ohjelmat näkyvät hakemistossa bprepl/repl_proc.

Bulk Load Processor -ohjelmia käytetään Progress-lähdetietokantojen synkronointiin Oraclen kohdetietokannan kanssa Progress ABL (4GL) -ohjelmointikielellä. Luo ne siirtymällä valikkokohtaan Työkalut -> Luo koodi -> joukkokopioprosessori. Valitse Valitse tietokanta -valintaikkunassa lähdetietokannat, siirrä ne ikkunan oikealle puolelle ja napsauta OK. Kun sukupolvi on valmis, ohjelmat näkyvät hakemistossa bpreplrepl_mproc.

Replikointiprosessien määrittäminen Pro2:ssa

Taulukoiden jakaminen sarjoiksi, joita palvelee erillinen replikointisäike, parantaa Pro2 Oraclen suorituskykyä ja tehokkuutta. Oletusarvoisesti kaikki uusien toisinnustaulukoiden replikointikartassa luodut yhteydet liitetään säikeeseen numero 1. On suositeltavaa erottaa taulukot eri säikeiksi.

Tiedot replikointisäikeiden tilasta näkyvät Pro2:n hallintanäytössä Replikoinnin tila -osan Monitor-välilehdellä. Yksityiskohtainen kuvaus parametriarvoista löytyy Pro2-dokumentaatiosta (hakemisto C:Pro2Docs).

Luo ja aktivoi CDC-käytännöt

Käytännöt ovat sääntöjoukko OpenEdge CDC -moottorille, joka valvoo taulukoiden muutoksia. Kirjoitushetkellä Pro2 tukee vain CDC-käytäntöjä tasolla 0, eli vain tosiasiaa valvotaan tallentaa muutokset.

Jos haluat luoda CDC-käytännön, siirry hallintapaneelissa Mapping-välilehdelle, valitse lähdetietokanta ja napsauta Lisää/poista käytännöt -painiketta. Valitse avautuvan Select Changes -ikkunan vasemmalta puolelta ja siirrä oikealle taulukot, joille sinun on luotava tai poistettava CDC-käytäntö.

Aktivoi avaamalla Mapping-välilehti uudelleen, valitsemalla lähdetietokanta ja napsauttamalla painiketta Aktivoi käytännöt. Valitse ja siirrä taulukon oikealle puolelle aktivoitavat käytännöt, napsauta OK. Tämän jälkeen ne on merkitty vihreällä. Käyttämällä Aktivoi käytännöt Voit myös poistaa CDC-käytännöt käytöstä. Kaikki kaupat suoritetaan verkossa.

Kuinka saada ystäviä Progress OpenEdge -pankkijärjestelmän ja Oracle DBMS:n välillä

Kun CDC-käytäntö on aktivoitu, muokattuja tietueita koskevat huomautukset tallennetaan tallennusalueelle "ReplCDCArea" lähdetietokannan mukaan. Nämä muistiinpanot käsitellään erityisellä prosessilla CDCBatch, joka niiden perusteella luo muistiinpanoja tietokannan Pro2-replikointijonoon cdc (vastaa).

Näin ollen meillä on kaksi jonoa replikointia varten. Ensimmäinen vaihe on CDCBatch: lähdetietokannasta tiedot siirtyvät ensin CDC-välitietokantaan. Toinen vaihe on, kun tiedot siirretään CDC-tietokannasta Oracleen. Tämä on nykyisen arkkitehtuurin ja itse tuotteen ominaisuus - tähän mennessä kehittäjät eivät ole pystyneet luomaan suoraa replikointia.

Ensisijainen synkronointi

Kun CDC-mekanismi on otettu käyttöön ja Pro2-replikointipalvelin on määritetty, meidän on aloitettava ensimmäinen synkronointi. Alkuperäinen synkronointikomento:

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

Kun ensimmäinen synkronointi on valmis, replikointiprosessit voidaan aloittaa.

Replikointiprosessien aloitus

Replikointiprosessin aloittamiseksi sinun on suoritettava komentosarja replbatch.sh. Ennen kuin aloitat, varmista, että kaikille säikeille on olemassa replbatch-skriptit - replbatch1, replbatch2 jne. Jos kaikki on paikoillaan, avaa komentorivi (esim. proenv), mene hakemistoon /bprepl/scripts ja aloita käsikirjoitus. Tarkistamme hallintapaneelista, että vastaava prosessi on saanut KÄYNNISSÄ-tilan.

Kuinka saada ystäviä Progress OpenEdge -pankkijärjestelmän ja Oracle DBMS:n välillä

Tulokset

Kuinka saada ystäviä Progress OpenEdge -pankkijärjestelmän ja Oracle DBMS:n välillä
Toteutuksen jälkeen nopeutimme huomattavasti tiedon siirtoa yrityksen tietovarastoon. Tiedot siirtyvät automaattisesti Oracle-verkkoon. Sinun ei tarvitse tuhlata aikaa pitkien kyselyjen suorittamiseen tietojen keräämiseen eri järjestelmistä. Lisäksi tässä ratkaisussa replikointiprosessi voi pakata dataa, millä on myös positiivinen vaikutus nopeuteen. Nyt BISKVIT-järjestelmän päivittäinen täsmäytys muiden järjestelmien kanssa alkoi viedä 15-20 minuuttia 2-2,5 tunnin sijaan ja täydellinen täsmäytys kesti useita tunteja kahden päivän sijaan.

Lähde: will.com

Lisää kommentti