Replikasi database mainframe ke AWS dengan menggunakan Exactly Connect - AWS Prescriptive Guidance

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Replikasi database mainframe ke AWS dengan menggunakan Exactly Connect

Lucio Pereira, Sayantan Giri, dan Balaji Mohan, Amazon Web Services

Ringkasan

Pola ini menguraikan langkah-langkah untuk mereplikasi data dari basis data mainframe ke penyimpanan data Amazon dalam waktu dekat dengan menggunakan Exacently Connect. Ini mengimplementasikan arsitektur berbasis acara dengan Amazon Managed Streaming for Apache Kafka (Amazon MSK) dan konektor basis data khusus di cloud untuk meningkatkan skalabilitas, ketahanan, dan kinerja.

Tepat Connect adalah alat replikasi yang menangkap data dari sistem mainframe lama dan mengintegrasikannya ke dalam lingkungan cloud. Data direplikasi dari mainframe ke AWS melalui change data capture (CDC) dengan menggunakan aliran pesan mendekati real-time dengan jalur data heterogen latensi rendah dan throughput tinggi. 

Pola ini juga mencakup strategi pemulihan bencana untuk jaringan data tangguh dengan replikasi data Multi-region dan routing failover.

Prasyarat dan batasan

Prasyarat

Arsitektur

Tumpukan teknologi sumber

Lingkungan mainframe yang mencakup setidaknya satu dari database berikut:

  • Basis data IBM IMS

  • Basis data IBM DB2

  • File VSAM

Tumpukan teknologi target

  • Amazon MSK

  • Amazon Elastic Kubernetes Service (Amazon EKS) dan Amazon EKS Anywhere

  • Docker

  • Database relasional AWS atau NoSQL seperti berikut ini:

    • Amazon DynamoDB

    • Amazon Relational Database Service (Amazon RDS) untuk Oracle, Amazon RDS for PostgreSQL, atau Amazon Aurora

    • Amazon ElastiCache untuk Redis

    • Amazon Keyspaces (untuk Apache Cassandra)

Arsitektur target

Mereplikasi data mainframe ke database AWS

Diagram berikut menggambarkan replikasi data mainframe ke database AWS seperti DynamoDB, Amazon RDS, Amazon, atau Amazon Keyspaces. ElastiCache Replikasi terjadi dalam waktu dekat dengan menggunakan Tangkap dan Penerbit Secara Tepat di lingkungan mainframe lokal Anda, Pengirim dengan Tepat di Amazon EKS Anywhere di lingkungan terdistribusi lokal Anda, serta Terapkan konektor Mesin dan database dengan Tepat di AWS Cloud. 

Mereplikasi data mainframe ke database AWS

Diagram menunjukkan alur kerja berikut:

  1. Tepat Capture mendapatkan data mainframe dari log CDC dan memelihara data dalam penyimpanan transien internal.

  2. Tepatnya Publisher mendengarkan perubahan dalam penyimpanan data internal dan mengirimkan catatan CDC ke Excently Dispatcher melalui koneksi. TCP/IP

  3. Tepatnya Dispatcher menerima catatan CDC dari Publisher dan mengirimkannya ke Amazon MSK. Dispatcher membuat kunci Kafka berdasarkan konfigurasi pengguna dan beberapa tugas pekerja untuk mendorong data secara paralel. Dispatcher mengirimkan pengakuan kembali ke Publisher ketika catatan telah disimpan di Amazon MSK.

  4. Amazon MSK memegang catatan CDC di lingkungan cloud. Ukuran partisi topik tergantung pada persyaratan sistem pemrosesan transaksi (TPS) Anda untuk throughput. Kunci Kafka wajib untuk transformasi lebih lanjut dan pemesanan transaksi.

  5. Mesin Terapkan Secara Tepat mendengarkan catatan CDC dari Amazon MSK dan mengubah data (misalnya, dengan memfilter atau memetakan) berdasarkan persyaratan basis data target. Anda dapat menambahkan logika yang disesuaikan ke skrip SQD Tepatnya. (SQD adalah bahasa hak milik Tepat.) Mesin Terapkan Secara Tepat mengubah setiap rekaman CDC ke format Apache Avro atau JSON dan mendistribusikannya ke berbagai topik berdasarkan kebutuhan Anda.

  6. Topik Kafka target menyimpan catatan CDC dalam berbagai topik berdasarkan basis data target, dan Kafka memfasilitasi pemesanan transaksi berdasarkan kunci Kafka yang ditentukan. Tombol partisi sejajar dengan partisi yang sesuai untuk mendukung proses berurutan. 

  7. Konektor database (aplikasi Java yang disesuaikan) mendengarkan catatan CDC dari Amazon MSK dan menyimpannya di database target.

  8. Anda dapat memilih database target berdasarkan kebutuhan Anda. Pola ini mendukung NoSQL dan database relasional.

