Mereplikasi dan menyinkronkan data mainframe di Azure

Azure Data Factory
Azure Databricks

Arsitektur referensi ini menguraikan rencana implementasi untuk mereplikasi dan menyinkronkan data selama modernisasi ke Azure. Ini membahas aspek teknis seperti penyimpanan data, alat, dan layanan.

Arsitektur

Architecture diagram showing how to sync on-premises and Azure databases during mainframe modernization.

Unduh file Visio arsitektur ini.

Alur kerja

Sistem mainframe dan midrange memperbarui database aplikasi lokal secara berkala. Untuk menjaga konsistensi, solusi menyinkronkan data terbaru dengan database Azure. Proses penyinkronan ini melibatkan langkah-langkah berikut:

  1. Tindakan ini terjadi sepanjang proses:

    1. Gateway data lokal mentransfer data dengan cepat dan aman antara sistem lokal dan layanan Azure. Dengan konfigurasi ini, gateway data lokal dapat menerima instruksi dari Azure dan mereplikasi data tanpa jaringan lokal yang secara langsung mengekspos aset data lokal.
    2. Alur Azure Data Factory mengatur aktivitas yang berkisar dari ekstraksi data hingga pemuatan data. Anda dapat menjadwalkan aktivitas alur, memulainya secara manual, atau memicunya secara otomatis.
  2. Database lokal seperti Db2 zOS, Db2 for i, dan Db2 LUW menyimpan data.

  3. Alur mengelompokkan aktivitas yang melakukan tugas. Untuk mengekstrak data, Data Factory secara dinamis membuat satu alur per tabel lokal. Anda kemudian dapat menggunakan implementasi paralel secara masif saat mereplikasi data di Azure. Tetapi Anda juga dapat mengonfigurasi solusi untuk memenuhi persyaratan Anda:

    • Replikasi penuh: Anda mereplikasi seluruh database, membuat modifikasi yang diperlukan untuk tipe dan bidang data dalam database Target Azure.
    • Replikasi parsial, delta, atau inkremental: Anda menggunakan kolom tanda air di tabel sumber untuk menyinkronkan baris yang diperbarui dengan database Azure. Kolom ini berisi kunci yang terus bertambah atau stempel waktu yang menunjukkan pembaruan terakhir tabel.

    Data Factory juga menggunakan alur untuk tugas transformasi berikut:

    • Konversi tipe data
    • Manipulasi data
    • Pemformatan data
    • Derivasi kolom
    • Perataan data
    • Pengurutan data
    • Pemfilteran data
  4. Runtime integrasi yang dihosting sendiri (IR) menyediakan lingkungan yang digunakan Data Factory untuk menjalankan dan mengirim aktivitas.

  5. Azure Data Lake Storage Gen2 dan Azure Blob Storage menyediakan tempat untuk penahapan data. Langkah ini terkadang diperlukan untuk mengubah dan menggabungkan data dari berbagai sumber.

  6. Persiapan data dilakukan selanjutnya. Data Factory menggunakan Azure Databricks, aktivitas kustom, dan aliran data alur untuk mengubah data dengan cepat dan efektif.

  7. Data Factory memuat data ke database Azure relasional dan non-relasional:

    • Azure SQL
    • Azure Database untuk PostgreSQL
    • Azure Cosmos DB
    • Azure Data Lake Storage
    • Azure Database untuk MariaDB
    • Azure Database untuk MySQL

    Dalam kasus penggunaan tertentu, alat lain juga dapat memuat data.

  8. Alat lain juga dapat mereplikasi dan mengubah data:

    • Microsoft Service for Distributed Relational Database Architecture (DRDA): Layanan DRDA ini dapat terhubung ke keluarga database Azure SQL dan menjaga database lokal tetap terkini. Layanan ini berjalan pada mesin virtual (VM) lokal atau Azure VM.
    • SQL Server Migration Assistance (SSMA) untuk Db2: Alat ini memigrasikan skema dan data dari database IBM Db2 ke database Azure.
    • SQL Server Integration Services (SSIS): Platform ini dapat mengekstrak, mengubah, dan memuat data.
    • Alat pihak ketiga: Jika solusi membutuhkan replikasi real-time dekat, Anda dapat menggunakan alat pihak ketiga. Beberapa agen ini tersedia di Azure Marketplace.
  9. Azure Synapse Analytics mengelola data dan membuatnya tersedia untuk kecerdasan bisnis dan aplikasi pembelajaran mesin.

