Cara berteman antara sistem perbankan Progress OpenEdge dan Oracle DBMS

Sejak tahun 1999, untuk melayani back office, bank kami telah menggunakan sistem perbankan terintegrasi BISKVIT pada platform Progress OpenEdge, yang banyak digunakan di seluruh dunia, termasuk di sektor keuangan. Kinerja DBMS ini memungkinkan Anda membaca hingga satu juta atau lebih record per detik dalam satu database (DB). Progress OpenEdge kami melayani sekitar 1,5 juta simpanan individu dan sekitar 22,2 juta kontrak untuk produk aktif (pinjaman mobil dan hipotek), dan juga bertanggung jawab atas semua penyelesaian dengan regulator (Bank Sentral) dan SWIFT.

Cara berteman antara sistem perbankan Progress OpenEdge dan Oracle DBMS

Dengan menggunakan Progress OpenEdge, kami dihadapkan pada kebutuhan untuk membuatnya berfungsi dengan Oracle DBMS. Awalnya, bundel ini merupakan penghambat infrastruktur kami - hingga kami menginstal dan mengkonfigurasi Pro2 CDC - produk Progress yang memungkinkan Anda mengirim data dari Progress DBMS ke Oracle DBMS secara langsung, online. Dalam posting ini kami akan memberi tahu Anda secara rinci, dengan semua kendalanya, cara berteman secara efektif antara OpenEdge dan Oracle.

Bagaimana kejadiannya: mengunggah data ke QCD melalui file sharing

Pertama, beberapa fakta tentang infrastruktur kita. Jumlah pengguna aktif database tersebut kurang lebih 15 ribu. Volume seluruh database produktif, termasuk replika dan standby, adalah 600 TB, database terbesar adalah 16,5 TB. Pada saat yang sama, database terus diperbarui: selama setahun terakhir saja, sekitar 120 TB data produktif telah ditambahkan. Sistem ini didukung oleh 150 server depan pada platform x86. Basis data dihosting di 21 server platform IBM.

Cara berteman antara sistem perbankan Progress OpenEdge dan Oracle DBMS
Sistem front-end, berbagai sistem perbankan inti, dan layanan perbankan terintegrasi dengan OpenEdge Progress (BISCUIT IBS) melalui bus Sonic ESB. Pengunggahan data ke QCD terjadi melalui pertukaran file. Hingga titik waktu tertentu, solusi tersebut memiliki dua masalah besar sekaligus - rendahnya kinerja pengunggahan informasi ke gudang data perusahaan (CDW) dan lamanya waktu untuk melakukan rekonsiliasi data (rekonsiliasi) dengan sistem lain.
Cara berteman antara sistem perbankan Progress OpenEdge dan Oracle DBMS
Oleh karena itu, kami mulai mencari alat yang dapat mempercepat proses tersebut. Solusi untuk kedua masalah tersebut adalah produk Progress OpenEdge yang baru – Pro2 CDC (Change Data Capture). Jadi, mari kita mulai.

Instal Kemajuan OpenEdge dan Pro2Oracle

Untuk menjalankan Pro2 Oracle di komputer Windows administrator, cukup menginstal Progress OpenEdge Developer Kit Classroom Edition, yang dapat mendownload gratis. Direktori instalasi OpenEdge default:

DLC: C:KemajuanOpenEdge
WRK: C:OpenEdgeWRK

Proses ETL memerlukan lisensi Progress OpenEdge versi 11.7+ - yaitu OE DataServer untuk Oracle dan 4GL Development System. Lisensi ini disertakan dengan Pro2. Untuk pengoperasian penuh DataServer untuk Oracle dengan database Oracle jarak jauh, Klien Oracle Penuh diinstal.

Di server Oracle Anda perlu menginstal Oracle Database 12+, membuat database kosong dan menambahkan pengguna (sebut saja dia cdc).