Pemulihan bencana

Kesinambungan bisnis adalah kunci keberhasilan organisasi Anda. AWS Cloud menyediakan kemampuan untuk ketersediaan tinggi (HA) dan pemulihan bencana (DR), serta mendukung paket failover dan fallback organisasi Anda. Pola ini mengikuti strategi active/passive DR dan memberikan panduan tingkat tinggi untuk menerapkan strategi DR yang memenuhi persyaratan RTO dan RPO Anda.

Diagram berikut menggambarkan alur kerja DR.

Alur kerja pemulihan bencana untuk mereplikasi data mainframe di AWS

Diagram menunjukkan yang berikut:

  1. Failover semi-otomatis diperlukan jika terjadi kegagalan di AWS Region 1. Dalam kasus kegagalan di Wilayah 1, sistem harus memulai perubahan perutean untuk menghubungkan Tepatnya Dispatcher ke Wilayah 2. 

  2. Amazon MSK mereplikasi data melalui mirroring antar Wilayah, Untuk alasan ini, selama failover, cluster MSK Amazon di Wilayah 2 harus dipromosikan sebagai pemimpin utama. 

  3. Tepat Apply Engine dan konektor database adalah aplikasi stateless yang dapat bekerja di Wilayah mana pun. 

  4. Sinkronisasi database tergantung pada database target. Misalnya, DynamoDB dapat menggunakan tabel global, ElastiCache dan dapat menggunakan datastores global.

Pemrosesan latensi rendah dan throughput tinggi melalui konektor database

Konektor database adalah komponen penting dalam pola ini. Konektor mengikuti pendekatan berbasis pendengar untuk mengumpulkan data dari Amazon MSK dan mengirim transaksi ke database melalui pemrosesan throughput tinggi dan latensi rendah untuk aplikasi kritis misi (tingkatan 0 dan 1). Diagram berikut menggambarkan proses.

Menggunakan konektor database untuk mereplikasi data mainframe di AWS

Pola ini mendukung pengembangan aplikasi yang disesuaikan dengan konsumsi ulir tunggal melalui mesin pemrosesan multithreaded.

  1. Utas utama konektor mengkonsumsi catatan CDC dari Amazon MSK dan mengirimkannya ke kumpulan utas untuk diproses.

  2. Thread dari kumpulan thread memproses catatan CDC dan mengirimkannya ke database target.

  3. Jika semua utas sibuk, catatan CDC ditahan oleh antrian utas.

  4. Utas utama menunggu untuk menghapus semua catatan dari antrian utas dan melakukan offset ke Amazon MSK.

  5. Utas anak menangani kegagalan. Jika kegagalan terjadi selama pemrosesan, pesan yang gagal dikirim ke topik DLQ (antrian surat mati).

  6. Thread anak memulai pembaruan bersyarat (lihat Ekspresi kondisi dalam dokumentasi DynamoDB), berdasarkan stempel waktu mainframe, untuk menghindari duplikasi atau pembaruan apa pun dalam database. out-of-order

Untuk informasi tentang cara menerapkan aplikasi konsumen Kafka dengan kemampuan multi-threading, lihat posting blog Konsumsi Pesan Multi-Threaded dengan Konsumen Apache Kafka di situs web Confluent.

Alat

Layanan AWS

