Bagikan melalui


Memigrasikan data dari Cassandra ke Azure Cosmos DB untuk akun Apache Cassandra menggunakan Arcion

BERLAKU UNTUK: Cassandra

API untuk Cassandra di Azure Cosmos DB telah menjadi pilihan yang bagus untuk beban kerja perusahaan yang berjalan di Apache Cassandra karena berbagai alasan seperti:

  • Tidak ada overhead pengelolaan dan pemantauan: Ini menghilangkan overal pengelolaan dan pemantauan berbagai pengaturan di OS, JVM, dan file yaml dan interaksinya.

  • Penghematan biaya yang signifikan: Anda dapat menghemat biaya dengan Azure Cosmos DB, yang mencakup biaya VM, bandwidth, dan lisensi apa pun yang berlaku. Anda tidak perlu mengelola pusat data, server, penyimpanan SSD, jaringan, dan biaya listrik.

  • Kemampuan untuk menggunakan kode dan alat yang ada: Azure Cosmos DB menyediakan kompatibilitas tingkat protokol kawat dengan SDK dan alat Cassandra yang ada. Kompatibilitas ini memastikan Anda dapat menggunakan basis kode yang ada dengan Azure Cosmos DB untuk Apache Cassandra dengan perubahan sepele.

Ada banyak cara untuk memigrasikan beban kerja database dari satu platform ke platform lainnya. Arcion adalah alat yang menawarkan cara yang aman dan andal untuk melakukan migrasi tanpa henti dari database lain ke Azure Cosmos DB. Artikel ini menjelaskan langkah-langkah yang diperlukan untuk memigrasikan data dari database Apache Cassandra ke Azure Cosmos DB untuk Apache Cassandra menggunakan Arcion.

Catatan

Penawaran dari Arcion ini saat ini dalam versi beta. Untuk informasi selengkapnya, harap hubungi Arcion di Dukungan Arcion

Keuntungan menggunakan Arcion untuk migrasi

Solusi migrasi Arcion mengikuti pendekatan langkah demi langkah untuk memigrasikan beban kerja operasional yang kompleks. Berikut ini adalah beberapa aspek utama dari paket migrasi tanpa waktu henti dari Arcion:

  • Ini menawarkan migrasi otomatis logika bisnis (tabel, indeks, tampilan) dari database Apache Cassandra ke Azure Cosmos DB. Anda tidak perlu membuat skema secara manual.

  • Blitzz menawarkan replikasi database volume tinggi dan paralel. Ini memungkinkan platform sumber dan target untuk disinkronkan selama migrasi dengan menggunakan teknik yang disebut Change-Data-Capture (CDC). Dengan menggunakan CDC, Arcion terus menarik aliran perubahan dari database sumber (Apache Cassandra) dan menerapkannya ke database tujuan (Azure Cosmos DB).

  • Ini toleran terhadap kesalahan dan menyediakan satu kali pengiriman data bahkan selama kegagalan perangkat keras atau perangkat lunak dalam sistem.

  • Ini mengamankan data selama transit menggunakan metodologi keamanan seperti TLS, enkripsi.

Langkah-langkah untuk migrasi data