Untuk menginstal Pro2Oracle, unduh distribusi terbaru dari pusat unduhan Perangkat Lunak Kemajuan. Buka paket arsip ke dalam direktori C:Pro2 (Untuk mengkonfigurasi Pro2 di Unix, distribusi yang sama digunakan dan prinsip konfigurasi yang sama berlaku).

Membuat database replikasi cdc

Basis data replikasi cdc (balas) Pro2 digunakan untuk menyimpan informasi konfigurasi, termasuk peta replikasi, nama database yang direplikasi, dan tabelnya. Ini juga berisi antrian replikasi, yang terdiri dari catatan tentang fakta bahwa baris tabel dalam database sumber telah berubah. Data dari antrian replikasi digunakan oleh proses ETL untuk mengidentifikasi baris yang perlu disalin ke Oracle dari database sumber.

Kami membuat database cdc terpisah.

Prosedur pembuatan database

  1. Di server database kami membuat direktori untuk database cdc - misalnya, di server /database/cdc/.
  2. Buat boneka untuk database cdc: salin $DLC/cdc kosong
  3. Aktifkan dukungan untuk file besar: proutil cdc -C Aktifkan File Besar
  4. Kami menyiapkan skrip untuk memulai database cdc. Parameter awal harus serupa dengan parameter awal database yang direplikasi.
  5. Kami memulai database cdc.
  6. Hubungkan ke database cdc dan muat skema Pro2 dari file cdc.df, yang disertakan dengan Pro2.
  7. Kami membuat pengguna berikut di database cdc:

pro2adm – untuk menghubungkan dari panel administratif Pro2;
pro2etl – untuk menghubungkan proses ETL (ReplBatch);
pro2cdc – untuk menghubungkan proses CDC (CDCBatch);

Mengaktifkan Pengambilan Data Perubahan OpenEdge

Sekarang mari kita aktifkan mekanisme CDC itu sendiri, yang dengannya data akan direplikasi ke bidang teknologi tambahan. Untuk setiap database sumber Progress OpenEdge, Anda perlu menambahkan area penyimpanan terpisah di mana data sumber akan diduplikasi, dan mengaktifkan mekanisme itu sendiri menggunakan perintah proutil.

Contoh prosedur untuk database bisquit

  1. Menyalin dari katalog C:Pro2db file itu cdcadd.st ke direktori database sumber bisquit.
  2. Kami jelaskan di cdcadd.st luasan ukuran tetap untuk wilayah "ReplCDCAArea" ΠΈ "ReplCDCAarea_IDX". Anda dapat menambahkan area penyimpanan baru secara online: prostrct addonline bisquit cdcadd.st
  3. Aktifkan CDC OpenEdge:
    proutil bisquit -C aktifkan area cdc "ReplCDCArea" area indeks "ReplCDCArea_IDX"
  4. Pengguna berikut harus dibuat di database sumber untuk mengidentifikasi proses yang berjalan:
    A. pro2adm – untuk menghubungkan dari panel administratif Pro2.
    B. pro2etl – untuk menghubungkan proses ETL (ReplBatch).
    C. pro2cdc – untuk menghubungkan proses CDC (CDCBatch).

Membuat Pemegang Skema untuk DataServer untuk Oracle

Selanjutnya kita perlu membuat database Schema Holder di server dimana data dari Progress DBMS akan direplikasi ke Oracle DBMS. DataServer Schema Holder adalah database Progress OpenEdge kosong tanpa data pengguna atau aplikasi, berisi peta korespondensi antara tabel sumber dan tabel Oracle eksternal.

Basis data Pemegang Skema untuk Progress OpenEdge DataServer untuk Oracle untuk Pro2 harus ditempatkan di server proses ETL; dibuat secara terpisah untuk setiap cabang.

