Cumu fà amici trà u sistema bancariu Progress OpenEdge è l'Oracle DBMS

Dapoi u 1999, per serve u back office, u nostru bancu hà utilizatu u sistema bancariu integratu BISKVIT nantu à a piattaforma Progress OpenEdge, chì hè largamente utilizatu in u mondu sanu, ancu in u settore finanziariu. U funziunamentu di stu DBMS permette di leghje finu à un milione o più di registri per seconda in una basa di dati (DB). I nostri servizii Progress OpenEdge circa 1,5 milioni di dipositi individuali è circa 22,2 milioni di cuntratti per i prudutti attivi (prestiti di vitture è ipoteche), è hè ancu rispunsevuli di tutti i saldamenti cù u regulatore (Central Bank) è SWIFT.

Cumu fà amici trà u sistema bancariu Progress OpenEdge è l'Oracle DBMS

Utilizendu Progress OpenEdge, avemu avutu affruntatu cù a necessità di fà u travagliu cù l'Oracle DBMS. Inizialmente, stu bundle era u collu di a nostra infrastruttura - finu à chì avemu installatu è cunfiguratu Pro2 CDC - un pruduttu Progress chì vi permette di mandà dati da u DBMS Progress à l'Oracle DBMS direttamente, in linea. In questu post vi diceremu in dettaglio, cù tutte e trappule, cumu fà amicizia efficace trà OpenEdge è Oracle.

Cumu hè accadutu: caricate dati à QCD via u spartera di file

Prima, alcuni fatti nantu à a nostra infrastruttura. U numaru di utilizatori attivi di a basa di dati hè circa 15 mila. U voluminu di tutte e basa di dati pruduttivi, cumpresi replica è standby, hè 600 TB, a basa di dati più grande hè 16,5 TB. À u listessu tempu, e basa di dati sò in constantemente ricuperate: annantu à l'ultimu annu solu, circa 120 TB di dati pruduttivi sò stati aghjuntu. U sistema hè alimentatu da 150 servitori frontali nantu à a piattaforma x86. I basa di dati sò allughjati nantu à 21 servitori di piattaforma IBM.

Cumu fà amici trà u sistema bancariu Progress OpenEdge è l'Oracle DBMS
Sistemi front-end, diversi sistemi bancari core è servizii bancari sò integrati cù OpenEdge Progress (BISCUIT IBS) via u bus Sonic ESB. A carica di dati à QCD si faci per u scambiu di schedari. Finu à un certu puntu in u tempu, sta suluzione hà avutu dui grandi prublemi à una volta - un rendimentu bassu di carica di l'infurmazioni in un magazzinu di dati corporativu (CDW) è un longu tempu per fà a cunciliazione di dati (cunciliazione) cù altri sistemi.
Cumu fà amici trà u sistema bancariu Progress OpenEdge è l'Oracle DBMS
Dunque, avemu cuminciatu à circà un strumentu chì puderia accelerà sti prucessi. A suluzione à i dui prublemi era u novu pruduttu Progress OpenEdge - Pro2 CDC (Change Data Capture). Allora, cuminciamu.

Installa Progress OpenEdge è Pro2Oracle

Per eseguisce Pro2 Oracle nantu à l'urdinatore Windows di l'amministratore, hè abbastanza per installà u Progress OpenEdge Developer Kit Classroom Edition, chì pò esse скачать for free. Cartulari d'installazione OpenEdge predeterminati:

DLC: C: ProgressOpenEdge
WRK: C: OpenEdgeWRK

I prucessi ETL necessitanu licenze Progress OpenEdge versione 11.7+ - vale à dì OE DataServer per Oracle è Sistema di Sviluppu 4GL. Queste licenze sò incluse cù u Pro2. Per u funziunamentu cumpletu di DataServer per Oracle cù una basa di dati Oracle remota, Full Oracle Client hè stallatu.

In u servitore Oracle avete bisognu di stallà a basa di dati Oracle 12+, crea una basa di dati viota è aghjunghje un utilizatore (chjamemu cdc).

