Ki jan yo fè zanmi ant sistèm bankè Progress OpenEdge ak DBMS Oracle

Depi 1999, pou sèvis back office la, bank nou an te itilize sistèm bankè entegre BISKVIT sou platfòm Progress OpenEdge, ki lajman itilize atravè mond lan, enkli nan sektè finansye a. Pèfòmans DBMS sa a pèmèt ou li jiska yon milyon oswa plis dosye pa segonn nan yon baz done (DB). Pwogrè OpenEdge nou an sèvis apeprè 1,5 milyon depo endividyèl ak apeprè 22,2 milyon kontra pou pwodwi aktif (prè machin ak ipotèk), epi li responsab tou pou tout règleman ak regilatè a (Bank Santral) ak SWIFT.

Ki jan yo fè zanmi ant sistèm bankè Progress OpenEdge ak DBMS Oracle

Sèvi ak Progress OpenEdge, nou te fè fas ak nesesite pou fè li travay ak DBMS Oracle. Okòmansman, koneksyon sa a te bouchon enfrastrikti nou an - jiskaske nou enstale ak konfigirasyon Pro2 CDC - yon pwodwi Progress ki pèmèt ou voye done ki soti nan Progress DBMS a Oracle DBMS dirèkteman, sou entènèt. Nan pòs sa a nou pral di w an detay, ak tout enkonvenyans yo, ki jan yo efektivman fè zanmi ant OpenEdge ak Oracle.

Ki jan sa te rive: telechaje done nan QCD atravè pataje dosye

Premyèman, kèk reyalite sou enfrastrikti nou an. Kantite itilizatè aktif nan baz done a se apeprè 15 mil. Volim tout baz done pwodiktif, ki gen ladan kopi ak sibstiti, se 600 TB, pi gwo baz done a se 16,5 TB. An menm tan an, yo toujou ap ranpli baz done yo: pandan dènye ane a sèlman, yo te ajoute apeprè 120 TB done pwodiktif. Sistèm nan mache ak 150 sèvè devan sou platfòm la x86. Baz done yo òganize sou 21 serveurs platfòm IBM.

Ki jan yo fè zanmi ant sistèm bankè Progress OpenEdge ak DBMS Oracle
Sistèm front-end, divès sistèm bankè debaz ak sèvis bankè yo entegre ak OpenEdge Progress (BISCUIT IBS) atravè otobis Sonic ESB la. Téléchargement done nan QCD fèt nan echanj dosye. Jiska yon sèten pwen nan tan, solisyon sa a te gen de gwo pwoblèm nan yon fwa - pèfòmans ki ba nan telechaje enfòmasyon nan yon depo done antrepriz (CDW) ak yon tan long pou fè rekonsilyasyon done (rekonsilyasyon) ak lòt sistèm.
Ki jan yo fè zanmi ant sistèm bankè Progress OpenEdge ak DBMS Oracle
Se poutèt sa, nou te kòmanse chèche yon zouti ki ta ka akselere pwosesis sa yo. Solisyon pou tou de pwoblèm yo se te nouvo pwodwi Progress OpenEdge - Pro2 CDC (Change Data Capture). Se konsa, ann kòmanse.

Enstale Progress OpenEdge ak Pro2Oracle

Pou kouri Pro2 Oracle sou òdinatè Windows administratè a, li ase pou enstale Progress OpenEdge Developer Kit Classroom Edition, ki kapab telechaje pou gratis. Anyè enstalasyon defo OpenEdge:

DLC: C: ProgressOpenEdge
WRK: C:OpenEdgeWRK

Pwosesis ETL mande pou lisans Progress OpenEdge vèsyon 11.7+ - sètadi OE DataServer pou Oracle ak 4GL Development System. Lisans sa yo enkli ak Pro2 la. Pou operasyon konplè DataServer pou Oracle ak yon baz done aleka Oracle, Full Oracle Client enstale.