Alat-alat lainnya

  • Connect mengintegrasikan data dari sistem mainframe lama seperti dataset VSAM atau database mainframe IBM ke dalam platform cloud dan data generasi berikutnya.

Praktik terbaik

  • Temukan kombinasi terbaik dari partisi Kafka dan konektor multi-ulir untuk menyeimbangkan kinerja dan biaya yang optimal. Beberapa Instans Pengambilan dan Dispatcher Secara Tepat dapat meningkatkan biaya karena konsumsi MIPS (juta instruksi per detik) yang lebih tinggi.

  • Hindari menambahkan manipulasi data dan logika transformasi ke konektor database. Untuk tujuan ini, gunakan Mesin Terapkan Tepatnya, yang menyediakan waktu pemrosesan dalam mikrodetik.

  • Buat permintaan berkala atau panggilan pemeriksaan kesehatan ke database (detak jantung) di konektor database untuk sering menghangatkan koneksi dan mengurangi latensi.

  • Terapkan logika validasi kumpulan utas untuk memahami tugas yang tertunda dalam antrian utas dan tunggu semua utas selesai sebelum polling Kafka berikutnya. Ini membantu menghindari kehilangan data jika node, wadah, atau proses mogok.

  • Paparkan metrik latensi melalui titik akhir kesehatan untuk meningkatkan kemampuan observabilitas melalui dasbor dan mekanisme penelusuran.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Siapkan proses mainframe (batch atau utilitas online) untuk memulai proses CDC dari database mainframe.

  1. Identifikasi lingkungan mainframe.

  2. Identifikasi database mainframe yang akan terlibat dalam proses CDC.

  3. Di lingkungan mainframe, kembangkan proses yang meluncurkan alat CDC untuk menangkap perubahan dalam database sumber. Untuk petunjuk, lihat dokumentasi mainframe Anda.

  4. Dokumentasikan proses CDC, termasuk konfigurasi.

  5. Menyebarkan proses di lingkungan pengujian dan produksi. 

Insinyur mainframe

Aktifkan aliran log basis data mainframe.

  1. Konfigurasikan aliran log di lingkungan mainframe untuk menangkap log CDC. Untuk petunjuk, lihat dokumentasi mainframe Anda.

  2. Uji aliran log untuk memastikan bahwa mereka menangkap data yang diperlukan.

  3. Menyebarkan aliran log di lingkungan pengujian dan produksi.

Spesialis DB Mainframe

Gunakan komponen Capture untuk menangkap catatan CDC.

  1. Instal dan konfigurasikan komponen Tangkap Tepatnya di lingkungan mainframe. Untuk instruksi, lihat dokumentasi Tepatnya.

  2. Uji konfigurasi untuk memastikan bahwa komponen Capture berfungsi dengan benar.

  3. Siapkan proses replikasi untuk mereplikasi catatan CDC yang ditangkap melalui komponen Capture.

  4. Dokumentasikan konfigurasi Capture untuk setiap database sumber.

  5. Kembangkan sistem pemantauan untuk memastikan bahwa komponen Capture mengumpulkan log dengan benar dari waktu ke waktu.

  6. Menyebarkan instalasi dan konfigurasi di lingkungan pengujian dan produksi.

Insinyur mainframe, Tepatnya Connect SME

Konfigurasikan komponen Publisher untuk mendengarkan komponen Capture.

  1. Instal dan konfigurasikan komponen Tepat Penerbit di lingkungan mainframe. Untuk instruksi, lihat dokumentasi Tepatnya.

  2. Uji konfigurasi untuk memastikan bahwa komponen Publisher berfungsi dengan benar.

  3. Siapkan proses replikasi untuk mempublikasikan catatan CDC ke komponen Pengirim Tepatnya dari Publisher.

  4. Dokumentasikan konfigurasi Penerbit.

  5. Mengembangkan sistem pemantauan untuk memastikan bahwa komponen Publisher bekerja dengan baik dari waktu ke waktu.

  6. Menyebarkan instalasi dan konfigurasi di lingkungan pengujian dan produksi.

Insinyur mainframe, Tepatnya Connect SME

