Golden Gate: cara mereplikasi terabyte per jam, atau Experience menggunakan CDC pada GoldenGate di VTB

Ada banyak cara untuk menganalisis data secara real time. Di VTB, kami menggunakan teknologi Change Data Capture (CDC) yang diterapkan pada alat Golden Gate Oracle: kecepatan sangat penting bagi kami, tetapi kami ingin mengurangi jumlah data yang dikirimkan dan mengurangi beban pada sumbernya. Dan meskipun ruang lingkup utama alat ini adalah replikasi dari Oracle dan MS SQL, selama bertahun-tahun bekerja dengan CDC, kami telah mengumpulkan beberapa kasus menarik, seperti migrasi data antar platform atau berbagai jenis DBMS. Di bawah potongan, kami akan berbagi pengalaman kami dengan Golden Gate.



Mengapa kami membutuhkan CDC (Change Data Capture)


Penggunaan kartu bank setiap hari telah lama dikenal, dan orang-orang, pada umumnya, tidak berpikir bahwa setiap penggunaan terminal pembayaran adalah transfer cepat informasi tertentu ke bank. Volume data bertambah, dan saya ingin memprosesnya secepat mungkin, termasuk mengirim penawaran khusus secara real time, karena, seperti kata mereka, sendok yang baik untuk makan malam. Dan alat ETL tradisional (ekstrak, transformasi, load - extract, transform, load) tidak begitu baik dalam memproses data dengan cepat. Berikut ini salah satu tautan yang lemah: ketika data diambil dari tabel sistem sumber, Anda hanya perlu memilih baris atau baris baru dengan perubahan. Pendekatan ini juga memuat sistem sumber dan meningkatkan jumlah data yang dikirimkan.

CDC menangkap perubahan dari log basis data secara real time. Jadi sumbernya dimuat jauh lebih sedikit, dan jumlah data yang dikirimkan berkurang. Dengan teknologi ini, kami telah mengurangi kebutuhan akan sumber daya komputasi untuk sistem dengan volume besar perubahan transaksional: setelah semua, untuk pengambilan data bahkan untuk sistem perbankan yang paling banyak dimuat, 1-2 inti prosesor pada sumbernya sudah cukup. Dan jika kami memperkenalkan ETL, maka kami harus membeli kapasitas prosesor untuk membaca data secara paralel.

Kami telah menggunakan teknologi Oracle GoldenGate, alat CDC Oracle, selama beberapa tahun di VTB. Dengan bantuannya, kami mengisi gudang data operasional dan mendistribusikan fungsi sistem informasi ke zona "hangat" dan "panas". 90% penggunaan OGG dalam lansekap TI bank memuat data dari Oracle dan MS SQL, tetapi, selain replikasi, ia melakukan pekerjaan yang sangat baik untuk tugas-tugas lain. Mari kita lihat beberapa contoh dari latihan kita.



Kasus 1. Pelaporan online


Kami bertemu GoldenGate pada 2013. Kemudian, di kompleks pemrosesan kartu kami, transaksi diproses secara bersamaan dan laporan disiapkan. Beban OLTP dicampur dengan beban DWH / DSS, dan sampel besar yang besar membersihkan cache dari memori database. Akibatnya, transaksi cepat harus dilakukan ke hard drive, kecepatan layanan bisnis kritis menurun. Untuk melepaskan inti pemrosesan, kami mengambil semua prosedur dan laporan yang kami kembangkan menjadi replika "hangat" pada Oracle Exadata.
Bagaimana cara mereplikasi data menggunakan GoldenGate, kami jelaskan secara rinci di sini . Singkatnya: untuk sistem dengan muatan tinggi di mana terdapat pencampuran berbagai jenis muatan, kami mendistribusikannya ke server OLTP dan DWH / DSS yang berbeda, dan untuk sinkronisasi di antaranya kami menggunakan GoldenGate. Pola menyoroti replika "hangat" ini berguna dalam banyak kasus lainnya. Misalnya, kami menggunakan pendekatan yang sama dalam sistem anti-penipuan kami - kami mentransfer semua pelaporan ke sistem Oracle Exadata terintegrasi, kami mereplikasi data kepada mereka menggunakan GoldenGate.

Tidak ada sistem tanpa kegagalan. Misalnya, jika pengembang mengubah data pada penerima, maka kesalahan penggunaan data dapat terjadi, dan proses GoldenGate akan berhenti. Untuk mengecualikan data yang tidak sinkron, kami menggunakan Oracle GoldenGate Veridata sebagai arbiter independen. Alat ini tidak hanya memverifikasi data antara sumber dan penerima - yang utama adalah bahwa Veridata menghilangkan perbedaan. Penting bahwa ketika kita berurusan dengan replikasi, Veridata menjamin perbandingan data yang akurat dan deteksi catatan yang hilang. Kami mendapatkan laporan lengkap dengan hasil perbandingan, yang dapat disajikan kepada rekan yang tidak percaya.



Kasus 2. Pelaporan konsolidasi dan pementasan dalam penyimpanan online


Kasus terpisah terkait dengan pembangunan penyimpanan operasional. Kesulitannya terletak pada kenyataan bahwa, selain pelaporan operasional, kami sedang menyiapkan data untuk penyimpanan perusahaan (pementasan). Kebetulan Anda perlu membuat pelaporan operasional berdasarkan data yang dikumpulkan dari sejumlah sistem yang berbeda. Dan paling mudah untuk melakukan ini di tingkat penyimpanan online. Untuk mendapatkan data dengan kecepatan tinggi dan dengan beban minimum pada sumber daya, kami sekali lagi menerapkan GoldenGate.