Komponen

Solusinya menggunakan komponen berikut:

Alat

  • Microsoft Service for DRDA adalah komponen dari Host Integration Server (HIS). Microsoft Service untuk DRDA adalah Application Server (AS) yang digunakan klien DRDA Application Requester (AR). Contoh klien DRDA AR termasuk IBM Db2 untuk z/OS dan Db2 untuk i5/OS. Klien ini menggunakan AS untuk mengonversi pernyataan SQL Db2 dan menjalankannya di SQL Server.

  • SSMA untuk Db2 mengotomatiskan migrasi dari Db2 ke layanan database Microsoft. Saat berjalan di VM, alat ini mengonversi objek database Db2 menjadi objek database SQL Server dan membuat objek tersebut di SQL Server. SSMA untuk Db2 kemudian memigrasikan data dari Db2 ke layanan berikut:

    • SQL Server 2012
    • SQL Server 2014
    • SQL Server 2016
    • SQL Server 2017 di Windows atau Linux
    • SQL Server 2019 di Windows dan Linux
    • Database Azure SQL
  • Azure Synapse Analytics adalah layanan analitik untuk gudang data dan sistem big data. Alat ini menggunakan teknologi Spark dan memiliki integrasi mendalam dengan Power BI, Azure Machine Learning, dan layanan Azure lainnya.

Integrator data

  • Azure Data Factory adalah layanan integrasi data hibrid. Anda dapat menggunakan solusi tanpa server yang terkelola sepenuhnya ini untuk membuat, menjadwalkan, dan mengatur alur kerja ETL dan ELT.

  • Azure Synapse Analytics adalah layanan analitik perusahaan yang mempercepat waktu untuk wawasan, di seluruh gudang data dan sistem big data. Azure Synapse menyatukan teknologi SQL terbaik (yang digunakan dalam pergudangan data perusahaan), teknologi Spark yang digunakan untuk big data, Data Explorer untuk analitik log dan rangkaian waktu, Alur untuk integrasi data dan ETL/ELT, dan integrasi mendalam dengan layanan Azure lainnya, seperti Power BI, Azure Cosmos DB, dan Azure Pembelajaran Mesin.

  • SQL Server Integration Services (SSIS) adalah platform untuk membangun solusi transformasi dan integrasi data tingkat perusahaan. Anda dapat menggunakan SSIS untuk mengelola, mereplikasi, membersihkan, dan menambang data.

  • Azure Databricks adalah platform analisis data. Berdasarkan sistem pemrosesan terdistribusi sumber terbuka Apache Spark, Azure Databricks dioptimalkan untuk platform cloud Azure. Dalam alur kerja analitik, Azure Databricks membaca data dari berbagai sumber dan menggunakan Spark untuk memberikan wawasan.

