Nola egin lagunak Progress OpenEdge banku sistemaren eta Oracle DBMSren artean

1999az geroztik, back office zerbitzurako, gure bankuak BISKVIT banku sistema integratua erabiltzen du Progress OpenEdge plataforman, mundu osoan oso erabilia dena, baita finantza sektorean ere. DBMS honen errendimenduari esker, segundoko milioi bat erregistro edo gehiago irakur ditzakezu datu-base batean (DB). Gure Progress OpenEdge-k 1,5 milioi banakako gordailua eta 22,2 milioi kontratu inguru produktu aktiboetarako (auto-maileguak eta hipotekak) eskaintzen ditu, eta arautzailearekin (Banku Zentrala) eta SWIFTekin likidazio guztien arduraduna da.

Nola egin lagunak Progress OpenEdge banku sistemaren eta Oracle DBMSren artean

Progress OpenEdge erabiliz, Oracle DBMSrekin funtzionatzeko beharraren aurrean geunden. Hasieran, sorta hau gure azpiegituraren lepoa zen - Pro2 CDC instalatu eta konfiguratu genuen arte - Progress DBMS-tik datuak Oracle DBMSra zuzenean linean bidaltzeko aukera ematen duen Progress produktua. Post honetan zehatz-mehatz esango dizugu, tranpa guztiekin, nola egin eraginkortasunez OpenEdge eta Oracle-ren artean lagunak.

Nola gertatu zen: datuak QCDra igotzea fitxategiak partekatzearen bidez

Lehenik eta behin, gure azpiegiturei buruzko datu batzuk. Datu-basearen erabiltzaile aktiboen kopurua 15 mila ingurukoa da. Datu-base produktibo guztien bolumena, erreplika eta egonean barne, 600 TB da, datu-base handiena 16,5 TB da. Aldi berean, datu-baseak etengabe berritzen ari dira: azken urtean bakarrik, 120 TB inguruko datu produktibo gehitu dira. Sistema x150 plataformako aurrealdeko 86 zerbitzariek elikatzen dute. Datu-baseak IBM plataformako 21 zerbitzarietan daude ostatatuta.

Nola egin lagunak Progress OpenEdge banku sistemaren eta Oracle DBMSren artean
Front-end sistemak, oinarrizko banku-sistema eta banku-zerbitzu OpenEdge Progress-ekin (BISCUIT IBS) integratuta daude Sonic ESB autobusaren bidez. Datuak QCDra kargatzea fitxategi-trukearen bidez gertatzen da. Une jakin batera arte, irtenbide honek bi arazo handi izan zituen aldi berean: datu-biltegi korporatibo batera (CDW) informazioa kargatzeko errendimendu baxua eta beste sistemekin datuak bateratzea (adiskidetzea) egiteko denbora luzea.
Nola egin lagunak Progress OpenEdge banku sistemaren eta Oracle DBMSren artean
Hori dela eta, prozesu horiek bizkortu ditzakeen tresna baten bila hasi ginen. Bi arazoen irtenbidea Progress OpenEdge produktu berria izan zen - Pro2 CDC (Change Data Capture). Beraz, has gaitezen.

Instalatu Progress OpenEdge eta Pro2Oracle

Pro2 Oracle administratzailearen Windows ordenagailuan exekutatzeko, nahikoa da Progress OpenEdge Developer Kit Classroom Edition instalatzea, hau izan daiteke. deskargatu doan. OpenEdge instalazio-direktorio lehenetsiak:

DLC: C: ProgressOpenEdge
WRK: C:OpenEdgeWRK

ETL prozesuek Progress OpenEdge lizentziak 11.7+ bertsioa behar dute, hots, OE DataServer-en Oracle eta 4GL Development System-erako. Lizentzia hauek Pro2-rekin sartzen dira. DataServer for Oracle-ren funtzionamendu osoa lortzeko, urruneko Oracle datu-base batekin, Full Oracle Client instalatuta dago.

Oracle zerbitzarian Oracle Database 12+ instalatu behar duzu, datu-base huts bat sortu eta erabiltzaile bat gehitu (dei diezaiogun CDC).

Pro2Oracle instalatzeko, deskargatu azken banaketa deskarga zentrotik Progress Software. Deskonprimitu artxiboa direktorio batean C:Pro2 (Pro2 Unix-en konfiguratzeko, banaketa bera erabiltzen da eta konfigurazio-printzipio berdinak aplikatzen dira).

