Kumaha carana sangkan babaturan antara Kamajuan OpenEdge sistem perbankan sarta Oracle DBMS

Kusabab 1999, pikeun ngalayanan kantor tukang, bank kami parantos nganggo sistem perbankan terpadu BISKVIT dina platform Progress OpenEdge, anu seueur dianggo di sakumna dunya, kalebet dina sektor kauangan. Kinerja DBMS ieu ngidinan Anjeun pikeun maca nepi ka sajuta atawa leuwih rékaman per detik dina hiji database (DB). Ladenan Progress OpenEdge kami ngeunaan 1,5 juta deposit individu sareng sakitar 22,2 juta kontrak pikeun produk aktip (injeuman mobil sareng hipotik), sareng ogé tanggung jawab pikeun sadaya padumukan sareng régulator (Bank Pusat) sareng SWIFT.

Kumaha carana sangkan babaturan antara Kamajuan OpenEdge sistem perbankan sarta Oracle DBMS

Ngagunakeun Progress OpenEdge, kami disanghareupan ku kabutuhan sangkan eta dianggo ku Oracle DBMS. Mimitina, kebat ieu mangrupikeun bottleneck infrastruktur urang - dugi ka urang dipasang sareng ngonpigurasi Pro2 CDC - produk Progress anu ngamungkinkeun anjeun ngirim data tina Progress DBMS ka Oracle DBMS langsung, online. Dina postingan ieu kami bakal nyarioskeun ka anjeun sacara rinci, kalayan sagala pitfalls, kumaha carana ngadamel babaturan sacara efektif antara OpenEdge sareng Oracle.

Kumaha kajadianana: unggah data ka QCD via file sharing

Kahiji, sababaraha fakta ngeunaan infrastruktur urang. Jumlah pamaké aktip database nyaeta ngeunaan 15 sarébu. Volume sadaya basis data produktif, kaasup réplika jeung sayaga, nyaéta 600 TB, database pangbadagna nyaéta 16,5 TB. Dina waktos anu sami, pangkalan data terus-terusan dieusi deui: dina taun kamari waé, sakitar 120 TB data produktif parantos ditambah. Sistim ieu Powered by 150 server hareup dina platform x86. Basis data disimpen dina 21 server platform IBM.

Kumaha carana sangkan babaturan antara Kamajuan OpenEdge sistem perbankan sarta Oracle DBMS
Sistem hareup-tungtung, rupa sistem perbankan inti jeung jasa perbankan anu terpadu kalayan OpenEdge kamajuan (BISCUIT KIBS) via beus Sonic ESB. Ngunggah data ka QCD lumangsung ngaliwatan bursa file. Nepi ka titik waktu nu tangtu, leyuran ieu miboga dua masalah badag sakaligus - kinerja low tina unggah informasi kana gudang data perusahaan (CDW) jeung lila pikeun ngalakukeun rekonsiliasi data (rekonsiliasi) jeung sistem lianna.
Kumaha carana sangkan babaturan antara Kamajuan OpenEdge sistem perbankan sarta Oracle DBMS
Ku alatan éta, urang mimitian néangan alat nu bisa ngagancangkeun prosés ieu. Solusi pikeun duanana masalah éta produk Progress OpenEdge anyar - Pro2 CDC (Robah Capture Data). Ku kituna, hayu urang mimitian.

Pasang Progress OpenEdge sareng Pro2Oracle

Pikeun ngajalankeun Pro2 Oracle dina komputer Windows administrator, cukup masang Progress OpenEdge Developer Kit Classroom Edition, anu tiasa скачать haratis. Diréktori pamasangan OpenEdge standar:

DLC: C: ProgressOpenEdge
WRK: C: OpenEdgeWRK

Prosés ETL ngabutuhkeun lisénsi Progress OpenEdge versi 11.7+ - nyaéta OE DataServer pikeun Oracle sareng 4GL Development System. Lisensi ieu kalebet sareng Pro2. Pikeun operasi pinuh ku DataServer pikeun Oracle kalawan database Oracle jauh, pinuh Oracle klien dipasang.

Dina server Oracle anjeun kedah pasang Oracle Database 12+, jieun database kosong sareng tambahkeun pangguna (hayu urang nelepon anjeunna. cdc).

