Progress OpenEdge bankacılık sistemi ile Oracle DBMS arasında nasıl arkadaşlık kurulur?

Bankamız, 1999 yılından bu yana arka ofise hizmet vermek amacıyla, finans sektörü de dahil olmak üzere dünya çapında yaygın olarak kullanılan Progress OpenEdge platformu üzerinde entegre bankacılık sistemi olan BISKVIT'i kullanmaktadır. Bu DBMS'nin performansı, tek bir veritabanında (DB) saniyede bir milyon veya daha fazla kaydı okumanıza olanak tanır. Progress OpenEdge'imiz yaklaşık 1,5 milyon bireysel mevduata ve aktif ürünler (araba kredileri ve ipotekler) için yaklaşık 22,2 milyon sözleşmeye hizmet vermektedir ve ayrıca düzenleyici kurum (Merkez Bankası) ve SWIFT ile yapılan tüm ödemelerden sorumludur.

Progress OpenEdge bankacılık sistemi ile Oracle DBMS arasında nasıl arkadaşlık kurulur?

Progress OpenEdge'i kullanırken Oracle DBMS ile çalışmasını sağlama ihtiyacıyla karşı karşıya kaldık. Başlangıçta bu paket, Progress DBMS'den Oracle DBMS'ye doğrudan çevrimiçi olarak veri göndermenize olanak tanıyan bir Progress ürünü olan Pro2 CDC'yi kurup yapılandırıncaya kadar altyapımızın darboğazını oluşturuyordu. Bu yazıda size tüm tuzaklarla birlikte OpenEdge ile Oracle arasında etkili bir şekilde nasıl arkadaş olunacağını ayrıntılı olarak anlatacağız.

Nasıl oldu: Dosya paylaşımı yoluyla verileri QCD'ye yükleme

İlk olarak altyapımız hakkında bazı gerçekler. Veritabanının aktif kullanıcı sayısı yaklaşık 15 bindir. Replika ve standby dahil olmak üzere tüm üretken veritabanlarının hacmi 600 TB, en büyük veritabanı ise 16,5 TB'tır. Aynı zamanda, veritabanları sürekli olarak yenileniyor: yalnızca geçen yıl boyunca yaklaşık 120 TB üretken veri eklendi. Sistem, x150 platformundaki 86 ön sunucu tarafından desteklenmektedir. Veritabanları 21 IBM platform sunucusunda barındırılmaktadır.

Progress OpenEdge bankacılık sistemi ile Oracle DBMS arasında nasıl arkadaşlık kurulur?
Ön uç sistemler, çeşitli temel bankacılık sistemleri ve bankacılık hizmetleri, Sonic ESB veri yolu aracılığıyla OpenEdge Progress (BISCUIT IBS) ile entegre edilir. Verilerin QCD'ye yüklenmesi dosya alışverişi yoluyla gerçekleşir. Belirli bir zamana kadar bu çözümün aynı anda iki büyük sorunu vardı: kurumsal veri ambarına (CDW) bilgi yüklemede düşük performans ve diğer sistemlerle veri mutabakatı (mutabakat) gerçekleştirmek için uzun süre.
Progress OpenEdge bankacılık sistemi ile Oracle DBMS arasında nasıl arkadaşlık kurulur?
Bu nedenle bu süreçleri hızlandırabilecek bir araç aramaya başladık. Her iki sorunun çözümü de yeni Progress OpenEdge ürünü olan Pro2 CDC'ydi (Veri Yakalamayı Değiştir). Öyleyse başlayalım.

Progress OpenEdge ve Pro2Oracle'ı yükleyin

Pro2 Oracle'ı yöneticinin Windows bilgisayarında çalıştırmak için, Progress OpenEdge Developer Kit Classroom Edition'ı yüklemek yeterlidir; indirmek ücretsiz. Varsayılan OpenEdge kurulum dizinleri:

DLC: C:İlerlemeOpenEdge
WRK: C:OpenEdgeWRK

ETL işlemleri, Progress OpenEdge lisanslarının 11.7+ sürümünü (OE DataServer for Oracle ve 4GL Development System) gerektirir. Bu lisanslar Pro2'ye dahildir. DataServer for Oracle'ın uzak Oracle veritabanıyla tam olarak çalışması için Tam Oracle İstemcisi kurulur.

Oracle sunucusunda Oracle Database 12+ kurmanız, boş bir veritabanı oluşturmanız ve bir kullanıcı eklemeniz gerekir (hadi onu arayalım) cdc).