cdc erreplika datu-base bat sortzea

Erreplikatzeko datu-basea cdc (ordezkatu) Pro2 konfigurazio-informazioa gordetzeko erabiltzen da, erreplikazio-mapa, erreplikatutako datu-baseen izenak eta haien taulak barne. Erreplikazio-ilara bat ere badu, iturburuko datu-baseko taula-errenkada bat aldatu izanari buruzko oharrez osatua. Erreplikazio-ilararen datuak ETL prozesuek erabiltzen dituzte iturburuko datu-basetik Oraclera kopiatu behar diren errenkadak identifikatzeko.

CDC datu-base bereizia sortzen ari gara.

Datu-base bat sortzeko prozedura

  1. Datu-basearen zerbitzarian cdc datu-baserako direktorio bat sortzen dugu, adibidez, zerbitzarian /database/cdc/.
  2. Sortu dummy bat cdc datu-baserako: prokopiatu $DLC/cdc hutsa
  3. Gaitu fitxategi handietarako laguntza: proutil cdc -C EnableLargeFiles
  4. cdc datu-basea abiarazteko script bat prestatzen dugu. Hasierako parametroek erreplikatutako datu-basearen hasierako parametroen antzekoak izan behar dute.
  5. cdc datu-basea abiarazten dugu.
  6. Konektatu cdc datu-basera eta kargatu Pro2 eskema fitxategitik cdc.df, Pro2-rekin sartzen dena.
  7. Erabiltzaile hauek sortzen ditugu cdc datu-basean:

pro2adm - Pro2 administrazio paneletik konektatzeko;
pro2etl - ETL prozesuak konektatzeko (ReplBatch);
pro2cdc – CDC prozesuak konektatzeko (CDCBatch);

OpenEdge Change Data Capture aktibatzen

Orain aktibatu dezagun CDC mekanismoa bera, eta horren laguntzaz datuak erreplikatuko dira teknologia-eremu gehigarri batera. Progress OpenEdge iturburu-datu-base bakoitzean, biltegiratze-eremu bereiziak gehitu behar dituzu iturburu-datuak bikoiztuko diren eta mekanismoa bera aktibatu komandoa erabiliz. proutil.

Bisquit datu-baserako prozedura adibidea

  1. Katalogotik kopiatzea C: Pro2db fitxategia cdcadd.st bisquit iturburu datu-base direktoriora.
  2. atalean deskribatzen dugu cdcadd.st Eskualdeetarako tamaina finkoko hedadurak "ReplCDCArea" ΠΈ "ReplCDCArea_IDX". Biltegiratze gune berriak gehi ditzakezu sarean: prostrct addonline bisquit cdcadd.st
  3. Aktibatu OpenEdge CDC:
    proutil bisquit -C enablecdc area "ReplCDCArea" indexarea "ReplCDCArea_IDX"
  4. Iturburuko datu-basean erabiltzaile hauek sortu behar dira martxan dauden prozesuak identifikatzeko:
    a. pro2adm - Pro2 administrazio paneletik konektatzeko.
    b. pro2etl - ETL prozesuak konektatzeko (ReplBatch).
    c. pro2cdc – CDC prozesuak konektatzeko (CDCBatch).

DataServer for Oracle-ren eskema-titular bat sortzea

Ondoren, Schema Holder datu-base bat sortu behar dugu zerbitzarian Progress DBMS-ko datuak Oracle DBMS-ra errepikatuko diren. DataServer Schema Holder Progress OpenEdge datu-base huts bat da, erabiltzailerik edo aplikazio-daturik gabe, iturburu-taulen eta kanpoko Oracle-ko taulen arteko korrespondentzia-mapa bat duena.

Progress OpenEdge DataServer for Oracle for Pro2-ren Schema Holder datu-basea ETL prozesu zerbitzarian kokatu behar da; adar bakoitzerako bereizita sortzen da.