Pikeun masang Pro2Oracle, unduh distribusi panganyarna tina pusat undeuran Software kamajuan. Buka bungkus arsip kana diréktori C: Pro2 (Pikeun ngonpigurasikeun Pro2 dina Unix, distribusi anu sami dianggo sareng prinsip konfigurasi anu sami dianggo).

Nyieun database réplikasi cdc

database réplikasi cdc (repl) Pro2 dipaké pikeun nyimpen informasi konfigurasi, kaasup peta réplikasi, ngaran database replicated sarta tabel maranéhanana. Ogé ngandung antrian réplikasi, diwangun ku catetan ngeunaan kanyataan yén baris tabel dina database sumber geus robah. Data tina antrian réplikasi digunakeun ku prosés ETL pikeun ngaidentipikasi barisan anu kedah disalin ka Oracle tina pangkalan data sumber.

Urang nyieun database cdc misah.

Prosedur pikeun nyieun database

  1. Dina server database urang nyieun hiji diréktori pikeun database cdc - contona, dina server /database/cdc/.
  2. Jieun dummy pikeun database cdc: procopy $ DLC / cdc kosong
  3. Aktipkeun dukungan pikeun file ageung: proutil cdc -C EnableLargeFiles
  4. Urang nyiapkeun naskah pikeun ngamimitian database cdc. Parameter mimiti kudu sarua jeung parameter mimiti database replicated.
  5. Urang ngamimitian database cdc.
  6. Nyambung ka database cdc jeung beban skéma Pro2 tina file cdc.df, anu kalebet sareng Pro2.
  7. Urang nyieun pamaké handap dina database cdc:

pro2adm - pikeun nyambungkeun ti panel administrasi Pro2;
pro2etl - pikeun nyambungkeun prosés ETL (ReplBatch);
pro2cdc - pikeun nyambungkeun prosés CDC (CDCBatch);

Ngaktipkeun OpenEdge Robah Data Capture

Ayeuna hayu urang hurungkeun mékanisme CDC sorangan, kalayan bantosan data mana anu bakal direplikasi ka daérah téknologi tambahan. Pikeun unggal database sumber Progress OpenEdge, anjeun kedah nambihan tempat panyimpen anu misah dimana data sumber bakal diduplikasi, sareng aktipkeun mékanisme sorangan nganggo paréntah. proutil.

Conto prosedur pikeun database bisquit

  1. Niron tina katalog C: Pro2db file cdcadd.st kana diréktori database sumber bisquit.
  2. Urang ngajelaskeun dina cdcadd.st extents ukuran tetep pikeun wewengkon "ReplCDCArea" и "ReplCDCArea_IDX". Anjeun tiasa nambihan tempat panyimpen énggal sacara online: prostrct addonline bisquit cdcadd.st
  3. Aktipkeun OpenEdge CDC:
    proutil bisquit -C enablecdc aréa "ReplCDCArea" indexarea "ReplCDCArea_IDX"
  4. Pamaké di handap ieu kedah didamel dina pangkalan data sumber pikeun ngaidentipikasi prosés anu ngajalankeun:
    a. pro2adm - pikeun nyambungkeun ti panel administrasi Pro2.
    b. pro2etl - pikeun nyambungkeun prosés ETL (ReplBatch).
    c. pro2cdc - pikeun nyambungkeun prosés CDC (CDCBatch).

Nyiptakeun Panyekel Skéma pikeun DataServer pikeun Oracle

Salajengna, urang kedah nyiptakeun database Holder Schema dina server dimana data tina Progress DBMS bakal direplikasi kana Oracle DBMS. Panyekel skéma DataServer mangrupikeun database Progress OpenEdge kosong tanpa pangguna atanapi data aplikasi, anu ngandung peta korespondensi antara tabel sumber sareng tabel Oracle éksternal.

Pangkalan data Panyekel Skema pikeun Progress OpenEdge DataServer pikeun Oracle pikeun Pro2 kedah aya dina server prosés ETL; éta didamel nyalira pikeun tiap cabang.