Sebagai perbandingan, mari kita jelaskan bagaimana kami menemukan delta perubahan di beberapa sistem kami sebelumnya. Jika sistem itu sendiri tidak mengizinkan alokasi delta atau mengubah data secara surut, maka tabel dari sumber 10 TB dibandingkan dengan tabel 10 TB pada penerima untuk hari sebelumnya. 10 TB ini harus ditangkap terlebih dahulu di sumbernya, dan beban jatuh tidak hanya pada sistem sumber, CPU, memori, tetapi juga pada jaringan data, serta pada sistem yang terlibat dalam perbandingan. Dan semua ini untuk menemukan delta data baru 0,01%!

GoldenGate secara virtual tidak membuat memuat pada sumber: CDC hanya membaca majalah dan menghasilkan delta selesai. Ini memungkinkan Anda untuk secara serius menghemat infrastruktur. Tidak masalah siapa penerima - repositori tradisional berbasis pada Oracle, MSSQL, Teradata, atau hanya produk Hadoop.

Perhatikan bahwa dalam kasus ini, database Oracle digunakan sebagai sumber dan penerima. Solusinya terbukti efektif, jadi sekarang kami menghubungkan semua sistem baru ke gudang data online umum, dan sekarang ini bukan hanya Oracle. Keuntungan lain dari GoldenGate adalah cocok untuk mengunduh data dari sebagian besar basis data yang digunakan dalam lanskap TI bank.



Kasus 3. Penawaran pribadi kepada klien secara real time.


Kami telah menyebutkan analitik streaming, yaitu, Penawaran real-time (RTO) penawaran kepada klien secara real time. Kawan-kawan senior mengatakan bahwa kesuksesan dalam bisnis perbankan secara langsung tergantung pada seberapa baik Anda mengenal klien Anda dan seberapa relevan Anda dapat membuatnya menawarkan. Dengan kata lain, kemungkinan bahwa klien akan mengambil keuntungan dari penawaran bank adalah berbanding terbalik dengan tingkat reaksi bank terhadap kebutuhan klien.

Bagaimana cara kerjanya? Misalnya, riwayat transaksi menunjukkan bahwa pelanggan membeli dari toko minuman keras setiap hari Jumat. Penentuan posisi geografis mendeteksinya di pusat perbelanjaan, di mana ada toko jaringan ini, dan melalui aplikasi seluler kami mengirimnya tawaran pribadi untuk diskon ke toko gourmet di pusat perbelanjaan yang sama. Kasing seperti itu adalah yang paling menarik bagi bank, memungkinkan Anda untuk membuat merek bersama dan penawaran bersama. Klien dapat berupa individu dan organisasi.

Ada bagian offline dan online. Pertama, pelanggan disegmentasi menggunakan data dari semua sistem. Analis dan data Ilmuwan mempelajari perilaku, data historis, dan membuat perangkap yang disebut. Hal utama adalah menangkap peristiwa penting yang dapat dilacak oleh transaksi pengakuisisi, aplikasi seluler, atau sumber lain yang tersedia. Dan sudah acara ini diproses dengan cara analitik streaming, dan keputusan dibuat pada saat ini berdasarkan perangkap yang disiapkan.

Tujuan dari CDC GoldenGate adalah untuk menyediakan aliran data peristiwa waktu-nyata dari sistem sumber ke platform analitik. Lisensi GoldenGate untuk Big Data juga mencakup Oracle Stream Analytics. Dengan bantuannya, data Para ilmuwan dapat secara mandiri memproses aliran data di Spark Streaming, mengembangkan aplikasi dalam lingkungan visual.

Kasus 4. Imbalan operasional terhadap jenis penipuan baru


Sistem antifraud cukup tertutup, dan memang benar: semakin sedikit orang yang mendedikasikan diri pada detail, semakin tinggi keamanannya. Mereka melakukan pekerjaan yang baik dalam menangani kasus standar, tetapi kadang-kadang muncul situasi yang tidak sesuai dengan skrip standar. Karena itu, penting untuk melengkapi model ini dengan skenario yang tidak standar. Kami terus mengembangkan model-model baru berdasarkan korelasi peristiwa berbagai sistem: transaksi kartu dan mata uang, lokasi, pengoperasian sistem pembayaran, tindakan dalam aplikasi seluler, pemantauan jejaring sosial. Untuk mengubah model, Anda harus mengikuti proses yang diterima: permintaan bisnis, pengaturan tugas, melewati aplikasi melalui semua tahap implementasi internal.
Tahun lalu, kami menguji mengunggah data menggunakan Oracle GoldenGate untuk Big Data dari sistem tradisional tersibuk, di mana ada banyak transaksi kecil, dan dari sistem anti-penipuan kami ke kelompok utama di Oracle Big Data Appliance. Baik Hadoop dan GoldenGate mengatasi jumlah data yang ditransfer - kami agak terkejut.

Terabyte per jam dan temuan lainnya


Selama dua tahun terakhir, dengan GoldenGate, kami telah menggandakan volume log yang ditransfer - hingga hampir 1 TB per jam. Ini hampir menutup kebutuhan kita saat ini. Sayangnya, ada fisika yang kita hadapi. Tetapi untuk meningkatkan throughput, pekerjaan aktif sedang dilakukan dengan tim pengembangan GoldenGate, jadi ini jauh dari batas. Pada saat yang sama, kami menonton dan menguji coba solusi CDC dari vendor lain, tetapi kami tidak menemukan alasan untuk bermigrasi dari Oracle GoldenGate. Saat ini, teknologi ini telah terbukti paling matang dari yang ada di pasaran.

Source: https://habr.com/ru/post/id479080/


All Articles