Migrasi terkelola adalah fitur otomatis yang membantu Anda memigrasikan data dari Hive Metastore yang dikelola sendiri ke layanan Dataproc Metastore, tanpa periode nonaktif yang signifikan (juga dikenal sebagai hari peluncuran).
Arsitektur Migrasi Terkelola
Diagram berikut memberikan arsitektur tingkat tinggi dari migrasi terkelola.
Alur migrasi terkelola
Untuk menyelesaikan migrasi terkelola, layanan Anda menjalankan dua proses migrasi—mulai migrasi dan selesaikan migrasi. Anda dapat membatalkan migrasi kapan saja dengan proses batalkan migrasi. Ada juga sejumlah perintah operasional yang dapat Anda jalankan, yang tidak diperlukan untuk menyelesaikan migrasi. Misalnya, list migrations atau delete migrations.
Saat layanan Anda melalui proses ini, layanan juga akan berpindah di antara berbagai
status migrasi dan fase migrasi. Status dan fase ini mewakili proses yang terjadi di latar belakang. Misalnya, status MIGRATING
menunjukkan bahwa layanan Anda sedang aktif mentransfer data dari database Cloud SQL ke Dataproc Metastore.
Mulai Migrasi
Dataproc Metastore membuat koneksi dengan instance Cloud SQL IP pribadi Anda. Setelah koneksi dibuat, Dataproc Metastore menggunakan instance Cloud SQL sebagai database backend Hive Metastore (HMS). Database ini juga tetap menjadi sumber kebenaran untuk data Anda selama migrasi. Pembacaan dan penulisan metadata masih terjadi di Cloud SQL saat migrasi aktif.
Pipeline pengambilan data perubahan (CDC) dimulai. Pipeline ini menjaga agar instance Cloud SQL di project Anda dan Spanner di project yang dikelola Dataproc Metastore tetap sinkron. Artinya, semua perubahan pada database HMS di instance Cloud SQL akan direkam melalui Datastream dan ditulis ke database Spanner Dataproc Metastore.
Setelah proses migrasi awal berhasil, Anda dapat mulai merutekan workload data ke Dataproc Metastore. Pada tahap ini, Cloud SQL masih menjadi sumber tepercaya untuk data Anda.
Selesaikan migrasi
Setelah selesai memindahkan workload ke Dataproc Metastore, Anda dapat menyelesaikan migrasi. Saat proses migrasi lengkap dipanggil, hal berikut akan terjadi:
- Dataproc Metastore akan bertransisi ke mode hanya baca hingga proses migrasi selesai.
- Aliran CDC mentransfer semua data dalam proses ke Dataproc Metastore.
- Dataproc Metastore terhubung ke Spanner dan terputus dari Cloud SQL. Dataproc Metastore kini bertindak sebagai sumber kebenaran untuk data HMS Anda.
Pertimbangan proxy dan pipeline
Proxy
Dataproc Metastore menggunakan proxy Auth Cloud SQL yang dirantai ke proxy SOCKS5 untuk terhubung ke instance Cloud SQL IP pribadi Anda. Server proxy SOCKS5 diekspos melalui lampiran layanan seperti yang ditunjukkan dalam diagram arsitektur sebelumnya.
Setiap migrasi memerlukan subnet NAT khusus. Hal ini karena subnet NAT tidak dapat memiliki lebih dari satu lampiran layanan.
Untuk menghindari masalah latensi lintas region, berikan subnet yang berada di region yang sama dengan instance Cloud SQL Anda untuk menghosting proxy SOCKS5. Misalnya,
proxy_subnet
dannat_subnet
.
Pipeline pengambilan data perubahan
Pipeline pengambilan data perubahan menggunakan peering VPC untuk membuat koneksi antara Datastream dan Cloud SQL IP pribadi
Untuk setiap migrasi, koneksi pribadi baru dibuat dan koneksi peering baru dibuat.
Jaringan VPC yang menghosting instance Cloud SQL memiliki koneksi peering sebanyak jumlah migrasi aktif. Pastikan jaringan VPC Anda memiliki kapasitas untuk menghosting semua koneksi peering yang diperlukan.