Pro2Oracle'ı yüklemek için indirme merkezinden en son dağıtımı indirin İlerleme Yazılımı. Arşivi bir dizine açın C:Pro2 (Pro2'yi Unix'te yapılandırmak için aynı dağıtım kullanılır ve aynı yapılandırma ilkeleri uygulanır).

CDC çoğaltma veritabanı oluşturma

Çoğaltma veritabanı cdc (yeniden) Pro2, çoğaltma haritası, çoğaltılan veritabanlarının adları ve tabloları dahil olmak üzere yapılandırma bilgilerini depolamak için kullanılır. Ayrıca kaynak veritabanındaki bir tablo satırının değiştiğine ilişkin notlardan oluşan bir çoğaltma kuyruğu da içerir. Çoğaltma kuyruğundaki veriler, kaynak veritabanından Oracle'a kopyalanması gereken satırları tanımlamak için ETL işlemleri tarafından kullanılır.

Ayrı bir cdc veritabanı oluşturuyoruz.

Veritabanı oluşturma prosedürü

  1. Veritabanı sunucusunda cdc veritabanı için bir dizin oluşturuyoruz - örneğin sunucuda /veritabanı/cdc/.
  2. CDC veritabanı için bir kukla oluşturun: procopy $DLC/boş cdc
  3. Büyük dosyalar için desteği etkinleştirin: proutil cdc -C Büyük Dosyaları Etkinleştir
  4. CDC veritabanını başlatmak için bir script hazırlıyoruz. Başlangıç ​​parametreleri çoğaltılan veritabanının başlangıç ​​parametrelerine benzer olmalıdır.
  5. CDC veritabanını başlatıyoruz.
  6. CDC veritabanına bağlanın ve Pro2 şemasını dosyadan yükleyin cdc.dfPro2'ye dahildir.
  7. CDC veritabanında aşağıdaki kullanıcıları oluşturuyoruz:

pro2adm – Pro2 yönetim panelinden bağlanmak için;
pro2etl – ETL işlemlerini bağlamak için (ReplBatch);
pro2cdc – CDC işlemlerini (CDCBatch) bağlamak için;

OpenEdge Değişiklik Verisi Yakalamayı Etkinleştirme

Şimdi, verilerin ek bir teknoloji alanına kopyalanacağı CDC mekanizmasının kendisini açalım. Her Progress OpenEdge kaynak veritabanına, kaynak verilerin kopyalanacağı ayrı depolama alanları eklemeniz ve komutu kullanarak mekanizmanın kendisini etkinleştirmeniz gerekir. proutil.

Bisquit veritabanı için örnek prosedür

  1. Katalogdan kopyalama C:Pro2db dosya cdcadd.st bisquit kaynak veritabanı dizinine.
  2. içinde tarif ediyoruz cdcadd.st bölgeler için sabit boyut kapsamları "ReplCDCArea" и "ReplCDCArea_IDX". Çevrimiçi olarak yeni depolama alanları ekleyebilirsiniz: prostrct addonline bisquit cdcadd.st
  3. OpenEdge CDC'yi etkinleştirin:
    proutil bisquit -C activecdc alanı "ReplCDCArea" indexarea "ReplCDCArea_IDX"
  4. Çalışan işlemleri tanımlamak için kaynak veritabanında aşağıdaki kullanıcıların oluşturulması gerekir:
    A. pro2adm – Pro2 yönetim panelinden bağlanmak için.
    B. pro2etl – ETL işlemlerini (ReplBatch) bağlamak için.
    C. pro2cdc – CDC işlemlerini (CDCBatch) bağlamak için.

DataServer for Oracle için Şema Tutucu Oluşturma

Daha sonra, Progress DBMS'den gelen verilerin Oracle DBMS'ye kopyalanacağı sunucuda bir Schema Holder veritabanı oluşturmamız gerekiyor. DataServer Şema Tutucusu, kaynak tablolar ile harici Oracle tabloları arasındaki yazışmaların bir haritasını içeren, kullanıcıları veya uygulama verilerini içermeyen boş bir Progress OpenEdge veritabanıdır.

Progress OpenEdge DataServer for Oracle for Pro2'ye yönelik Schema Holder veritabanı, ETL işlem sunucusunda bulunmalıdır; her dal için ayrı olarak oluşturulur.