Bagian ini menjelaskan langkah-langkah yang diperlukan untuk menyiapkan Arcion dan memigrasikan data dari database Apache Cassandra ke Azure Cosmos DB.

  1. Dari komputer tempat Anda berencana menginstal replika Arcion, tambahkan sertifikat keamanan. Sertifikat ini diperlukan oleh replika Arcion untuk membuat koneksi TLS dengan akun Azure Cosmos DB yang ditentukan. Anda bisa menambahkan sertifikat dengan langkah-langkah berikut:

    wget https://cacert.omniroot.com/bc2025.crt
    mv bc2025.crt bc2025.cer
    keytool -keystore $JAVA_HOME/lib/security/cacerts -importcert -alias bc2025ca -file bc2025.cer
    
  2. Anda bisa mendapatkan penginstalan Arcion dan file biner dengan meminta demo di situs web Arcion. Atau, Anda juga dapat mengirim email ke tim.

    Pengunduhan alat replika Arcion

    File replika Arcion

  3. Dari terminal CLI, siapkan konfigurasi database sumber. Buka file konfigurasi menggunakan perintah vi conf/conn/cassandra.yml dan tambahkan daftar alamat IP yang dipisahkan koma dari node Cassandra, nomor port, nama pengguna, kata sandi, dan detail lain yang diperlukan. Berikut ini adalah contoh konten dalam file konfigurasi:

    type: CASSANDRA
    
    host: 172.17.0.2
    port: 9042
    
    username: 'cassandra'
    password: 'cassandra'
    
    max-connections: 30
    
    

    Buka editor koneksi Cassandra

    Konfigurasi koneksi Cassandra

    Setelah mengisi detail konfigurasi, simpan dan tutup file.

  4. Secara opsional, Anda bisa menyiapkan file filter database sumber. File filter menentukan skema atau tabel mana yang akan dimigrasikan. Buka file konfigurasi menggunakan perintah vi filter/cassandra_filter.yml dan masukkan detail konfigurasi berikut:

    
    allow:
    -	schema: “io_arcion”
    Types: [TABLE]
    

    Setelah mengisi detail filter database, simpan dan tutup file.

  5. Selanjutnya Anda akan mengatur konfigurasi database tujuan. Sebelum Anda menentukan konfigurasi, buat akun Azure Cosmos DB for Apache Cassandra lalu buat Keyspace, dan tabel untuk menyimpan data yang dimigrasikan. Karena Anda bermigrasi dari Apache Cassandra ke API untuk Cassandra di Azure Cosmos DB, Anda dapat menggunakan kunci partisi yang sama dengan yang telah Anda gunakan dengan Apache cassandra.

  6. Sebelum memigrasikan data, tingkatkan throughput kontainer ke jumlah yang diperlukan agar aplikasi Anda bermigrasi dengan cepat. Misalnya, Anda dapat meningkatkan throughput ke 100000 RU. Menskalakan throughput sebelum memulai migrasi akan membantu Anda melakukan migrasi data dalam waktu yang lebih singkat.

    Menskalakan kontainer Azure Cosmos DB di seluruh

    Kurangi throughput setelah migrasi selesai. Berdasarkan jumlah data yang disimpan dan RU yang diperlukan untuk setiap operasi, Anda dapat memperkirakan throughput yang diperlukan setelah migrasi data. Untuk mempelajari selengkapnya tentang cara memperkirakan RU yang diperlukan, lihat Throughput penyediaan pada kontainer dan database dan Estimasi RU/s menggunakan artikel perencana kapasitas Microsoft Azure Cosmos DB.

  7. Dapatkan Titik Kontak, Port, Nama Pengguna, dan Kata Sandi Utama akun Azure Cosmos DB Anda dari panel String Koneksi. Anda akan menggunakan nilai-nilai ini dalam file konfigurasi.

  8. Dari terminal CLI, siapkan konfigurasi database sumber. Buka file konfigurasi menggunakan perintah vi conf/conn/cosmosdb.yml dan tambahkan daftar URI host, nomor port, nama pengguna, kata sandi, dan parameter lain yang dipisahkan koma. Contoh berikut menunjukkan konten file konfigurasi:

    type: COSMOSDB
    
    host: '<Azure Cosmos DB account’s Contact point>'
    port: 10350
    
    username: 'arciondemo'
    password: '<Your Azure Cosmos DB account’s primary password>'
    
    max-connections: 30
    
  9. Selanjutnya migrasikan data menggunakan Arcion. Anda dapat menjalankan replika Arcion dalam mode penuh atau snapshot:

    • Mode penuh - Dalam mode ini, replika terus berjalan setelah migrasi dan mendengarkan setiap perubahan pada sistem sumber Apache Cassandra. Jika mendeteksi perubahan apa pun, perubahan tersebut direplikasi pada akun Azure Cosmos DB target secara real time.

    • Mode rekam jepret - Dalam mode ini, Anda dapat melakukan migrasi skema dan replikasi data satu kali. Replikasi real-time tidak didukung dengan opsi ini.

    Dengan menggunakan dua mode di atas, migrasi dapat dilakukan dengan waktu henti nol.

  10. Untuk memigrasikan data, dari terminal CLI replika Arcion, jalankan perintah berikut:

    ./bin/replicant full conf/conn/cassandra.yaml conf/conn/cosmosdb.yaml --filter filter/cassandra_filter.yaml --replace-existing
    

    UI replikasi menunjukkan kemajuan replikasi. Setelah operasi migrasi skema dan rekam jepret selesai, kemajuan menunjukkan 100%. Setelah migrasi selesai, Anda dapat memvalidasi data pada database Azure Cosmos DB target.

    Output migrasi data Cassandra

  11. Karena Anda telah menggunakan mode penuh untuk migrasi, Anda dapat melakukan operasi seperti menyisipkan, memperbarui, atau menghapus data pada database Apache Cassandra sumber. Kemudian validasi bahwa mereka direplikasi secara real time pada database Azure Cosmos DB target. Setelah migrasi, pastikan untuk mengurangi throughput yang dikonfigurasi untuk kontainer Azure Cosmos DB Anda.

  12. Anda dapat menghentikan replika pada titik mana pun dan memulai ulang dengan tombol --lanjutkan. Replikasi dilanjutkan dari titik yang telah dihentikan tanpa mengorbankan konsistensi data. Perintah berikut ini memperlihatkan cara menggunakan tombol lanjutkan.

    ./bin/replicant full conf/conn/cassandra.yaml conf/conn/cosmosdb.yaml --filter filter/cassandra_filter.yaml --replace-existing --resume
    

Untuk mempelajari selengkapnya tentang migrasi data ke tujuan, migrasi real time, lihat demo replika Arcion.

Langkah berikutnya