Cara membuat Pemegang Skema

  1. Buka paket distribusi Pro2 ke dalam direktori /pro2
  2. Buat dan buka direktori /pro2/dbsh
  3. Buat database Schema Holder menggunakan perintah salin $DLC/bisquitsh kosong
  4. Melakukan konversi bisquitsh ke dalam pengkodean yang diperlukan - misalnya, dalam UTF-8 jika database Oracle memiliki pengkodean UTF-8: proutil bisquitsh -C convchar mengonversi UTF-8
  5. Setelah membuat database kosong bisquitsh sambungkan ke sana dalam mode pengguna tunggal: pro bisquitsh
  6. Mari kita pergi ke Kamus Data: Alat -> Kamus Data -> Server Data -> Utilitas ORACLE -> Buat Skema Server Data
  7. Luncurkan Pemegang Skema
  8. Menyiapkan broker Oracle DataServer:
    A. Mulai AdminServer.
    proadsv -mulai
    B. Mulai dari broker Oracle DataServer
    oraman -nama orabroker1 -mulai

Menyiapkan panel administratif dan skema replikasi

Menggunakan panel administratif Pro2, parameter Pro2 dikonfigurasi, termasuk menyiapkan skema replikasi dan menghasilkan proses ETL (Perpustakaan Prosesor), program sinkronisasi utama (Prosesor Salinan Massal), pemicu replikasi, dan kebijakan OpenEdge CDC. Ada juga alat utama untuk memantau dan mengelola proses ETL dan CDC. Pertama-tama, kami menyiapkan file parameter.

Cara mengkonfigurasi file parameter

  1. Buka katalog C:Pro2bpreplScripts
  2. Buka file untuk diedit replProc.pf
  3. Tambahkan parameter koneksi ke database replikasi cdc:
    # Basis Data Replikasi
    -db cdc -ld repl -H <nama host basis data utama> -S <port pialang basis data cdc>
    -U pro2admin -P <kata sandi>
  4. Tambahkan replProc.pf parameter koneksi ke database sumber dan Schema Holder dalam bentuk file parameter. Nama file parameter harus sesuai dengan nama database sumber yang terhubung.
    # Hubungkan ke semua sumber yang direplikasi BISQUIT
    -pf bpreplscriptsbisquit.pf
  5. Tambahkan replProc.pf parameter untuk menghubungkan ke Pemegang Skema.
    #Target Pemegang Skema DB Pro
    -db bisquitsh -ld bisquitsh
    -H <nama host proses ETL>
    -S <pelabuhan broker biskuitsh>
    -db bisquitsql
    -ld bisquitsql
    -dt ORACLE
    -S 5162 -H <nama host broker Oracle>
    -Layanan Data atau broker1
  6. Simpan file parameter replProc.pf
  7. Selanjutnya, Anda perlu membuat dan membuka file parameter untuk diedit untuk setiap database sumber yang terhubung di direktori C:Pro2bpreplScripts: bisquit.pf. Setiap file pf berisi parameter untuk menghubungkan ke database terkait, misalnya:
    -db bisquit -ld bisquit -H <nama host> -S <port perantara>
    -U pro2admin -P <kata sandi>

Untuk mengkonfigurasi pintasan Windows, Anda perlu masuk ke direktori C:Pro2bpreplScripts dan edit pintasan β€œPro2 – Administrasi”. Untuk melakukan ini, buka properti pintasan dan di baris Mulai menunjukkan direktori instalasi Pro2. Operasi serupa harus dilakukan untuk pintasan β€œPro2 – Editor” dan β€œRunBulkLoader”.

Pengaturan Administrasi Pro2: Memuat Konfigurasi Awal

Mari luncurkan konsol.

Cara berteman antara sistem perbankan Progress OpenEdge dan Oracle DBMS

Buka "Peta DB".

Cara berteman antara sistem perbankan Progress OpenEdge dan Oracle DBMS

Untuk menghubungkan database di Pro2 – Administrasi, buka tab Peta DB. Tambahkan pemetaan database sumber - Pemegang Skema - Oracle.