Nola sortu eskema-titular bat

  1. Despaketeatu Pro2 banaketa direktorio batean /pro2
  2. Sortu eta joan direktoriora /pro2/dbsh
  3. Sortu Schema Holder datu-base bat komandoa erabiliz kopiatu $DLC/hutsik bisquitsh
  4. Bihurketa egitea bitxikeria beharrezko kodeketa sartu - adibidez, UTF-8-n Oracle datu-baseek UTF-8 kodeketa badute: proutil bisquitsh -C convchar UTF-8 bihurtzea
  5. Datu-base huts bat sortu ondoren bitxikeria konektatu erabiltzaile bakarreko moduan: pro bisquitsh
  6. Goazen datuen hiztegira: Tresnak -> Datuen Hiztegia -> DataServer -> ORACLE Utilities -> Sortu DataServer Schema
  7. Abiarazi Schema Holder
  8. Oracle DataServer broker-a konfiguratzea:
    a. Hasi AdminServer.
    proadsv -hasi
    b. Oracle DataServer broker-aren hasiera
    oraman -izena orabroker1 -hasi

Administrazio panela eta erreplika eskema konfiguratzea

Pro2 administrazio panela erabiliz, Pro2 parametroak konfiguratzen dira, besteak beste, erreplikazio-eskema konfiguratzea eta ETL prozesuak sortzea (Prozesadorearen Liburutegia), lehen mailako sinkronizazio-programak (Bulk-Copy Processor), erreplikazio-abiarazleak eta OpenEdge CDC politikak. ETL eta CDC prozesuak kontrolatzeko eta kudeatzeko tresna nagusiak ere badaude. Lehenik eta behin, parametro fitxategiak konfiguratu ditugu.

Parametro fitxategiak nola konfiguratu

  1. Joan katalogora C:Pro2bpreplScripts
  2. Ireki fitxategia editatzeko replProc.pf
  3. Gehitu konexio-parametroak cdc erreplika datu-basean:
    # Erreplikazio datu-basea
    -db cdc -ld repl -H <datu-basearen ostalari-izena nagusia> -S <datu-basearen bitartekariaren ataka cdc>
    -U pro2admin -P <pasahitza>
  4. Gehitu replProc.pf iturburu-datu-baseetarako konexio-parametroak eta Schema Holder parametro fitxategien moduan. Parametroen fitxategiaren izenak bat etorri behar du konektatzen ari den iturburu-datu-basearen izenarekin.
    # Konektatu erreplikatutako iturri guztietara BISQUIT
    -pf bpreplscriptsbisquit.pf
  5. Gehitu replProc.pf Schema Holder-era konektatzeko parametroak.
    #Target Pro DB eskema titularra
    -db bisquitsh -ld bisquitsh
    -H <ETL prozesuaren ostalari-izena>
    -S <biskuitsh broker ataka>
    -db bisquitsql
    -ld bisquitsql
    -dt ORACLE
    -S 5162 -H <Oracle broker ostalari-izena>
    -DataZerbitzua orabroker1
  6. Gorde parametroen fitxategia replProc.pf
  7. Ondoren, parametro fitxategiak editatzeko sortu eta ireki behar dituzu direktorioan konektatuta dagoen iturburu-datu-base bakoitzeko C:Pro2bpreplScripts: bisquit.pf. Pf fitxategi bakoitzak dagokion datu-baserako konexio-parametroak ditu, adibidez:
    -db bisquit -ld bisquit -H <ostalari-izena> -S <artekariaren ataka>
    -U pro2admin -P <pasahitza>

Windows lasterbideak konfiguratzeko, direktoriora joan behar duzu C:Pro2bpreplScripts eta editatu "Pro2 - Administrazioa" lasterbidea. Horretarako, ireki lasterbidearen propietateak eta lerroan Hasi adierazi Pro2 instalazio-direktorioa. Antzeko eragiketa bat egin behar da "Pro2 - Editor" eta "RunBulkLoader" lasterbideetarako.

Pro2 Administrazioaren konfigurazioa: hasierako konfigurazioa kargatzen

Abiarazi dezagun kontsola.

Nola egin lagunak Progress OpenEdge banku sistemaren eta Oracle DBMSren artean

Joan "DB Map"ra.

Nola egin lagunak Progress OpenEdge banku sistemaren eta Oracle DBMSren artean

Pro2-en datu-baseak lotzeko, joan fitxara DB mapa. Gehitu iturri datu-baseen mapak - Eskema titularra - Oracle.

Nola egin lagunak Progress OpenEdge banku sistemaren eta Oracle DBMSren artean

