Untuk migrasi PostgreSQL homogen ke Cloud SQL, Database Migration Service terhubung ke instance Cloud SQL untuk PostgreSQL tujuan dan mengelola proses migrasi berkelanjutan atas namanya. Instance tujuan membuat koneksi ke database sumber, sementara Database Migration Service mengatur dan memantau pipeline data end-to-end.
Untuk migrasi PostgreSQL homogen standar ke Cloud SQL,
Database Migration Service mendukung migrasi berkelanjutan.
Dalam migrasi berkelanjutan, data awal dimuat dari dump snapshot, lalu
perubahan data yang sedang berlangsung terus direplikasi dari write-ahead log (WAL) database sumber
menggunakan decoding logis dan ekstensi pglogical.
Untuk
migrasi mulai cepat berkelanjutan, Database Migration Service menggunakan pgnative.
Fase migrasi berkelanjutan
Migrasi berkelanjutan berlangsung melalui fase berurutan berikut:
Migrasi standar
-
Penyiapan dan orkestrasi replikasi: Saat Anda membuat tugas migrasi, Database Migration Service mengonfigurasi instance Cloud SQL untuk PostgreSQL tujuan agar bertindak sebagai replika dan membuat langganan replikasi dengan ekstensi
pglogical. Saat bermigrasi ke instance Cloud SQL yang ada, Database Migration Service akan mendemosikan instance untuk mengonfigurasinya sebagai replika eksternal (tanpa menempatkan database dalam mode hanya baca). - Fase snapshot awal: Saat Anda memulai tugas migrasi, Database Migration Service akan mengambil snapshot yang konsisten dari database yang dipilih di instance sumber. Proses ini memerlukan penguncian tabel singkat (biasanya kurang dari 10 detik per tabel) saat snapshot diinisialisasi. Database sumber terus menerima pembacaan dan penulisan selama proses berlangsung.
- Fase pemuatan data: Database Migration Service mengalirkan data snapshot awal dari database sumber dan memuatnya ke instance Cloud SQL untuk PostgreSQL tujuan.
- Pembuatan batasan dan indeks: Setelah pemuatan data awal selesai, batasan tabel (termasuk kunci utama dan kunci asing) serta indeks sekunder akan dibuat di instance tujuan. Memisahkan pemuatan data dari pembuatan batasan akan mengoptimalkan kecepatan penyerapan data.
-
Fase pengambilan data perubahan (CDC): Setelah batasan diterapkan, Database Migration Service akan memasuki fase CDC berkelanjutan. Selama CDC,
Database Migration Service menangkap perubahan DML yang sedang berlangsung dari aliran replikasi logis
database sumber menggunakan
pglogicaldan menerapkannya ke instance tujuan hampir secara real time. - Fase cutover dan promosi: Saat Anda siap mengalihkan traffic aplikasi ke instance tujuan, hentikan penulisan ke database sumber, pastikan jeda replikasi mencapai nol, dan mulai promosi di Database Migration Service. Selama promosi, Database Migration Service memutuskan koneksi instance tujuan dari sumber, menghapus slot replikasi, dan mengubah tujuan menjadi instance utama Cloud SQL untuk PostgreSQL mandiri yang dapat dibaca/ditulis.
Migrasi mulai cepat
-
Penyiapan dan orkestrasi replikasi: Saat Anda membuat tugas migrasi, Database Migration Service akan otomatis menyiapkan konektivitas jaringan melalui IP pribadi menggunakan antarmuka Private Service Connect (otomatis membuat konfigurasi konektivitas pribadi, lampiran jaringan, dan subnet). Tugas ini membuat replikasi antara database sumber dan tujuan menggunakan replikasi logis PostgreSQL (dengan
pgnative), tanpa memerlukan penginstalan ekstensipglogicaldi sumber atau mendemosikan instance tujuan. Tujuan dapat berupa instance aktif yang menyalurkan traffic ke database lain. - Fase snapshot awal: Saat Anda memulai tugas migrasi, Database Migration Service akan mengambil snapshot yang konsisten dari database yang dipilih (memigrasikan hingga 50 database per tugas) di server database sumber. Database sumber terus menerima pembacaan dan penulisan selama proses berlangsung.
- Fase pemuatan data: Database Migration Service mengalirkan data snapshot awal langsung ke instance Cloud SQL untuk PostgreSQL tujuan melalui konektivitas pribadi. Objek database tujuan diberi kepemilikan kepada pengguna migrasi yang dibuat oleh Database Migration Service (saat menggunakan konsol Google Cloud ) atau ditentukan dengan Google Cloud CLI.
- Pembuatan batasan dan indeks: Setelah pemuatan data awal selesai, batasan tabel dan indeks sekunder dibuat di instance tujuan untuk memastikan fidelitas skema sekaligus memaksimalkan performa penyerapan.
-
Fase pengambilan data perubahan (CDC): Setelah batasan diterapkan, Database Migration Service akan memasuki fase CDC berkelanjutan. Selama CDC,
Database Migration Service mengalirkan perubahan DML yang sedang berlangsung dari aliran replikasi logis
pgnativePostgreSQL dan menerapkannya ke instance tujuan dalam waktu hampir real-time. Untuk tabel tanpa kunci utama, operasiUPDATEdanDELETEdapat direplikasi saat identitas replika tabel dikonfigurasi keINDEXatauFULL. - Fase peralihan dan promosi: Saat Anda siap mengalihkan traffic aplikasi ke instance tujuan, hentikan penulisan ke database sumber, pastikan jeda replikasi mencapai nol, dan mulai promosi di Database Migration Service. Selama promosi, Database Migration Service menyelesaikan replikasi CDC, menghentikan slot replikasi, dan melepaskan pipeline migrasi, sehingga database Cloud SQL untuk PostgreSQL tujuan Anda beroperasi sepenuhnya untuk koneksi klien.
Langkah berikutnya
Untuk mempelajari lebih lanjut dukungan data dan fitur PostgreSQL di Database Migration Service, lihat Batasan umum.
Untuk mendapatkan panduan migrasi langkah demi langkah yang lengkap, lihat Memulai migrasi Cloud SQL untuk PostgreSQL.