Kumaha cara nyiptakeun Panyekel Skéma

  1. Buka bungkus distribusi Pro2 kana diréktori /pro2
  2. Jieun tur buka diréktori /pro2/dbsh
  3. Jieun database Holder Schema ngagunakeun paréntah nyalin $ DLC / bisquitsh kosong
  4. Ngalaksanakeun konvérsi biskuit kana encoding diperlukeun - contona, dina UTF-8 lamun database Oracle boga UTF-8 encoding: proutil bisquitsh -C convchar ngarobah UTF-8
  5. Sanggeus nyieun database kosong biskuit sambungkeun kana modeu pangguna tunggal: pro bisquitsh
  6. Hayu urang buka Kamus Data: Parabot -> Kamus Data -> DataServer -> Utiliti ORACLE -> Jieun Skema DataServer
  7. Ngajalankeun Schema Holder
  8. Nyetél calo Oracle DataServer:
    a. Mimitian AdminServer.
    proadsv -mimitian
    b. Mimitian calo Oracle DataServer
    oraman -ngaran orabroker1 -mimitian

Nyetél panel administrasi sareng skéma réplikasi

Ngagunakeun panel administrasi Pro2, parameter Pro2 ngonpigurasi, kaasup nyetel skéma réplikasi jeung generating prosés ETL (Processor Library), program sinkronisasi primér (Bulk-Copy Processor), micu réplikasi jeung kawijakan OpenEdge CDC. Aya ogé alat primér pikeun ngawaskeun sareng ngatur prosés ETL sareng CDC. Anu mimiti, urang nyetél file parameter.

Kumaha ngonpigurasikeun file parameter

  1. Pindah ka katalog C:Pro2bpreplScripts
  2. Buka file pikeun ngédit replProc.pf
  3. Tambahkeun parameter sambungan kana database réplikasi cdc:
    # Database réplikasi
    -db cdc -ld repl -H <hostname database utama> -S <portal calo database cdc>
    -U pro2admin -P <sandi>
  4. Tambihkeun kana replProc.pf parameter sambungan kana basis data sumber na Schema Holder dina bentuk file parameter. Ngaran file parameter kedah cocog sareng nami database sumber anu disambungkeun.
    # Sambungkeun ka sadaya sumber anu direplikasi BISQUIT
    -pf bpreplscriptsbisquit.pf
  5. Tambihkeun kana replProc.pf parameter pikeun nyambungkeun ka Schema Holder.
    #Target Pro DB Schema Holder
    -db bisquitsh -ld bisquitsh
    -H <Ngaran host prosés ETL>
    -S <port calo biskuitsh>
    -db bisquitsql
    -ld bisquitsql
    -dt ORACLE
    -S 5162 -H <Ngaran host calo Oracle>
    -DataService orabroker1
  6. Simpen file parameter replProc.pf
  7. Salajengna, anjeun kedah nyiptakeun sareng muka pikeun ngédit file parameter pikeun unggal pangkalan data sumber anu nyambung dina diréktori C:Pro2bpreplScripts: bisquit.pf. Tiap file pf ngandung parameter pikeun nyambungkeun ka database pakait, contona:
    -db bisquit -ld bisquit -H <hostname> -S <broker port>
    -U pro2admin -P <sandi>

Pikeun ngonpigurasikeun potong kompas Windows, anjeun kedah angkat ka diréktori C:Pro2bpreplScripts sareng édit potong kompas "Pro2 - Administrasi". Jang ngalampahkeun ieu, buka sipat potong kompas jeung dina garis Mimitian di nunjukkeun diréktori instalasi Pro2. Operasi anu sami kedah dilakukeun pikeun potong kompas "Pro2 - Editor" sareng "RunBulkLoader".

Setup Administrasi Pro2: Ngamuat Konfigurasi Awal

Hayu urang ngajalankeun konsol.

Kumaha carana sangkan babaturan antara Kamajuan OpenEdge sistem perbankan sarta Oracle DBMS

Pindah ka "Peta DB".

Kumaha carana sangkan babaturan antara Kamajuan OpenEdge sistem perbankan sarta Oracle DBMS

Pikeun ngaitkeun pangkalan data dina Pro2 - Administrasi, angkat ka tab Peta DB. Tambahkeun pemetaan basis data sumber - Panyekel skéma - Oracle.

Kumaha carana sangkan babaturan antara Kamajuan OpenEdge sistem perbankan sarta Oracle DBMS