Joan fitxara Mapping. Zerrendatuta Iturburu datu-basea Lehenespenez, konektatutako lehen datu-basea hautatuta dago. Zerrendaren eskuinaldean inskripzio bat egon behar da Datu-base guztiak konektatuta β€” hautatutako datu-baseak konektatuta daude. Behean ezkerrean bisquit-en Aurrerapen-taulen zerrenda ikusi beharko zenuke. Eskuinean Oracle datu-baseko taulen zerrenda dago.

Oracle-n SQL eskemak eta datu-baseak sortzea

Erreplikazio-mapa bat sortzeko, lehenik sortu behar duzu SQL eskema Oraclean. Pro2 Administrazioan menu-elementua exekutatzen dugu Tresnak -> Sortu kodea -> Helburu eskema, gero elkarrizketa-koadroan Aukeratu datu basea hautatu iturri datu-base bat edo gehiago eta mugitu eskuinera.

Nola egin lagunak Progress OpenEdge banku sistemaren eta Oracle DBMSren artean

Sakatu Ados eta hautatu direktorioa SQL eskemak gordetzeko.

Jarraian oinarria sortuko dugu. Hau, adibidez, bidez egin daiteke Oracle SQL garatzailea. Horretarako, Oracle datu-basera konektatzen gara eta taulak gehitzeko eskema kargatzen dugu. Oracle taulen konposizioa aldatu ondoren, SQL eskemak eguneratu behar dituzu Schema Holder-en.

Nola egin lagunak Progress OpenEdge banku sistemaren eta Oracle DBMSren artean

Deskarga ondo amaitu ondoren, irten bisquitsh datu-basetik eta ireki Pro2 administrazio panela. Oracle datu-baseko taulak eskuineko Mapak fitxan agertu behar dira.

Taulen mapaketa

Erreplika-mapa bat sortzeko, Pro2 administrazio-panelean, joan Mapaka fitxara eta hautatu iturburu-datu-basea. Egin klik Map Tauletan, hautatu Hautatu aldaketak Oracle-n errepikatu behar diren taulen ezkerrean, mugitu eskuinera eta berretsi hautaketa. Aukeratutako tauletarako mapa bat sortuko da automatikoki. Eragiketa errepikatzen dugu beste iturri datu-baseetarako erreplikazio-mapa bat sortzeko.

Nola egin lagunak Progress OpenEdge banku sistemaren eta Oracle DBMSren artean

Pro2 Erreplika Prozesadorearen Liburutegia eta Bulk-Copy Prozesadore Programak sortzea

Erreplika Prozesadorearen Liburutegia Pro2 erreplikazio-ilara prozesatzen duten eta aldaketak Oracle datu-basera bultzatzen dituzten erreplikazio pertsonalizatuetarako (ETL) diseinatuta dago. Erreplika prozesadorearen liburutegiko programak automatikoki gordetzen dira direktorioan sortu ondoren bprepl/repl_proc (PROC_DIRECTORY parametroa). Erreplikazio-prozesadorearen liburutegia sortzeko, joan hona Tresnak -> Sortu kodea -> Prozesadorearen liburutegia. Sorkuntza amaitu ondoren, programak direktorioa agertuko dira bprepl/repl_proc.

Bulk Load Processor programak Progress datu-baseak helburuko Oracle datu-basearekin sinkronizatzeko erabiltzen dira Progress ABL (4GL) programazio-lengoaian oinarrituta. Horiek sortzeko, joan menuko elementura Tresnak -> Sortu kodea -> Bulk-Copy prozesadorea. Hautatu datu-basea elkarrizketa-koadroan, hautatu iturburuko datu-baseak, mugitu leihoaren eskuinera eta egin klik OK. Sorkuntza amaitu ondoren, programak direktorioa agertuko dira bpreplrepl_mproc.

Pro2-n erreplikazio-prozesuak konfiguratzea

Taulak bereizitako erreplikazio-hari batek zerbitzatutako multzoetan zatitzeak Pro2 Oracle-ren errendimendua eta eraginkortasuna hobetzen ditu. Lehenespenez, erreplikazio-taula berrietarako erreplikazio-mapan sortutako konexio guztiak 1. zenbakidun hariarekin lotuta daude. Taulak hari ezberdinetan bereiztea gomendatzen da.