Penyimpanan data

  • Azure SQL Database adalah bagian dari keluarga Azure SQL dan dibangun untuk cloud. Layanan ini menawarkan semua manfaat dari platform yang dikelola sepenuhnya dan selalu relevan serta bertahan lama sebagai layanan. SQL Database juga menyediakan fitur otomatis bertenaga AI yang mengoptimalkan performa dan durabilitas. Komputasi tanpa server dan Opsi penyimpanan hyperscale secara otomatis menskalakan sumber daya sesuai permintaan.

  • SQL Managed Instance adalah bagian dari portofolio layanan Azure SQL. Layanan database cloud yang cerdas dan dapat diskalakan ini menggabungkan kompatibilitas mesin SQL Server terluas dengan semua manfaat dari platform as a service yang dikelola penuh dan selalu aktif. Dengan SQL Managed Instance, Anda dapat memodernisasi aplikasi yang ada dalam skala besar.

  • SQL Server di Azure VM menyediakan cara untuk memigrasikan beban kerja SQL Server ke cloud dengan kompatibilitas kode 100 persen. Sebagai bagian dari keluarga Azure SQL, SQL Server di Azure VM menawarkan gabungan performa, keamanan, dan analitik SQL Server dengan fleksibilitas dan konektivitas hibrid Azure. Dengan SQL Server di Azure VM, Anda dapat memigrasikan aplikasi yang ada atau membuat aplikasi baru. Anda juga dapat mengakses pembaruan dan rilis SQL Server terbaru, termasuk SQL Server 2019.

  • Azure Database for PostgreSQL adalah layanan database hubungan yang dikelola sepenuhnya yang didasarkan pada edisi komunitas sumber terbuka mesin database PostgreSQL. Dengan layanan ini, Anda dapat fokus pada inovasi aplikasi, bukan manajemen database. Anda juga dapat menskalakan beban kerja dengan cepat dan mudah.

  • Azure Cosmos DB adalah database multi-model yang terdistribusi secara global. Dengan Azure Cosmos DB, solusi Anda dapat secara elastis dan mandiri menskalakan throughput dan penyimpanan di sejumlah wilayah geografis. Layanan database NoSQL yang terkelola sepenuhnya ini menjamin latensi milidetik satu digit pada persentil kesembilan puluh sembilan di mana pun di dunia.

  • Data Lake Storage adalah gudang penyimpanan yang menyimpan data dalam jumlah besar dalam format asli dan mentahnya. Penyimpanan data lake dioptimalkan untuk penskalaan data hingga terabyte dan petabyte. Data biasanya berasal dari berbagai sumber yang heterogen dan mungkin terstruktur, semi terstruktur, atau tidak terstruktur. Data Lake Storage Gen2 menggabungkan kemampuan Data Lake Storage Gen1 dengan Storage Blob. Solusi data lake generasi berikutnya ini menyediakan semantik sistem file, keamanan tingkat file, dan skala. Tetapi juga menawarkan penyimpanan berjenjang, ketersediaan tinggi, dan kemampuan pemulihan bencana Blob Storage.

  • Azure Database for MariaDB adalah layanan database hubungan berbasis cloud. Layanan ini didasarkan pada mesin database edisi komunitas MariaDB.

  • Azure Database for MySQL adalah layanan database hubungan yang terkelola sepenuhnya berdasarkan mesin database MySQL sumber terbuka edisi komunitas.

  • Blob Storage menyediakan penyimpanan objek cloud yang dioptimalkan yang mengelola sejumlah besar data tidak terstruktur.

Jaringan

  • Gateway data lokal bertindak sebagai jembatan yang menghubungkan data lokal dengan layanan cloud. Biasanya, Anda menginstal gateway pada VM lokal khusus. Layanan cloud kemudian dapat menggunakan data lokal dengan aman.

  • IR adalah infrastruktur komputasi yang digunakan Data Factory untuk mengintegrasikan data di berbagai lingkungan jaringan. Data Factory menggunakan IR yang dihosting sendiri untuk menyalin data antara penyimpanan data cloud dan penyimpanan data di jaringan lokal. Anda juga dapat menggunakan Azure Synapse Pipelines.

Detail skenario

Ketersediaan dan integritas data memainkan peran penting dalam modernisasi midrange dan mainframe. Strategi data-first membantu menjaga data tetap utuh dan tersedia selama migrasi ke Azure. Untuk menghindari dampak pada aplikasi selama modernisasi, terkadang Anda perlu mereplikasi data dengan cepat atau menjaga data lokal tetap sinkron dengan database Azure.

Secara khusus, solusi ini mencakup:

  • Ekstraksi: Menghubungkan ke dan mengekstrak dari database sumber.
  • Transformasi:
    • Penahapan: Menyimpan data sementara dalam format aslinya dan mempersiapkannya untuk transformasi.
    • Persiapan: Mengubah dan memanipulasi data dengan menggunakan aturan pemetaan yang memenuhi persyaratan database target.
  • Memuat: Menyisipkan data ke dalam database target.

Kemungkinan kasus penggunaan