Sou sèvè Oracle a ou bezwen enstale Oracle Database 12+, kreye yon baz done vid epi ajoute yon itilizatè (an nou rele l '). CDC).

Pou enstale Pro2Oracle, telechaje dènye distribisyon an nan sant telechajman an Lojisyèl Pwogrè. Depake achiv la nan yon anyè C:Pro2 (Pou konfigirasyon Pro2 sou Unix, yo itilize menm distribisyon an epi yo aplike menm prensip konfigirasyon yo).

Kreye yon baz done replikasyon cdc

Replikasyon baz done cdc (repl) Yo itilize Pro2 pou estoke enfòmasyon konfigirasyon, ki gen ladan kat replikasyon an, non baz done replike ak tab yo. Li genyen tou yon keu replikasyon, ki fòme ak nòt sou lefèt ke yon ranje tab nan baz done sous la te chanje. Done ki soti nan keu replikasyon an itilize pa pwosesis ETL pou idantifye ranje ki bezwen kopye nan Oracle nan baz done sous la.

Nou ap kreye yon baz done cdc separe.

Pwosedi pou kreye yon baz done

  1. Sou sèvè baz done a nou kreye yon anyè pou baz done cdc - pou egzanp, sou sèvè a /database/cdc/.
  2. Kreye yon egare pou baz done cdc la: prokopi $DLC/cdc vid
  3. Pèmèt sipò pou gwo dosye: proutil cdc -C EnableLargeFiles
  4. Nou prepare yon script pou kòmanse baz done cdc la. Paramèt yo kòmanse dwe sanble ak paramèt yo kòmanse nan baz done a replike.
  5. Nou kòmanse baz done cdc la.
  6. Konekte nan baz done cdc la epi chaje chema Pro2 nan dosye a cdc.df, ki enkli ak Pro2 la.
  7. Nou kreye itilizatè sa yo nan baz done cdc la:

pro2adm - pou konekte nan panèl administratif Pro2 la;
pro2etl - pou konekte pwosesis ETL (ReplBatch);
pro2cdc - pou konekte pwosesis CDC (CDCBatch);

Aktive OpenEdge Change Data Capture

Koulye a, kite a vire sou mekanis nan CDC tèt li, avèk èd nan ki done yo pral repwodui nan yon zòn teknoloji adisyonèl. Nan chak baz done sous Progress OpenEdge, ou bezwen ajoute zòn depo separe kote done sous yo pral kopi, epi aktive mekanis nan tèt li lè l sèvi avèk lòd la. proutil.

Egzanp pwosedi pou baz done bisquit la

  1. Kopi nan katalòg la C: Pro2db файл cdcadd.st nan anyè baz done sous bisquit la.
  2. Nou dekri nan cdcadd.st limit gwosè fiks pou rejyon yo "ReplCDCArea" и "ReplCDCArea_IDX". Ou ka ajoute nouvo zòn depo sou entènèt: prostrct addonline bisquit cdcadd.st
  3. Aktive OpenEdge CDC:
    proutil bisquit -C enablecdc zòn "ReplCDCArea" indexarea "ReplCDCArea_IDX"
  4. Itilizatè sa yo dwe kreye nan baz done sous la pou idantifye pwosesis k ap kouri:
    a. pro2adm - pou konekte nan panèl administratif Pro2.
    b. pro2etl - pou konekte pwosesis ETL (ReplBatch).
    c. pro2cdc - pou konekte pwosesis CDC (CDCBatch).

Kreye yon Holder Schema pou DataServer pou Oracle

Apre sa, nou bezwen kreye yon baz done Schema Holder sou sèvè a kote done ki soti nan DBMS Pwogrè yo pral repwodui nan DBMS Oracle la. DataServer Schema Holder se yon baz done vid Progress OpenEdge san itilizatè oswa done aplikasyon, ki gen yon kat korespondans ant tab sous ak tab ekstèn Oracle.

Baz done Schema Holder pou Progress OpenEdge DataServer for Oracle for Pro2 dwe lokalize sou sèvè pwosesis ETL la; li kreye separeman pou chak branch.

Ki jan yo kreye yon Holder Schema

  1. Depake distribisyon Pro2 nan yon anyè /pro2
  2. Kreye epi ale nan anyè a /pro2/dbsh
  3. Kreye yon baz done Schema Holder lè l sèvi avèk lòd la kopye $DLC/vid bisquitsh
  4. Fè konvèsyon an bisquitsh nan kodaj ki nesesè yo - pou egzanp, nan UTF-8 si baz done Oracle gen kodaj UTF-8: proutil bisquitsh -C convchar konvèti UTF-8
  5. Apre kreye yon baz done vid bisquitsh konekte li nan mòd yon sèl itilizatè: pro bisquitsh
  6. Ann ale nan Diksyonè Done: Zouti -> Diksyonè Done -> DataServer -> ORACLE Itilite -> Kreye Schema DataServer
  7. Lanse Schema Holder
  8. Mete kanpe koutye Oracle DataServer la:
    a. Kòmanse AdminServer.
    proadsv -kòmanse
    b. Kòmanse koutye Oracle DataServer la
    oraman -non orabroker1 -kòmanse

Mete kanpe panèl administratif la ak konplo replikasyon

Lè l sèvi avèk panèl administratif Pro2, paramèt Pro2 yo konfigirasyon, ki gen ladan mete konplo replikasyon an ak jenere pwosesis ETL (Bibliyotèk Pwosesè), pwogram prensipal senkronizasyon (Bulk-Copy Processor), deklannche replikasyon ak règleman OpenEdge CDC. Genyen tou zouti prensipal pou kontwole ak jere pwosesis ETL ak CDC. Premye a tout, nou mete kanpe dosye yo paramèt.

Ki jan yo konfigirasyon dosye paramèt

  1. Ale nan katalòg la C:Pro2bpreplScripts
  2. Louvri fichye a pou koreksyon replProc.pf
  3. Ajoute paramèt koneksyon nan baz done replikasyon cdc la:
    # Replikasyon baz done
    -db cdc -ld repl -H <non baz done prensipal la> -S <po koutye baz done cdc>
    -U pro2admin -P <modpas>
  4. Ajoute replProc.pf paramèt koneksyon nan baz done sous ak Schema Holder nan fòm lan nan dosye paramèt. Non fichye paramèt la dwe koresponn ak non baz done sous ke yo te konekte a.
    # Konekte ak tout sous replike BISQUIT
    -pf bpreplscriptsbisquit.pf
  5. Ajoute replProc.pf paramèt pou konekte ak Schema Holder.
    #Target Pro DB Schema Holder
    -db bisquitsh -ld bisquitsh
    -H <Non lame pwosesis ETL>
    -S <biskuitsh koutye pò>
    -db bisquitsql
    -ld bisquitsql
    -dt ORACLE
    -S 5162 -H <Oracle broker hostname>
    -DataService orabroker1
  6. Sove dosye paramèt la replProc.pf
  7. Apre sa, ou bezwen kreye epi louvri pou koreksyon dosye paramèt pou chak baz done sous konekte nan anyè a C:Pro2bpreplScripts: bisquit.pf. Chak fichye pf gen paramèt pou konekte ak baz done ki koresponn lan, pou egzanp:
    -db bisquit -ld bisquit -H <hostname> -S <broker port>
    -U pro2admin -P <modpas>

Pou konfigirasyon rakoursi Windows, ou bezwen ale nan anyè a C:Pro2bpreplScripts epi edite chemen kout "Pro2 - Administrasyon". Pou fè sa, louvri pwopriyete yo nan chemen kout la ak nan liy lan Kòmanse nan endike anyè enstalasyon Pro2 la. Yon operasyon menm jan an dwe fè pou rakoursi "Pro2 - Editè" ak "RunBulkLoader".

Enstalasyon Administrasyon Pro2: Chaje Inisyal Konfigirasyon

Ann lanse konsole a.

Ki jan yo fè zanmi ant sistèm bankè Progress OpenEdge ak DBMS Oracle

Ale nan "DB Map".

Ki jan yo fè zanmi ant sistèm bankè Progress OpenEdge ak DBMS Oracle

Pou konekte baz done nan Pro2 - Administrasyon, ale nan tab la Kat jeyografik DB. Ajoute kat baz done sous - Schema Holder - Oracle.

Ki jan yo fè zanmi ant sistèm bankè Progress OpenEdge ak DBMS Oracle

Ale nan tab Transfòmasyon. Ki nan lis Sous baz done Pa default, yo chwazi premye baz done sous konekte. Sou bò dwat lis la ta dwe gen yon inscription Tout baz done konekte — baz done yo chwazi yo konekte. Anba sou bò gòch la ou ta dwe wè yon lis Tablo Pwogrè soti nan bisquit. Sou bò dwat la se yon lis tab ki soti nan baz done Oracle.

Kreye chema SQL ak baz done nan Oracle

Pou kreye yon kat replikasyon, ou dwe premye jenere SQL chema nan Oracle. Nan Administrasyon Pro2 nou egzekite atik meni an Zouti -> Jenere Kòd -> Schema sib, Lè sa a, nan bwat dyalòg la Chwazi baz done chwazi youn oswa plis baz done sous epi deplase yo sou bò dwat la.

Ki jan yo fè zanmi ant sistèm bankè Progress OpenEdge ak DBMS Oracle

Klike sou OK epi chwazi anyè a pou konsève pou chema SQL yo.

Apre sa, nou kreye baz la. Sa a ka fè, pou egzanp, atravè Oracle SQL Developer. Pou fè sa, nou konekte nan baz done a Oracle epi chaje chema a pou ajoute tab. Apre w fin chanje konpozisyon tab Oracle, ou bezwen mete ajou chemas SQL yo nan Schema Holder la.

Ki jan yo fè zanmi ant sistèm bankè Progress OpenEdge ak DBMS Oracle

Apre telechajman an fini avèk siksè, sòti baz done bisquitsh la epi louvri panèl administratif Pro2 la. Tablo ki soti nan baz done Oracle ta dwe parèt sou tab la Kat sou bò dwat la.

Tablo kat

Pou kreye yon kat replikasyon, nan panèl administratif Pro2 a, ale nan tab la Kat epi chwazi baz done sous la. Klike sou Map Tables, chwazi Chwazi Chanjman sou bò gòch tab yo ki ta dwe repwodui nan Oracle, deplase yo sou bò dwat epi konfime seleksyon an. Y ap kreye yon kat otomatikman pou tab yo chwazi yo. Nou repete operasyon an pou kreye yon kat replikasyon pou lòt baz done sous.

Ki jan yo fè zanmi ant sistèm bankè Progress OpenEdge ak DBMS Oracle

Jenerasyon Pro2 Replication Processor Library ak Bulk-Copy Processor Programs

Bibliyotèk Replication Processor la fèt pou pwosesis replikasyon koutim (ETL) ki trete keu replikasyon Pro2 epi pouse chanjman nan baz done Oracle la. Pwogram bibliyotèk prosesè repplikasyon yo otomatikman sove nan anyè a apre jenerasyon bprepl/repl_proc (paramèt PROC_DIRECTORY). Pou jenere bibliyotèk processeur replikasyon an, ale nan Zouti -> Jenere Kòd -> Bibliyotèk Processeur. Apre jenerasyon an fini, pwogram yo ap parèt nan anyè a bprepl/repl_proc.

Yo itilize pwogram Bulk Load Processor pou senkronize baz done sous Progress ak baz done Oracle sib ki baze sou langaj pwogram Progress ABL (4GL). Pou jenere yo, ale nan atik meni an Zouti -> Jenere Kòd -> Bulk-Kopi Processeur. Nan bwat dyalòg Chwazi baz done a, chwazi baz done sous yo, deplase yo sou bò dwat fenèt la epi klike sou OK. Apre jenerasyon an fini, pwogram yo ap parèt nan anyè a bpreplrepl_mproc.

Mete kanpe pwosesis replikasyon nan Pro2

Divize tab yo an seri ki sèvi ak yon fil replikasyon separe amelyore pèfòmans ak efikasite Pro2 Oracle. Pa default, tout koneksyon ki te kreye nan kat replikasyon an pou nouvo tab replikasyon yo asosye ak nimewo fil 1. Li rekòmande pou separe tab yo an fil diferan.

Enfòmasyon sou estati fil replikasyon yo parèt sou ekran Administrasyon Pro2 la nan tab la Siveyans nan seksyon Estati Replikasyon an. Ou ka jwenn yon deskripsyon detaye sou valè paramèt yo nan dokiman Pro2 (anyè C:Pro2Docs).

Kreye ak aktive règleman CDC yo

Règleman yo se yon seri règ pou motè OpenEdge CDC pou kontwole chanjman nan tab yo. Nan moman sa a, Pro2 sèlman sipòte règleman CDC ak nivo 0, se sa ki, se sèlman reyalite kontwole dosye chanjman.

Pou kreye yon politik CDC, sou panèl administratif la, ale nan tab la Kat, chwazi baz done sous la epi klike sou bouton Add/Remove Policies. Nan fenèt Chwazi Chanjman ki ouvri, chwazi sou bò gòch la epi deplase sou bò dwat tab ou bezwen kreye oswa efase yon politik CDC.

Pou aktive, louvri tab la Kat ankò, chwazi baz done sous la epi klike sou bouton an (An) Aktive Règleman. Chwazi epi deplase sou bò dwat tab la règleman yo ki bezwen aktive, klike sou OK. Apre sa, yo make an vèt. Lè w itilize (An) Aktive Règleman Ou kapab tou dezaktive règleman CDC yo. Tout tranzaksyon yo fèt sou entènèt.

Ki jan yo fè zanmi ant sistèm bankè Progress OpenEdge ak DBMS Oracle

Apre politik CDC la aktive, nòt sou dosye modifye yo sove nan zòn depo a "ReplCDCArea" dapre baz done sous la. Nòt sa yo pral trete atravè yon pwosesis espesyal CDCBatch, ki baze sou yo pral kreye nòt nan keu replikasyon Pro2 nan baz done a cdc (repl).

Kidonk, nou gen de ke moun kap kriye pou replikasyon. Premye etap la se CDCBatch: soti nan baz done sous la, done yo ale an premye nan baz done CDC entèmedyè a. Dezyèm etap la se lè done yo transfere soti nan baz done CDC a nan Oracle. Sa a se yon karakteristik nan achitekti aktyèl la ak pwodwi nan tèt li - byen lwen tèlman devlopè yo pa te kapab etabli replikasyon dirèk.

Prensipal senkronizasyon

Apre pèmèt mekanis CDC a ak mete kanpe sèvè replikasyon Pro2 a, nou bezwen kòmanse senkronizasyon inisyal la. Premye lòd senkronizasyon:

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

Apre senkronizasyon inisyal la fini, pwosesis replikasyon yo ka kòmanse.

Kòmanse nan pwosesis replikasyon

Pou kòmanse pwosesis replikasyon ou bezwen kouri yon script replbatch.sh. Anvan w kòmanse, asire w ke gen scripts replbatch pou tout fil - replbatch1, replbatch2, elatriye. Si tout bagay an plas, louvri liy lòd la (pa egzanp, pwoenv), ale nan anyè a /bprepl/scripts epi kòmanse script la. Nan panèl administratif la, nou tcheke si pwosesis korespondan an te resevwa estati RUNNING la.

Ki jan yo fè zanmi ant sistèm bankè Progress OpenEdge ak DBMS Oracle

Jwenn

Ki jan yo fè zanmi ant sistèm bankè Progress OpenEdge ak DBMS Oracle
Apre aplikasyon an, nou akselere anpil upload enfòmasyon nan depo done antrepriz la. Done yo otomatikman antre nan Oracle sou entènèt. Pa gen okenn nesesite pou gaspiye tan kouri kèk demann ki dire lontan pou kolekte done ki soti nan diferan sistèm. Anplis de sa, nan solisyon sa a pwosesis replikasyon an ka konprese done, ki tou gen yon efè pozitif sou vitès. Koulye a, chak jou rekonsilyasyon nan sistèm BISKVIT ak lòt sistèm yo te kòmanse pran 15-20 minit olye pou yo 2-2,5 èdtan, ak yon rekonsilyasyon konplè te pran plizyè èdtan olye pou yo de jou.

Sous: www.habr.com

Add nouvo kòmantè