Şema Tutucu nasıl oluşturulur

  1. Pro2 dağıtımını bir dizine açın /pro2
  2. Oluşturun ve dizine gidin /pro2/dbsh
  3. Komutu kullanarak bir Şema Tutucu veritabanı oluşturun $DLC/empty bisquitsh'i kopyala
  4. Dönüşümün gerçekleştirilmesi bisquitsh gerekli kodlamaya - örneğin, Oracle veritabanlarında UTF-8 kodlaması varsa UTF-8'de: proutil bisquitsh -C convchar UTF-8'i dönüştürür
  5. Boş bir veritabanı oluşturduktan sonra bisquitsh tek kullanıcı modunda ona bağlanın: profesyonel bisküvi
  6. Veri Sözlüğüne gidelim: Araçlar -> Veri Sözlüğü -> DataServer -> ORACLE Utilities -> DataServer Şeması Oluştur
  7. Şema Tutucuyu Başlat
  8. Oracle DataServer aracısını kurma:
    A. AdminServer'ı başlatın.
    proadsv -başlangıç
    B. Oracle DataServer brokerinin başlangıcı
    oraman -name orabroker1 -başlangıç

Yönetim panelinin ve çoğaltma şemasının kurulması

Pro2 yönetim panelini kullanarak, çoğaltma şemasının ayarlanması ve ETL işlemlerinin (İşlemci Kitaplığı), birincil senkronizasyon programlarının (Toplu Kopyalama İşlemcisi), çoğaltma tetikleyicilerinin ve OpenEdge CDC politikalarının oluşturulması dahil olmak üzere Pro2 parametreleri yapılandırılır. ETL ve CDC süreçlerini izlemek ve yönetmek için birincil araçlar da vardır. Öncelikle parametre dosyalarını ayarlıyoruz.

Parametre dosyaları nasıl yapılandırılır

  1. Kataloğa git C:Pro2bpreplScripts
  2. Dosyayı düzenlemek için açın replProc.pf
  3. Bağlantı parametrelerini cdc çoğaltma veritabanına ekleyin:
    # Çoğaltma Veritabanı
    -db cdc -ld repl -H <ana veritabanı ana bilgisayar adı> -S <veritabanı aracısı bağlantı noktası cdc>
    -U pro2admin -P <şifre>
  4. a ekle replProc.pf kaynak veritabanlarına bağlantı parametreleri ve parametre dosyaları biçiminde Şema Tutucu. Parametreler dosyasının adı, bağlanılan kaynak veritabanının adıyla eşleşmelidir.
    # Tüm çoğaltılmış kaynaklara bağlanın BISQUIT
    -pf bpreplscriptsbisquit.pf
  5. a ekle replProc.pf Şema Tutucuya bağlanmak için parametreler.
    #Target Pro DB Şema Tutucusu
    -db bisquitsh -ld bisquitsh
    -H <ETL işlem ana bilgisayar adı>
    -S <biskuitsh komisyoncu bağlantı noktası>
    -db bisquitsql
    -ld bisquitsql
    -dt ORACLE
    -S 5162 -H <Oracle komisyoncusu ana bilgisayar adı>
    -DataService veya komisyoncu1
  6. Parametreler dosyasını kaydedin replProc.pf
  7. Daha sonra, dizindeki her bağlı kaynak veritabanı için parametre dosyalarını oluşturmanız ve düzenlemek üzere açmanız gerekir. C:Pro2bpreplScripts: bisquit.pf. Her pf dosyası, ilgili veritabanına bağlanmak için parametreler içerir, örneğin:
    -db bisquit -ld bisquit -H <ana bilgisayar adı> -S <aracı bağlantı noktası>
    -U pro2admin -P <şifre>

Windows kısayollarını yapılandırmak için dizine gitmeniz gerekir C:Pro2bpreplScripts ve “Pro2 – Yönetim” kısayolunu düzenleyin. Bunu yapmak için kısayolun özelliklerini açın ve satırda Başla Pro2 kurulum dizinini belirtin. Benzer işlemin “Pro2 – Editor” ve “RunBulkLoader” kısayolları için de yapılması gerekiyor.

Pro2 Yönetim Kurulumu: İlk Yapılandırmayı Yükleme

Konsolu başlatalım.

Progress OpenEdge bankacılık sistemi ile Oracle DBMS arasında nasıl arkadaşlık kurulur?

“Veritabanı Haritası”na gidin.

Progress OpenEdge bankacılık sistemi ile Oracle DBMS arasında nasıl arkadaşlık kurulur?

Pro2 – Yönetim'deki veritabanlarını bağlamak için sekmeye gidin Veritabanı Haritası. Kaynak veritabanlarının eşlemesini ekleyin - Şema Tutucu - Oracle.

Progress OpenEdge bankacılık sistemi ile Oracle DBMS arasında nasıl arkadaşlık kurulur?