Per installà Pro2Oracle, scaricate l'ultima distribuzione da u centru di scaricamentu Software di u prugressu. Unpack l'archiviu in un cartulare C: Pro2 (Per cunfigurà Pro2 in Unix, a listessa distribuzione hè aduprata è i stessi principii di cunfigurazione s'applicanu).

Creazione di una basa di dati di replicazione cdc

basa di dati di replicazione cdc (repl) Pro2 hè utilizatu per almacenà l'infurmazioni di cunfigurazione, cumpresa a mappa di replicazione, i nomi di basa di dati replicati è e so tabelle. Hè ancu cuntene una fila di replicazione, custituita da note nantu à u fattu chì una fila di tavula in a basa di dati fonte hè cambiata. I dati da a fila di replicazione sò utilizati da i prucessi ETL per identificà e fila chì deve esse copiatu à Oracle da a basa di dati fonte.

Creemu una basa di dati CDC separata.

Prucedura per creà una basa di dati

  1. Nantu à u servitore di basa di dati avemu creatu un repertoriu per a basa di dati cdc - per esempiu, in u servitore /database/cdc/.
  2. Crea un manichino per a basa di dati cdc: procopy $DLC/cdc viotu
  3. Abilita u supportu per i fugliali grossi: proutil cdc -C EnableLargeFiles
  4. Preparamu un script per inizià a basa di dati cdc. I paràmetri di iniziu devenu esse simili à i paràmetri di iniziu di a basa di dati replicata.
  5. Cuminciamu a basa di dati CDC.
  6. Cunnettete à a basa di dati cdc è carica u schema Pro2 da u schedariu cdc.df, chì hè inclusu cù u Pro2.
  7. Creemu i seguenti utilizatori in a basa di dati cdc:

pro2adm - per cunnette da u pannellu amministrativu Pro2;
pro2etl - per cunnette i prucessi ETL (ReplBatch);
pro2cdc - per cunnette i prucessi CDC (CDCBatch);

Attivà OpenEdge Change Data Capture

Avà accendemu u mekanismu CDC stessu, cù l'aiutu di quale dati seranu replicati in una zona tecnologica supplementaria. À ogni basa di dati di fonte di Progress OpenEdge, avete bisognu di aghjunghje spazii di almacenamento separati in quale i dati fonte seranu duplicati, è attivà u meccanismo stessu utilizendu u cumandimu. prufittu.

Prucedura d'esempiu per a basa di dati di bisquit

  1. Copia da u catalogu C: Pro2db schedariu cdcadd.st à u repertoriu di basa di dati di fonte bisquit.
  2. Descrivimu in cdcadd.st estensioni di dimensione fissa per e regioni "ReplCDCArea" и "ReplCDCArea_IDX". Pudete aghjunghje novi spazii di almacenamento in linea: prostrct addonline bisquit cdcadd.st
  3. Attivate OpenEdge CDC:
    proutil bisquit -C enablecdc area "ReplCDCArea" indexarea "ReplCDCArea_IDX"
  4. I seguenti utilizatori devenu esse creati in a basa di dati fonte per identificà i prucessi in esecuzione:
    a. pro2adm - per cunnette da u pannellu amministrativu Pro2.
    b. pro2etl - per cunnette i prucessi ETL (ReplBatch).
    c. pro2cdc - per cunnette i prucessi CDC (CDCBatch).

Creazione di un Schema Holder per DataServer per Oracle

In seguitu, avemu bisognu di creà una basa di dati Schema Holder in u servitore induve e dati da u Progress DBMS seranu replicati à l'Oracle DBMS. DataServer Schema Holder hè una basa di dati viota di Progress OpenEdge senza utilizatori o dati di l'applicazioni, chì cuntene una mappa di currispundenza trà e tabelle fonte è e tabelle Oracle esterne.

A basa di dati Schema Holder per Progress OpenEdge DataServer per Oracle per Pro2 deve esse situata nantu à u servitore di prucessu ETL; hè creatu separatamente per ogni ramu.

Cumu creà un Schema Holder

  1. Unpack a distribuzione Pro2 in un cartulare /pro2
  2. Crea è andate à u cartulare /pro2/dbsh
  3. Crea una basa di dati Schema Holder usendu u cumandimu copia $DLC/bisquitsh viotu
  4. Realizà a cunversione bisquitsh in a codificazione necessaria - per esempiu, in UTF-8 se e basa di dati Oracle anu codificazione UTF-8: proutil bisquitsh -C convchar convert UTF-8
  5. Dopu avè creatu una basa di dati viota bisquitsh cunnette vi in ​​modu unicu utilizatore: pro bisquitsh
  6. Andemu à u dizziunariu di dati: Tools -> Data Dictionary -> DataServer -> ORACLE Utilities -> Create DataServer Schema
  7. Launch Schema Holder
  8. Configurazione di u broker Oracle DataServer:
    a. Start AdminServer.
    proadsv - principià
    b. U principiu di u broker Oracle DataServer
    oraman -name orabroker1 -start

Configurazione di u pannellu amministrativu è schema di replicazione

Utilizendu u pannellu amministrativu Pro2, i parametri Pro2 sò cunfigurati, cumprese a creazione di u schema di replicazione è a generazione di prucessi ETL (Biblioteca di Processori), prugrammi di sincronizazione primaria (Bulk-Copy Processor), triggers di replicazione è e pulitiche OpenEdge CDC. Ci sò ancu strumenti primari per u monitoraghju è a gestione di i prucessi ETL è CDC. Prima di tuttu, avemu stallatu i schedarii di paràmetri.

Cumu cunfigurà i schedarii di parametri

  1. Andà à u catalogu C:Pro2bpreplScripts
  2. Aprite u schedariu per edità replProc.pf
  3. Aghjunghjite i parametri di cunnessione à a basa di dati di replicazione cdc:
    # Database di replicazione
    -db cdc -ld repl -H <nome d'ospite di basa di dati principale> -S <portu di broker di basa di dati cdc>
    -U pro2admin -P <password>
  4. Aghjunghjite à replProc.pf paràmetri di cunnessione à basa di dati di fonte è Schema Holder in forma di schedarii di paràmetri. U nome di u schedariu di parametri deve currisponde à u nome di a basa di dati fonte chì hè cunnessa.
    # Cunnettete à tutte e fonti replicate BISQUIT
    -pf bpreplscriptsbisquit.pf
  5. Aghjunghjite à replProc.pf paràmetri per cunnette à Schema Holder.
    #Target Pro DB Schema Holder
    -db bisquitsh -ld bisquitsh
    -H <Nome d'ospite di prucessu ETL>
    -S <portu di broker biskuitsh>
    -db bisquitsql
    -ld bisquitsql
    -dt ORACLE
    -S 5162 -H <Oracle broker hostname>
    -DataService orabroker1
  6. Salvà u schedariu di paràmetri replProc.pf
  7. In seguitu, avete bisognu di creà è apre per edità i schedarii di parametri per ogni basa di dati di fonte cunnessa in u cartulare C:Pro2bpreplScripts: bisquit.pf. Ogni schedariu pf cuntene paràmetri per cunnette à a basa di dati currispondente, per esempiu:
    -db bisquit -ld bisquit -H <hostname> -S <broker port>
    -U pro2admin -P <password>

Per cunfigurà i shortcuts di Windows, avete bisognu à andà in u cartulare C:Pro2bpreplScripts è edità u shortcut "Pro2 - Administration". Per fà questu, apre e proprietà di u shortcut è in a linea Principià in indicà u cartulare di stallazione Pro2. Una operazione simile deve esse fatta per i shortcuts "Pro2 - Editor" è "RunBulkLoader".

Configurazione di l'amministrazione Pro2: Carica a cunfigurazione iniziale

Lanciamu a cunsola.

Cumu fà amici trà u sistema bancariu Progress OpenEdge è l'Oracle DBMS

Andà à "DB Map".

Cumu fà amici trà u sistema bancariu Progress OpenEdge è l'Oracle DBMS

Per ligà e basa di dati in Pro2 - Amministrazione, andate à a tabulazione Mappa DB. Aghjunghjite mapping di basa di dati fonte - Schema Holder - Oracle.

Cumu fà amici trà u sistema bancariu Progress OpenEdge è l'Oracle DBMS

Andà à a tabulazione Cartografia. Listatu Fonte di basa di dati Per automaticamente, a prima basa di dati di fonte cunnessa hè sceltu. À a diritta di a lista ci deve esse una inscription Tutte e basa di dati cunnesse - i basa di dati selezziunati sò cunnessi. Sottu à a manca vi duvite vede una lista di tavule Progress da bisquit. À a diritta hè una lista di tavule da a basa di dati Oracle.

Creazione di schemi SQL è basa di dati in Oracle

Per creà una mappa di replicazione, deve prima generà Schema SQL in Oracle. In Pro2 Administration eseguimu l'elementu di menu Strumenti -> Genera codice -> Schema di destinazione, dopu in a finestra di dialogu Selezziunate Database selezziunà una o più basa di dati fonti è spustate à a diritta.

Cumu fà amici trà u sistema bancariu Progress OpenEdge è l'Oracle DBMS

Cliccate OK è selezziunate u cartulare per salvà i schemi SQL.

Dopu avemu creatu a basa. Questu pò esse fattu, per esempiu, via Sviluppatore Oracle SQL. Per fà questu, cunnettamu à a basa di dati Oracle è caricate u schema per aghjunghje tabelle. Dopu avè cambiatu a cumpusizioni di e tavule Oracle, avete bisognu di aghjurnà i schemi SQL in u Schema Holder.

Cumu fà amici trà u sistema bancariu Progress OpenEdge è l'Oracle DBMS

Dopu chì u scaricamentu hè cumpletu, esce da a basa di dati bisquitsh è apre u pannellu amministrativu Pro2. I tabelle da a basa di dati Oracle duveranu apparisce nantu à a tabulazione di Mapping à a diritta.

Cartografia di tavulinu

Per creà una mappa di replicazione, in u pannellu amministrativu Pro2, andate à a tabulazione di Mapping è selezziunate a basa di dati fonte. Cliccate nant'à Map Tables, selezziunà Select Changes à a manca di e tavule chì deve esse replicate in Oracle, movili à a diritta è cunfirmà a selezzione. Una mappa serà creata automaticamente per i tavulini selezziunati. Ripitemu l'operazione per creà una mappa di replicazione per altre basa di dati fonte.

Cumu fà amici trà u sistema bancariu Progress OpenEdge è l'Oracle DBMS

Generazione di Pro2 Replication Processor Library è Bulk-Copy Processor Programs

A Biblioteca di Processore di Replicazione hè pensata per i prucessi di replicazione persunalizati (ETL) chì processanu a fila di replicazione Pro2 è spinghjanu cambiamenti à a basa di dati Oracle. I prugrammi di a biblioteca di u processore di replicazione sò salvati automaticamente in u cartulare dopu a generazione bprepl/repl_proc (parametru PROC_DIRECTORY). Per generà a biblioteca di u processore di replicazione, andate à Strumenti -> Genera codice -> Biblioteca di Processor. Dopu chì a generazione hè finita, i prugrammi appariscenu in u cartulare bprepl/repl_proc.

I prugrammi di Bulk Load Processor sò usati per sincronizà e basa di dati di u Progressu di a fonte cù a basa di dati Oracle di destinazione basatu nantu à a lingua di prugrammazione Progress ABL (4GL). Per generà elli, andate à l'elementu di menu Strumenti -> Generate Code -> Bulk-Copy Processor. In a finestra di dialogu Select Database, selezziunate e basa di dati fonte, movelli à u latu drittu di a finestra è cliccate OK. Dopu chì a generazione hè finita, i prugrammi appariscenu in u cartulare bpreplrepl_mproc.

Configurazione di prucessi di replicazione in Pro2

A split tables in sets served by a separate replication thread improves the performance and efficienza di Pro2 Oracle. Per automaticamente, tutte e cunnessione create in a mappa di replicazione per i novi tavulini di replicazione sò assuciati cù u filu numaru 1. Hè ricumandemu per separà e tavule in diversi filamenti.

L'infurmazione nantu à u statu di i fili di replicazione hè visualizata nantu à a pantalla di l'amministrazione Pro2 in a tabulazione Monitor in a sezione Status di replicazione. Una descrizzione dettagliata di i valori di i parametri pò esse truvata in a documentazione Pro2 (directory C:Pro2Docs).

Crea è attivà e pulitiche CDC

E pulitiche sò un inseme di regule per u mutore OpenEdge CDC per monitorà i cambiamenti à e tavule. À u mumentu di a scrittura, Pro2 sustene solu e pulitiche CDC cù u nivellu 0, vale à dì, solu fattu hè monitoratu cambiamenti di registrazione.

Per creà una pulitica CDC, nantu à u pannellu amministrativu, andate à a tabulazione Mapping, selezziunate a basa di dati fonte è cliccate nant'à u buttone Add / Remove Policies. In a finestra Select Changes chì si apre, selezziunate à u latu di manca è move à a diritta e tavule per quale avete bisognu di creà o sguassà una pulitica CDC.

Per attivà, apre a tabulazione Mapping torna, selezziunate a basa di dati fonte è cliccate nant'à u buttone (In)Attivate Politiche. Selezziunà è spustà à u latu drittu di a tavula e pulitiche chì deve esse attivatu, cliccate OK. Dopu quì sò marcati in verde. Utilizendu (In)Attivate Politiche Pudete ancu disattivà e pulitiche CDC. Tutte e transazzione sò realizate in linea.

Cumu fà amici trà u sistema bancariu Progress OpenEdge è l'Oracle DBMS

Dopu chì a pulitica CDC hè attivata, e note nantu à i registri mudificati sò salvate in l'area di almacenamiento "ReplCDCArea" secondu a basa di dati fonte. Queste note seranu trattate attraversu un prucessu speciale CDCBatch, chì basatu annantu à elli creà note in a fila di replicazione Pro2 in a basa di dati cdc (repl).

Cusì, avemu duie file per a replicazione. U primu stadiu hè CDCBatch: da a basa di dati fonte, i dati vanu prima à a basa di dati CDC intermediata. A seconda tappa hè quandu i dati sò trasferiti da a basa di dati CDC à Oracle. Questa hè una caratteristica di l'architettura attuale è u pruduttu stessu - finu à avà i sviluppatori ùn anu micca pussutu stabilisce a replicazione diretta.

Sincronizazione primaria

Dopu avè attivatu u mecanismu CDC è cunfigurà u servitore di replicazione Pro2, avemu bisognu di inizià a sincronizazione iniziale. Cumandamentu di sincronizazione iniziale:

/pro2/bprepl/Script/replLoad.sh bisquit table-name

Dopu chì a sincronizazione iniziale hè finita, i prucessi di replicazione ponu esse iniziati.

U principiu di i prucessi di replicazione

Per inizià i prucessi di replicazione, avete bisognu di eseguisce un script replbatch.sh. Prima di principià, assicuratevi chì ci sò scripts replbatch per tutti i fili - replbatch1, replbatch2, etc. Se tuttu hè in locu, apre a linea di cummanda (per esempiu, proenv), andate à u cartulare /bprepl/scripts è principià u script. In u pannellu amministrativu, avemu verificatu chì u prucessu currispundenti hà ricevutu u statutu RUNNING.

Cumu fà amici trà u sistema bancariu Progress OpenEdge è l'Oracle DBMS

Risultati

Cumu fà amici trà u sistema bancariu Progress OpenEdge è l'Oracle DBMS
Dopu l'implementazione, avemu acceleratu assai a carica di l'infurmazioni à u magazzinu di dati corporativu. I dati entranu automaticamente in Oracle in linea. Ùn ci hè bisognu di perde u tempu in esce alcune dumande longu per cullà dati da diversi sistemi. Inoltre, in questa suluzione u prucessu di replicazione pò cumpressione di dati, chì hà ancu un effettu pusitivu nantu à a veloce. Avà a cunciliazione di ogni ghjornu di u sistema BISKVIT cù altri sistemi hà cuminciatu à piglià 15-20 minuti invece di 2-2,5 ore, è una cunciliazione cumpleta hà pigliatu parechje ore invece di dui ghjorni.

Source: www.habr.com

Add a comment