Pindah ka tab Mapping. Didaptarkeun Sumber databés Sacara standar, database sumber disambungkeun munggaran dipilih. Di katuhu daptar kedah aya prasasti Sadaya pangkalan data disambungkeun — pangkalan data anu dipilih disambungkeun. Handap on kénca anjeun kudu ningali daptar kamajuan tabel ti bisquit. Di katuhu nyaéta daptar tabel tina database Oracle.

Nyiptakeun skéma SQL sareng pangkalan data di Oracle

Pikeun nyieun peta réplikasi, Anjeun mimitina kudu ngahasilkeun Skéma SQL dina Oracle. Dina Administrasi Pro2 urang ngaéksekusi item menu Parabot -> Ngahasilkeun Kode -> Skéma Target, teras dina kotak dialog Pilih Basis Data pilih hiji atawa leuwih basis data sumber tur pindah ka katuhu.

Kumaha carana sangkan babaturan antara Kamajuan OpenEdge sistem perbankan sarta Oracle DBMS

Klik OK tur pilih diréktori pikeun nyimpen schemas SQL.

Salajengna urang nyieun dasar. Ieu bisa dipigawé, contona, via Pamekar Oracle SQL. Jang ngalampahkeun ieu, urang sambungkeun kana database Oracle tur muka skéma pikeun nambahkeun tabel. Sanggeus ngarobah komposisi tabel Oracle, Anjeun kudu ngamutahirkeun skéma SQL dina Holder Schema.

Kumaha carana sangkan babaturan antara Kamajuan OpenEdge sistem perbankan sarta Oracle DBMS

Saatos unduhan parantos réngsé, kaluar tina database bisquitsh sareng buka panel administrasi Pro2. Tabél tina database Oracle kedah muncul dina tab Mapping di sisi katuhu.

Pemetaan méja

Pikeun nyieun peta réplikasi, dina panel administrasi Pro2, buka tab Mapping tur pilih database sumber. Klik dina Peta Tables, pilih Pilih Parobahan dina kénca tabel nu kudu replicated di Oracle, pindah ka katuhu jeung mastikeun seleksi. Hiji peta bakal otomatis dijieun pikeun tabel dipilih. Urang ngulang operasi pikeun nyieun peta réplikasi pikeun database sumber séjén.

Kumaha carana sangkan babaturan antara Kamajuan OpenEdge sistem perbankan sarta Oracle DBMS

Ngahasilkeun Perpustakaan Prosés Réplikasi Pro2 sareng Program Prosesor Salin Bulk

Perpustakaan prosésor réplikasi dirancang pikeun prosés réplikasi custom (ETLs) nu ngolah antrian réplikasi Pro2 sarta nyorong parobahan database Oracle. Program perpustakaan prosésor réplikasi otomatis disimpen dina diréktori saatos generasi bprepl/repl_proc (parameter PROC_DIRECTORY). Pikeun ngahasilkeun perpustakaan prosésor réplikasi, buka Parabot -> Generate Code -> Library Processor. Saatos generasi réngsé, program bakal muncul dina diréktori bprepl/repl_proc.

Program Bulk Load Processor dipaké pikeun nyingkronkeun basis data Progress sumber jeung database Oracle target dumasar kana basa program Progress ABL (4GL). Pikeun ngahasilkeun aranjeunna, angkat ka item ménu Parabot -> Generate Code -> Bulk-Copy Processor. Dina kotak dialog Pilih Database, pilih basis data sumber, pindahkeun ka sisi katuhu jandela teras klik OK. Saatos generasi réngsé, program bakal muncul dina diréktori bpreplrepl_mproc.

Nyetél prosés réplikasi dina Pro2

Ngabagi tabel kana set anu dilayanan ku benang réplikasi anu misah ningkatkeun kinerja sareng efisiensi Pro2 Oracle. Sacara standar, sadaya sambungan dijieun dina peta réplikasi pikeun tabel réplikasi anyar pakait sareng nomer thread 1. Disarankeun misahkeun tabel kana threads béda.

Inpormasi ngeunaan status benang réplikasi dipintonkeun dina layar Administrasi Pro2 dina tab Monitor dina bagian Status Replikasi. Katerangan lengkep ngeunaan nilai parameter tiasa dipendakan dina dokuméntasi Pro2 (diréktori C:Pro2Docs).