Sekmeye git Haritalama. Listelenmiş Kaynak Veritabanı Varsayılan olarak ilk bağlanan kaynak veritabanı seçilir. Listenin sağında bir yazı bulunmalıdır Tüm Veritabanları Bağlı — seçilen veritabanları bağlanır. Aşağıda solda bisquit'in İlerleme tablolarının bir listesini görmelisiniz. Sağda Oracle veritabanındaki tabloların bir listesi bulunmaktadır.

Oracle'da SQL şemaları ve veritabanları oluşturma

Çoğaltma haritası oluşturmak için öncelikle SQL şeması Oracle'da. Pro2 Yönetiminde menü öğesini yürütüyoruz Araçlar -> Kod Oluştur -> Hedef Şema, ardından iletişim kutusunda Veritabanı Seçin bir veya daha fazla kaynak veritabanını seçin ve bunları sağa taşıyın.

Progress OpenEdge bankacılık sistemi ile Oracle DBMS arasında nasıl arkadaşlık kurulur?

Tamam'a tıklayın ve SQL şemalarının kaydedileceği dizini seçin.

Daha sonra tabanı oluşturuyoruz. Bu, örneğin şu yolla yapılabilir: Oracle SQL Geliştiricisi. Bunu yapmak için Oracle veritabanına bağlanıyoruz ve tablo ekleme şemasını yüklüyoruz. Oracle tablolarının kompozisyonunu değiştirdikten sonra Şema Tutucudaki SQL şemalarını güncellemeniz gerekir.

Progress OpenEdge bankacılık sistemi ile Oracle DBMS arasında nasıl arkadaşlık kurulur?

İndirme başarıyla tamamlandıktan sonra bisquitsh veritabanından çıkın ve Pro2 yönetim panelini açın. Oracle veritabanındaki tablolar sağdaki Eşleme sekmesinde görünmelidir.

Tablo eşleme

Bir çoğaltma haritası oluşturmak için Pro2 yönetim panelinde Eşleme sekmesine gidin ve kaynak veritabanını seçin. Tabloları Eşle'ye tıklayın, Oracle'da çoğaltılması gereken tabloların solundaki Değişiklikleri Seç'i seçin, bunları sağa taşıyın ve seçimi onaylayın. Seçilen tablolar için otomatik olarak bir harita oluşturulacaktır. Diğer kaynak veritabanları için replikasyon haritası oluşturmak için işlemi tekrarlıyoruz.

Progress OpenEdge bankacılık sistemi ile Oracle DBMS arasında nasıl arkadaşlık kurulur?

Pro2 Replikasyon İşlemci Kitaplığı ve Toplu Kopyalama İşlemci Programlarının Oluşturulması