Replikasi data dan skenario sinkronisasi yang dapat memperoleh manfaat dari solusi ini meliputi:

  • Arsitektur Command Query Responsibility Segregation (CQRS) yang menggunakan Azure untuk melayani semua saluran pertanyaan.
  • Lingkungan yang menguji aplikasi lokal dan aplikasi yang dihosting ulang atau direkayasa ulang secara paralel.
  • Sistem lokal dengan aplikasi yang digabungkan erat yang memerlukan remediasi bertahap atau modernisasi.

Rekomendasi

Saat Anda menggunakan Data Factory untuk mengekstrak data, lakukan langkah-langkah untuk menyesuaikan performa aktivitas penyalinan.

Pertimbangan

Pertimbangan ini mengimplementasikan pilar Azure Well-Architected Framework, yang merupakan serangkaian tenet panduan yang dapat digunakan untuk meningkatkan kualitas beban kerja. Untuk informasi selengkapnya, lihat Microsoft Azure Well-Architected Framework.

Ingatlah poin-poin ini ketika mempertimbangkan arsitektur ini.

Keandalan

Keandalan memastikan aplikasi Anda dapat mencapai komitmen yang Anda buat kepada pelanggan Anda. Untuk informasi selengkapnya, lihat Gambaran Umum pilar keandalan.

  • Manajemen infrastruktur, termasuk ketersediaan, dijalankan secara otomatis dalam database Azure.

  • Lihat Pooling dan failover untuk informasi tentang perlindungan failover yang disediakan Microsoft Service for DRDA.

  • Anda dapat mengelompokkan gateway data lokal dan IR untuk memberikan jaminan ketersediaan yang lebih tinggi.

Keamanan

Keamanan memberikan jaminan terhadap serangan yang disukai dan penyalahgunaan data dan sistem berharga Anda. Untuk informasi selengkapnya, lihat Gambaran Umum pilar keamanan.

  • Manfaatkan kelompok keamanan jaringan untuk membatasi akses layanan hanya pada apa yang mereka butuhkan untuk berfungsi.

  • Gunakan titik akhir privat untuk layanan PaaS (Platform as a Service) Anda. Gunakan firewall layanan untuk melengkapi keamanan untuk layanan Anda yang dapat dijangkau dan tidak dapat dijangkau melalui Internet.

  • Ketahui perbedaan antara identitas klien lokal dan identitas klien di Azure. Anda harus mengimbangi perbedaan apa pun.

  • Gunakan identitas terkelola untuk aliran data komponen-ke-komponen.

  • Lihat Merencanakan dan Merancang Solusi Menggunakan Layanan Microsoft untuk DRDA untuk mempelajari tentang jenis koneksi klien yang didukung Microsoft Service untuk DRDA. Koneksi klien memengaruhi sifat transaksi, pengumpulan, failover, autentikasi, dan enkripsi di jaringan Anda.

Pengoptimalan biaya

Optimalisasi biaya adalah tentang mencari cara untuk mengurangi pengeluaran yang tidak perlu dan meningkatkan efisiensi operasional. Untuk informasi selengkapnya, lihat Gambaran umum pilar pengoptimalan biaya.

  • Model harga bervariasi di antara layanan komponen. Tinjau model harga layanan komponen yang tersedia untuk memastikan model harga sesuai dengan anggaran Anda.

  • Gunakan kalkulator harga Azure untuk memperkirakan biaya penerapan solusi ini.

Keunggulan operasional

Keunggulan operasional mencakup proses operasi yang menyebarkan aplikasi dan membuatnya tetap berjalan dalam produksi. Untuk informasi selengkapnya, lihat Gambaran umum pilar keunggulan operasional.

  • Manajemen infrastruktur, termasuk skalabilitas, dijalankan secara otomatis dalam database Azure.

  • Anda dapat meluaskan skala IR yang dihost sendiri dengan mengaitkan instans logis ke sejumlah komputer lokal dalam mode aktif-aktif.

  • Anda dapat mengelompokkan gateway data lokal dan IR untuk skalabilitas.

Efisiensi kinerja

Efisiensi performa adalah kemampuan beban kerja Anda untuk diskalakan agar memenuhi permintaan yang diberikan oleh pengguna dengan cara yang efisien. Untuk informasi selengkapnya, lihat Gambaran umum pilar efisiensi performa.

Langkah berikutnya