Menyediakan Amazon EKS Anywhere di lingkungan terdistribusi lokal.

  1. Instal Amazon EKS Anywhere di infrastruktur lokal dan pastikan sudah dikonfigurasi dengan benar. Untuk petunjuk, lihat dokumentasi Amazon EKS Anywhere.

  2. Siapkan lingkungan jaringan yang aman untuk klaster Kubernetes, termasuk firewall.

  3. Menerapkan dan menguji contoh penerapan aplikasi ke cluster Amazon EKS Anywhere.

  4. Menerapkan kemampuan penskalaan otomatis untuk cluster.

  5. Mengembangkan dan menerapkan prosedur pencadangan dan pemulihan bencana. 

DevOps insinyur

Terapkan dan konfigurasikan komponen Dispatcher di lingkungan terdistribusi untuk mempublikasikan topik di AWS Cloud.

  1. Konfigurasikan dan kontainerisasi komponen Tepat Dispatcher. Untuk instruksi, lihat dokumentasi Tepatnya.

  2. Menerapkan image Dispatcher Docker ke lingkungan Amazon EKS Anywhere lokal.

  3. Siapkan koneksi aman antara AWS Cloud dan Dispatcher.

  4. Kembangkan sistem pemantauan untuk memastikan bahwa komponen Dispatcher berfungsi dengan baik dari waktu ke waktu.

  5. Menyebarkan instalasi dan konfigurasi di lingkungan pengujian dan produksi. 

DevOps insinyur, Tepatnya Connect SME
TugasDeskripsiKeterampilan yang dibutuhkan

Menyediakan kluster Amazon EKS di Wilayah AWS yang ditentukan.

  1. Masuk ke akun AWS Anda dan konfigurasikan untuk memastikan bahwa izin yang diperlukan tersedia untuk membuat dan mengelola klaster Amazon EKS.

  2. Buat virtual private cloud (VPC) dan subnet di Wilayah AWS yang dipilih. Untuk petunjuk, lihat dokumentasi Amazon EKS.

  3. Buat dan konfigurasikan grup keamanan jaringan yang diperlukan untuk memungkinkan komunikasi antara kluster Amazon EKS dan sumber daya lainnya di VPC. Untuk informasi selengkapnya, lihat dokumentasi Amazon EKS.

  4. Buat klaster Amazon EKS dan konfigurasikan dengan ukuran grup node dan jenis instance yang benar.

  5. Validasi klaster Amazon EKS dengan menerapkan contoh aplikasi.

DevOps insinyur, Administrator jaringan

Menyediakan kluster MSK dan mengkonfigurasi topik Kafka yang berlaku.

  1. Konfigurasikan akun AWS Anda untuk memastikan bahwa izin yang diperlukan tersedia untuk membuat dan mengelola klaster MSK.

  2. Buat dan konfigurasikan grup keamanan jaringan yang diperlukan untuk memungkinkan komunikasi antara cluster MSK dan sumber daya lainnya di VPC. Untuk informasi selengkapnya, lihat dokumentasi Amazon VPC.

  3. Buat cluster MSK dan konfigurasikan untuk memasukkan topik Kafka yang akan digunakan oleh aplikasi. Untuk informasi selengkapnya, lihat dokumentasi MSK Amazon.

DevOps insinyur, Administrator jaringan

Konfigurasikan komponen Apply Engine untuk mendengarkan topik Kafka yang direplikasi.

  1. Konfigurasikan dan kontainerisasi komponen Exactly Apply Engine.

  2. Menerapkan image Apply Engine Docker ke cluster Amazon EKS di akun AWS Anda.

  3. Siapkan Apply Engine untuk mendengarkan topik MSK.

  4. Kembangkan dan konfigurasikan skrip SQD di Apply Engine untuk menangani penyaringan dan transformasi. Untuk informasi selengkapnya, lihat dokumentasi Tepatnya.

  5. Menyebarkan Apply Engine di lingkungan pengujian dan produksi.

Tepatnya Connect SME