Çoğaltma İşlemcisi Kitaplığı, Pro2 çoğaltma kuyruğunu işleyen ve değişiklikleri Oracle veritabanına aktaran özel çoğaltma işlemleri (ETL'ler) için tasarlanmıştır. Çoğaltma işlemcisi kitaplığı programları, oluşturulduktan sonra otomatik olarak dizine kaydedilir. bprepl/repl_proc (PROC_DIRECTORY parametresi). Çoğaltma işlemcisi kitaplığını oluşturmak için şuraya gidin: Araçlar -> Kod Oluştur -> İşlemci Kitaplığı. Oluşturma işlemi tamamlandıktan sonra programlar dizinde görünecektir bprepl/repl_proc.

Bulk Load Processor programları, Progress ABL (4GL) programlama diline dayalı olarak kaynak Progress veritabanlarını hedef Oracle veritabanıyla senkronize etmek için kullanılır. Bunları oluşturmak için menü öğesine gidin Araçlar -> Kod Oluştur -> Toplu Kopyalama İşlemcisi. Veritabanı Seç iletişim kutusunda kaynak veritabanlarını seçin, bunları pencerenin sağ tarafına taşıyın ve OK. Oluşturma işlemi tamamlandıktan sonra programlar dizinde görünecektir bpreplrepl_mproc.

Pro2'de çoğaltma işlemlerini ayarlama

Tabloları ayrı bir çoğaltma iş parçacığı tarafından sunulan kümelere bölmek, Pro2 Oracle'ın performansını ve verimliliğini artırır. Varsayılan olarak, yeni çoğaltma tabloları için çoğaltma haritasında oluşturulan tüm bağlantılar 1 numaralı iş parçacığıyla ilişkilendirilir. Tabloların farklı iş parçacıklarına ayrılması önerilir.

Çoğaltma iş parçacıklarının durumuna ilişkin bilgiler Pro2 Yönetim ekranında Çoğaltma Durumu bölümündeki Monitör sekmesinde görüntülenir. Parametre değerlerinin ayrıntılı bir açıklamasını Pro2 belgelerinde (C:Pro2Docs dizini) bulabilirsiniz.

CDC ilkelerini oluşturun ve etkinleştirin

Politikalar, OpenEdge CDC motorunun tablolardaki değişiklikleri izlemesi için kullanılan bir dizi kuraldır. Bu yazının yazıldığı sırada Pro2 yalnızca seviye 0 olan CDC politikalarını destekler, yani yalnızca gerçekler izlenir değişiklikleri kaydet.

CDC politikası oluşturmak için yönetim panelinde Eşleme sekmesine gidin, kaynak veritabanını seçin ve Politika Ekle/Kaldır düğmesine tıklayın. Açılan Değişiklikleri Seç penceresinde, CDC ilkesi oluşturmanız veya silmeniz gereken tabloları sol tarafta seçin ve sağa doğru hareket ettirin.

Etkinleştirmek için Eşleme sekmesini tekrar açın, kaynak veritabanını seçin ve düğmesine tıklayın Politikaları Etkinleştirme (Devre Dışı Bırakma). Etkinleştirilmesi gereken politikaları seçin ve tablonun sağ tarafına taşıyın, Tamam'a tıklayın. Bundan sonra yeşil renkle işaretlenirler. Kullanarak Politikaları Etkinleştirme (Devre Dışı Bırakma) Ayrıca CDC politikalarını da devre dışı bırakabilirsiniz. Tüm işlemler çevrimiçi olarak gerçekleştirilir.

Progress OpenEdge bankacılık sistemi ile Oracle DBMS arasında nasıl arkadaşlık kurulur?

CDC politikası etkinleştirildikten sonra, değiştirilen kayıtlarla ilgili notlar depolama alanına kaydedilir. "ReplCDCArea" Kaynak veritabanına göre. Bu notlar özel bir süreçle işlenecektir CDC Toplubunlara dayanarak veritabanındaki Pro2 çoğaltma kuyruğunda notlar oluşturacaktır cdc (yeniden).

Böylece çoğaltma için iki kuyruğumuz var. İlk aşama CDCBatch'tir: kaynak veritabanından veriler önce ara CDC veritabanına gider. İkinci aşama, verilerin CDC veritabanından Oracle'a aktarılmasıdır. Bu, mevcut mimarinin ve ürünün kendisinin bir özelliğidir - şu ana kadar geliştiriciler doğrudan çoğaltmayı sağlayamadılar.

Birincil senkronizasyon

CDC mekanizmasını etkinleştirip Pro2 replikasyon sunucusunu kurduktan sonra ilk senkronizasyonu başlatmamız gerekiyor. İlk senkronizasyon komutu:

/pro2/bprepl/Script/replLoad.sh bisquit tablo adı

İlk senkronizasyon tamamlandıktan sonra çoğaltma işlemleri başlatılabilir.

Çoğaltma işlemlerinin başlatılması

Çoğaltma işlemlerini başlatmak için bir komut dosyası çalıştırmanız gerekir replbatch.sh. Başlamadan önce, tüm iş parçacıkları için replbatch komut dosyalarının (replbatch1, replbatch2 vb.) bulunduğundan emin olun. Her şey yolundaysa komut satırını açın (örneğin, proenv), dizine git /bprepl/scriptler ve betiği başlatın. Yönetim panelinde ilgili işlemin ÇALIŞIYOR durumunu alıp almadığını kontrol ediyoruz.

Progress OpenEdge bankacılık sistemi ile Oracle DBMS arasında nasıl arkadaşlık kurulur?

Bulgular

Progress OpenEdge bankacılık sistemi ile Oracle DBMS arasında nasıl arkadaşlık kurulur?
Uygulamanın ardından bilgilerin kurumsal veri ambarına yüklenmesini büyük ölçüde hızlandırdık. Veriler otomatik olarak Oracle çevrimiçine girer. Farklı sistemlerden veri toplamak için uzun süren bazı sorguları çalıştırarak zaman kaybetmenize gerek yok. Ayrıca bu çözümde çoğaltma işlemi verileri sıkıştırabilir ve bu da hız üzerinde olumlu bir etkiye sahiptir. Artık BISKVIT sisteminin diğer sistemlerle günlük mutabakatı 15-20 saat yerine 2-2,5 dakika sürmeye başladı, tam mutabakat ise iki gün yerine birkaç saat sürdü.

Kaynak: habr.com

Yorum ekle