Cara berteman antara sistem perbankan Progress OpenEdge dan Oracle DBMS

Pergi ke tab Pemetaan. Terdaftar Basis Data Sumber Secara default, database sumber tersambung pertama dipilih. Di sebelah kanan daftar harus ada tulisan Semua Database Terhubung β€” database yang dipilih terhubung. Di sebelah kiri bawah Anda akan melihat daftar tabel Kemajuan dari bisquit. Di sebelah kanan adalah daftar tabel dari database Oracle.

Membuat skema SQL dan database di Oracle

Untuk membuat peta replikasi, Anda harus membuat terlebih dahulu Skema SQL di Oracle. Di Administrasi Pro2 kami menjalankan item menu Alat -> Hasilkan Kode -> Skema Target, lalu di kotak dialog Pilih Database pilih satu atau lebih database sumber dan pindahkan ke kanan.

Cara berteman antara sistem perbankan Progress OpenEdge dan Oracle DBMS

Klik OK dan pilih direktori untuk menyimpan skema SQL.

Selanjutnya kita membuat basisnya. Hal ini dapat dilakukan, misalnya melalui Pengembang Oracle SQL. Untuk melakukan ini, kami terhubung ke database Oracle dan memuat skema untuk menambahkan tabel. Setelah mengubah komposisi tabel Oracle, Anda perlu memperbarui skema SQL di Pemegang Skema.

Cara berteman antara sistem perbankan Progress OpenEdge dan Oracle DBMS

Setelah pengunduhan berhasil diselesaikan, keluar dari database bisquitsh dan buka panel administratif Pro2. Tabel dari database Oracle akan muncul pada tab Pemetaan di sebelah kanan.

Pemetaan tabel

Untuk membuat peta replikasi, di panel administratif Pro2, buka tab Pemetaan dan pilih database sumber. Klik pada Tabel Peta, pilih Pilih Perubahan di sebelah kiri tabel yang harus direplikasi di Oracle, pindahkan ke kanan dan konfirmasikan pilihan. Peta akan dibuat secara otomatis untuk tabel yang dipilih. Kami mengulangi operasi untuk membuat peta replikasi untuk database sumber lainnya.

Cara berteman antara sistem perbankan Progress OpenEdge dan Oracle DBMS

Menghasilkan Pustaka Prosesor Replikasi Pro2 dan Program Prosesor Salinan Massal

Pustaka Prosesor Replikasi dirancang untuk proses replikasi khusus (ETL) yang memproses antrean replikasi Pro2 dan mendorong perubahan ke database Oracle. Program perpustakaan prosesor replikasi secara otomatis disimpan ke direktori setelah pembuatan bprepl/repl_proc (parameter PROC_DIRECTORY). Untuk membuat pustaka prosesor replikasi, buka Alat -> Hasilkan Kode -> Perpustakaan Prosesor. Setelah pembuatan selesai, program akan muncul di direktori bprepl/repl_proc.

Program Bulk Load Processor digunakan untuk menyinkronkan database sumber Progress dengan database Oracle target berdasarkan bahasa pemrograman Progress ABL (4GL). Untuk membuatnya, buka item menu Alat -> Hasilkan Kode -> Prosesor Salin Massal. Di kotak dialog Pilih Database, pilih database sumber, pindahkan ke sisi kanan jendela dan klik OK. Setelah pembuatan selesai, program akan muncul di direktori bpreplrepl_mproc.

Menyiapkan proses replikasi di Pro2

Memisahkan tabel menjadi beberapa set yang dilayani oleh thread replikasi terpisah meningkatkan kinerja dan efisiensi Pro2 Oracle. Secara default, semua koneksi yang dibuat di peta replikasi untuk tabel replikasi baru dikaitkan dengan thread nomor 1. Disarankan untuk memisahkan tabel menjadi thread yang berbeda.