Menyediakan instans DB di AWS Cloud.

  1. Konfigurasikan akun AWS Anda untuk memastikan bahwa izin yang diperlukan tersedia untuk membuat dan mengelola kluster dan tabel DB. Untuk petunjuk, lihat dokumentasi AWS untuk layanan database AWS yang ingin Anda gunakan. (Lihat bagian Sumber Daya untuk tautan.)

  2. Buat VPC dan subnet di Wilayah AWS yang dipilih.

  3. Buat dan konfigurasikan grup keamanan jaringan yang diperlukan untuk memungkinkan komunikasi antara instans DB dan sumber daya lainnya di VPC.

  4. Buat database dan konfigurasikan untuk menyertakan tabel yang akan digunakan aplikasi.

  5. Merancang dan memvalidasi skema database. 

Insinyur data, DevOps insinyur

Konfigurasikan dan gunakan konektor database untuk mendengarkan topik yang diterbitkan oleh Apply Engine.

  1. Rancang konektor database untuk menghubungkan topik Kafka dengan database AWS yang Anda buat di langkah sebelumnya.

  2. Kembangkan konektor berdasarkan basis data target.

  3. Konfigurasikan konektor untuk mendengarkan topik Kafka yang diterbitkan oleh Apply Engine.

  4. Terapkan konektor ke cluster Amazon EKS.

Pengembang aplikasi, arsitek Cloud, Insinyur data
TugasDeskripsiKeterampilan yang dibutuhkan

Tentukan tujuan pemulihan bencana untuk aplikasi bisnis Anda.

  1. Tentukan tujuan RPO dan RTO untuk jaringan pipa CDC berdasarkan kebutuhan bisnis Anda dan analisis dampak.

  2. Menentukan prosedur komunikasi dan pemberitahuan untuk memastikan bahwa semua pemangku kepentingan mengetahui rencana pemulihan bencana.

  3. Menentukan anggaran dan sumber daya yang dibutuhkan untuk melaksanakan rencana pemulihan bencana.

  4. Dokumentasikan tujuan pemulihan bencana, termasuk tujuan RPO dan RTO.

Arsitek cloud, Insinyur data, Pemilik aplikasi

Merancang strategi pemulihan bencana berdasarkan RTO/RPO yang ditentukan.

  1. Tentukan strategi pemulihan bencana yang paling tepat untuk jaringan pipa CDC berdasarkan kekritisan dan persyaratan pemulihan Anda.

  2. Mendefinisikan arsitektur pemulihan bencana dan topologi.

  3. Tentukan prosedur failover dan failback untuk saluran pipa CDC untuk memastikan bahwa mereka dapat dengan cepat dan mulus beralih ke Wilayah cadangan.

  4. Mendokumentasikan strategi dan prosedur pemulihan bencana dan memastikan bahwa semua pemangku kepentingan memiliki pemahaman yang jelas tentang desain.

Arsitek cloud, Insinyur data

Penyediaan cluster dan konfigurasi pemulihan bencana.

  1. Menyediakan Wilayah AWS sekunder untuk pemulihan bencana.

  2. Di Wilayah AWS sekunder, buat lingkungan yang identik dengan Wilayah AWS utama.

  3. Konfigurasikan Apache Kafka MirrorMaker antara Wilayah primer dan sekunder. Untuk informasi selengkapnya, lihat dokumentasi MSK Amazon.

  4. Konfigurasikan aplikasi siaga di Wilayah sekunder.

  5. Konfigurasikan replikasi database antara Wilayah primer dan sekunder.

DevOps insinyur, Administrator jaringan, Arsitek cloud

Uji pipa CDC untuk pemulihan bencana.

  1. Tentukan ruang lingkup dan tujuan uji pemulihan bencana untuk pipa CDC, termasuk skenario pengujian dan RTO yang akan dicapai.

  2. Identifikasi lingkungan pengujian dan infrastruktur untuk melakukan uji pemulihan bencana.

  3. Siapkan dataset pengujian dan skrip untuk mensimulasikan skenario kegagalan.

  4. Verifikasi integritas dan konsistensi data untuk memastikan bahwa tidak ada kehilangan data.

Pemilik aplikasi, Insinyur data, arsitek Cloud

Sumber daya terkait

Sumber daya AWS

Tepat Connect sumber daya

Sumber daya pertemuan