Erreplikazio-harien egoerari buruzko informazioa Pro2 Administrazioaren pantailan bistaratzen da Monitorea fitxan, Erreplikazioaren egoera ataleko. Parametroen balioen deskribapen zehatza Pro2 dokumentazioan aurki daiteke (C:Pro2Docs direktorioa).

Sortu eta aktibatu CDC politikak

Politikak OpenEdge CDC motorrentzako arau multzo bat dira, taulen aldaketak kontrolatzeko. Idazteko unean, Pro2-k 0 maila duten CDC politikak bakarrik onartzen ditu, hau da, gertakariak bakarrik kontrolatzen dira erregistro aldaketak.

CDC politika bat sortzeko, administrazio-panelean, joan Mapaka fitxara, hautatu iturburuko datu-basea eta egin klik Gehitu/Kendu politikak botoian. Irekitzen den Hautatu aldaketak leihoan, hautatu ezkerreko aldean eta mugitu eskuinera CDC politika bat sortu edo ezabatu behar dituzun taulak.

Aktibatzeko, ireki berriro Mapping fitxa, hautatu iturburuko datu-basea eta egin klik botoian (In)Aktibatu Politikak. Hautatu eta mugitu taularen eskuinera aktibatu behar diren politikak, sakatu Ados. Horren ondoren, berdez markatzen dira. Erabiliz (In)Aktibatu Politikak CDC politikak ere desaktibatu ditzakezu. Transakzio guztiak linean egiten dira.

Nola egin lagunak Progress OpenEdge banku sistemaren eta Oracle DBMSren artean

CDC politika aktibatu ondoren, aldatutako erregistroei buruzko oharrak biltegiratze eremuan gordetzen dira "ReplCDCArea" iturri datu-basearen arabera. Ohar hauek prozesu berezi baten bidez prozesatuko dira CDCBatx, horietan oinarrituta oharrak sortuko ditu datu-baseko Pro2 erreplika-ilaran cdc (ordezkatu).

Horrela, bi ilara ditugu erreplikatzeko. Lehen fasea CDCBatch da: iturburuko datu-basetik, datuak lehenik tarteko CDC datu-basera doaz. Bigarren etapa datuak CDC datu-basetik Oraclera transferitzen direnean da. Hau egungo arkitekturaren eta produktuaren ezaugarri bat da - orain arte garatzaileek ezin izan dute erreplika zuzena ezarri.

Sinkronizazio nagusia

CDC mekanismoa gaitu eta Pro2 erreplika zerbitzaria konfiguratu ondoren, hasierako sinkronizazioa hasi behar dugu. Hasierako sinkronizazio komandoa:

/pro2/bprepl/Script/replLoad.sh bisquit taula-izena

Hasierako sinkronizazioa amaitu ondoren, erreplikazio-prozesuak abiarazi daitezke.

Erreplikazio-prozesuen hasiera

Erreplikazio-prozesuak hasteko script bat exekutatu behar duzu replbatch.sh. Hasi aurretik, ziurtatu replbatch scriptak daudela hari guztietarako - replbatch1, replbatch2, etab. Dena ondo badago, ireki komando-lerroa (adibidez, proenv), joan direktoriora /bprepl/scripts eta hasi gidoia. Administrazio panelean, dagokion prozesuak MARTXAN egoera jaso duela egiaztatzen dugu.

Nola egin lagunak Progress OpenEdge banku sistemaren eta Oracle DBMSren artean

Findings

Nola egin lagunak Progress OpenEdge banku sistemaren eta Oracle DBMSren artean
Inplementatu ondoren, asko azkartu dugu informazioa korporazioko datu biltegira kargatzea. Datuak automatikoki Oracle sarean sartzen dira. Ez dago denbora galdu behar luzeko kontsulta batzuk egiten sistema ezberdinetako datuak biltzeko. Gainera, irtenbide honetan erreplikazio-prozesuak datuak konprimitu ditzake, eta horrek abiaduran ere eragin positiboa du. Orain, BISKVIT sistema beste sistemekin egunero bateratzeak 15-20 minutu behar izaten hasi ziren 2-2,5 ordu beharrean, eta adiskidetze osoak hainbat ordu behar zituen bi egun beharrean.

Iturria: www.habr.com

Gehitu iruzkin berria