Bermigrasi ke Firestore dengan kompatibilitas MongoDB
Panduan ini akan memandu Anda melalui proses langkah demi langkah untuk memigrasikan database sumber yang kompatibel dengan MongoDB ke database Firestore dengan kompatibilitas MongoDB dengan waktu henti minimum.
Tentang proses migrasi
Proses migrasi memiliki tahap berikut:
Persiapan: Anda membuat resource yang diperlukan untuk migrasi dan menyiapkan variabel lingkungan yang akan digunakan untuk menjalankan perintah pada tahap selanjutnya dalam proses migrasi.
Mengimpor dari database sumber yang kompatibel dengan MongoDB: Anda menggunakan layanan Datastream untuk merekam konten database sumber yang kompatibel dengan MongoDB dan mentransfernya ke bucket Cloud Storage.
Menulis data ke database Firestore dengan kompatibilitas MongoDB: Anda menggunakan layanan Dataflow untuk mentransfer data dari bucket Cloud Storage ke database Firestore dengan kompatibilitas MongoDB.
Pipeline Dataflow ini akan berjalan secara bersamaan dengan aliran Datastream yang menarik data dari database sumber yang kompatibel dengan MongoDB.
Memigrasikan traffic ke Firestore: Pada titik yang sesuai dalam prosedur, Anda memigrasikan traffic baca dan tulis aplikasi ke database Firestore dengan kompatibilitas MongoDB dan menghentikan pipeline migrasi.
Diagram berikut merangkum proses migrasi:
Database sumber yang kompatibel dengan MongoDB Anda tetap dalam status penayangan saat transfer data berlangsung:
- Proses Datastream merekam data saat tidak digunakan dan peristiwa perubahan.
Akan ada periode singkat ketika sebagian layanan tidak tersedia saat Anda harus mematikan traffic tulis ke database sumber. Selama periode ini, peristiwa perubahan yang tersisa direplikasi ke Firestore.
Setelah replikasi selesai, database Firestore dengan kompatibilitas MongoDB dapat menjadi sumber kebenaran baru untuk workload aplikasi Anda. Semua traffic baca dan tulis dapat diarahkan ke database baru.
Langkah-langkah migrasi mendetail
Bagian ini menjelaskan migrasi secara lebih mendetail.
Layanan Datastream membuat aliran antara sumber dan tujuan. Dalam hal ini, sumbernya adalah deployment yang kompatibel dengan MongoDB saat ini, sedangkan tujuannya adalah Cloud Storage. Proses ini memiliki langkah-langkah berikut:
Buat profil koneksi Datastream sumber untuk sumber Mongo Anda. Petunjuk spesifik bergantung pada jenis dan cara sumber yang kompatibel dengan MongoDB Anda di-deploy.
Buat bucket Cloud Storage yang akan menerima data dan peristiwa perubahan dari database sumber yang kompatibel dengan MongoDB Anda.
Buat profil koneksi Datastream tujuan yang menggunakan bucket Cloud Storage ini.
Buat dan aktifkan aliran data Datastream yang menghubungkan profil koneksi sumber ke profil koneksi tujuan.
Mulai pipeline Dataflow untuk mulai memasukkan data yang diambil ke dalam database Firestore dengan kompatibilitas MongoDB.
Pantau aliran data untuk mengidentifikasi momen penting dalam proses migrasi guna menentukan apakah ada error yang terjadi selama transfer data.
Jika sesuai, hentikan traffic tulis ke database sumber. Setelah semua data, termasuk perubahan terbaru, direplikasi ke database Firestore dengan kompatibilitas MongoDB, alihkan traffic baca ke tujuan baru.
Aktifkan traffic tulis ke database Firestore dengan kompatibilitas MongoDB.
Tentang contoh kode
Contoh kode dalam panduan ini dimaksudkan untuk dieksekusi satu demi satu. Panduan ini mengasumsikan bahwa Anda mengonfigurasi lingkungan dengan menyiapkan semua variabel lingkungan sebelumnya. Setelah itu, Anda menjalankan perintah yang diperlukan untuk migrasi yang menggunakan variabel lingkungan yang sudah dikonfigurasi. Sebaiknya gunakan pendekatan ini. Karena banyak perintah menggunakan variabel lingkungan yang sama, Anda dapat mengurangi kemungkinan terjadinya error di antara berbagai tahap proses migrasi.
Sebagai alternatif, Anda dapat mengganti variabel dalam contoh perintah dengan nilai yang sama yang Anda tetapkan untuk variabel lingkungan yang sesuai.
Batasan
Sebelum memulai, tinjau perbedaan antara Firestore dengan kompatibilitas MongoDB dan MongoDB. Berikan perhatian khusus pada hal-hal berikut:
Jika ada data Anda yang tidak memenuhi batasan dalam kategori sebelumnya:
Sebaiknya atasi kondisi ini dalam set data Anda sebelum memulai proses migrasi.
Jika Anda memilih untuk melanjutkan tanpa perubahan, dokumen yang terpengaruh oleh batasan akan gagal ditulis ke Firestore dan akan dikesampingkan. Anda dapat memutuskan cara penanganan dokumen ini. Jika dikonversi ke jenis, nilai, atau ukuran yang didukung, item tersebut dapat diproses ulang.
Datastream memiliki persyaratan berikut:
Versi utama minimum MongoDB yang didukung oleh Datastream adalah 4.0. Untuk beberapa versi minor, ada versi patch minimum yang didukung:
- 4.0.21
- 4.2.10
- 4.4.2
Cluster MongoDB Anda harus mendukung Change Streams. Deployment MongoDB Anda harus dikonfigurasi sebagai kumpulan replika atau cluster yang di-shard agar Change Streams dapat diaktifkan.
Langkah berikutnya
Lanjutkan ke Mengonfigurasi resource untuk migrasi.