Jieun sareng aktipkeun kawijakan CDC

Kawijakan nyaéta sakumpulan aturan pikeun mesin OpenEdge CDC pikeun ngawas parobahan tabel. Dina waktos nyerat, Pro2 ngan ukur ngadukung kawijakan CDC kalayan tingkat 0, nyaéta, ngan ukur kanyataan anu diawaskeun parobahan catetan.

Pikeun nyieun kawijakan CDC, dina panel administratif, buka tab Mapping, pilih database sumber tur klik dina Tambah / Cabut Kawijakan tombol. Dina jandela Pilih Parobahan nu muka, pilih di sisi kénca jeung pindah ka katuhu tabel nu Anjeun kudu nyieun atawa ngahapus kawijakan CDC.

Pikeun ngaktipkeun, buka tab Mapping deui, pilih database sumber teras klik dina tombol (Dina)Kabijakan Aktipkeun. Pilih jeung pindah ka sisi katuhu tabel kawijakan nu kudu diaktipkeun, klik OKÉ. Sanggeus ieu aranjeunna ditandaan héjo. Ku ngagunakeun (Dina)Kabijakan Aktipkeun Anjeun ogé tiasa nganonaktipkeun kawijakan CDC. Sadaya transaksi dilaksanakeun online.

Kumaha carana sangkan babaturan antara Kamajuan OpenEdge sistem perbankan sarta Oracle DBMS

Saatos kawijakan CDC diaktipkeun, catetan ngeunaan rékaman anu dirobih disimpen ka tempat panyimpen "ReplCDCArea" nurutkeun sumber database. Catetan ieu bakal diolah ngaliwatan prosés husus CDCBatch, nu dumasar kana eta bakal nyieun catetan dina antrian réplikasi Pro2 dina database cdc (repl).

Ku kituna, urang boga dua antrian pikeun réplikasi. Tahap kahiji nyaéta CDCBatch: tina pangkalan data sumber, data mimiti asup ka pangkalan data CDC panengah. Tahap kadua nyaéta nalika data ditransfer tina database CDC ka Oracle. Ieu mangrupikeun fitur tina arsitéktur ayeuna sareng produkna sorangan - sajauh ieu pamekar henteu tiasa ngadamel réplikasi langsung.

Sinkronisasi primér

Saatos ngaktipkeun mékanisme CDC sareng nyetél server réplikasi Pro2, urang kedah ngamimitian sinkronisasi awal. Paréntah sinkronisasi awal:

/pro2/bprepl/Script/replLoad.sh bisquit méja-ngaran

Saatos sinkronisasi awal réngsé, prosés réplikasi tiasa dimimitian.

Mimitian prosés réplikasi

Pikeun ngamimitian prosés réplikasi anjeun kedah ngajalankeun skrip replbatch.sh. Sateuacan ngawitan, pastikeun yén aya skrip replbatch pikeun sakabéh threads - replbatch1, replbatch2, jsb. Upami sadayana parantos aya, buka baris paréntah (contona, proenv), buka diréktori /bprepl/skrip tur mimitian naskah. Dina panel administratif, urang pariksa yen prosés pakait geus narima status RUNNING.

Kumaha carana sangkan babaturan antara Kamajuan OpenEdge sistem perbankan sarta Oracle DBMS

Hasil

Kumaha carana sangkan babaturan antara Kamajuan OpenEdge sistem perbankan sarta Oracle DBMS
Saatos palaksanaan, kami pisan gancangan unggah inpormasi ka gudang data perusahaan. Data sacara otomatis asup kana Oracle online. Teu perlu runtah waktu ngajalankeun sababaraha queries lila-ngajalankeun pikeun ngumpulkeun data tina sistem béda. Sajaba ti éta, dina leyuran ieu prosés réplikasi bisa niiskeun data, nu ogé boga pangaruh positif kana speed. Ayeuna rekonsiliasi poéan sistem BISKVIT kalawan sistem lianna mimiti nyandak 15-20 menit tinimbang 2-2,5 jam, sarta rekonsiliasi lengkep nyandak sababaraha jam tinimbang dua poé.

sumber: www.habr.com

Tambahkeun komentar