Informasi tentang status utas replikasi ditampilkan pada layar Administrasi Pro2 di tab Monitor di bagian Status Replikasi. Penjelasan rinci tentang nilai parameter dapat ditemukan di dokumentasi Pro2 (direktori C:Pro2Docs).

Membuat dan mengaktifkan kebijakan CDC

Kebijakan adalah seperangkat aturan untuk mesin OpenEdge CDC untuk memantau perubahan pada tabel. Pada saat penulisan, Pro2 hanya mendukung kebijakan CDC dengan level 0, yaitu hanya fakta yang dipantau mencatat perubahan.

Untuk membuat kebijakan CDC, pada panel administratif, buka tab Pemetaan, pilih database sumber dan klik tombol Tambah/Hapus Kebijakan. Di jendela Pilih Perubahan yang terbuka, pilih di sisi kiri dan pindahkan ke kanan tabel yang Anda perlukan untuk membuat atau menghapus kebijakan CDC.

Untuk mengaktifkan, buka kembali tab Pemetaan, pilih database sumber dan klik tombol (Dalam) Aktifkan Kebijakan. Pilih dan pindahkan ke sisi kanan tabel kebijakan yang perlu diaktifkan, klik OK. Setelah itu ditandai dengan warna hijau. Dengan menggunakan (Dalam) Aktifkan Kebijakan Anda juga dapat menonaktifkan kebijakan CDC. Semua transaksi dilakukan secara online.

Cara berteman antara sistem perbankan Progress OpenEdge dan Oracle DBMS

Setelah kebijakan CDC diaktifkan, catatan tentang catatan yang diubah disimpan ke tempat penyimpanan "ReplCDCAArea" menurut database sumber. Catatan tersebut akan diproses melalui proses khusus CDCBatch, yang berdasarkan pada mereka akan membuat catatan dalam antrian replikasi Pro2 di database cdc (balas).

Jadi, kami memiliki dua antrian untuk replikasi. Tahap pertama adalah CDCBatch: dari database sumber, data pertama-tama masuk ke database CDC perantara. Tahap kedua adalah ketika data ditransfer dari database CDC ke Oracle. Ini adalah fitur arsitektur saat ini dan produk itu sendiri - sejauh ini pengembang belum dapat membuat replikasi langsung.

Sinkronisasi primer

Setelah mengaktifkan mekanisme CDC dan menyiapkan server replikasi Pro2, kita perlu memulai sinkronisasi awal. Perintah sinkronisasi awal:

/pro2/bprepl/Script/replLoad.sh nama tabel bisquit

Setelah sinkronisasi awal selesai, proses replikasi dapat dimulai.

Mulai dari proses replikasi

Untuk memulai proses replikasi, Anda perlu menjalankan skrip replbatch.sh. Sebelum memulai, pastikan ada skrip replbatch untuk semua thread - replbatch1, replbatch2, dll. Jika semuanya sudah siap, buka baris perintah (misalnya, proenv), buka direktori /bprepl/scripts dan mulai skripnya. Di panel administratif, kami memeriksa apakah proses terkait telah menerima status RUNNING.

Cara berteman antara sistem perbankan Progress OpenEdge dan Oracle DBMS

Temuan

Cara berteman antara sistem perbankan Progress OpenEdge dan Oracle DBMS
Setelah implementasi, kami mempercepat pengunggahan informasi ke gudang data perusahaan. Data secara otomatis masuk ke Oracle online. Tidak perlu membuang waktu menjalankan beberapa kueri yang sudah berjalan lama untuk mengumpulkan data dari sistem yang berbeda. Selain itu, dalam solusi ini proses replikasi dapat mengompresi data, yang juga berdampak positif pada kecepatan. Sekarang rekonsiliasi harian sistem BISKVIT dengan sistem lain mulai memakan waktu 15-20 menit, bukan 2-2,5 jam, dan rekonsiliasi lengkap memakan waktu beberapa jam, bukan dua hari.

Sumber: www.habr.com

Tambah komentar