Migrasi terkelola adalah fitur otomatis yang membantu Anda memigrasikan data dari Hive Metastore yang dikelola secara mandiri ke layanan Dataproc Metastore, tanpa periode nonaktif yang cukup besar (atau dikenal sebagai flag day).
Arsitektur Migrasi Terkelola
Diagram berikut memberikan arsitektur tingkat tinggi dari migrasi terkelola.
Alur migrasi terkelola
Untuk menyelesaikan migrasi terkelola, layanan Anda akan menjalankan dua proses migrasi—memulai migrasi dan menyelesaikan migrasi. Anda dapat membatalkan migrasi kapan saja dengan proses membatalkan 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 secara 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 membuat instance Cloud SQL di project Anda dan Spanner di project yang dikelola Metastore Dataproc tetap sinkron. Artinya, semua perubahan pada database HMS di instance Cloud SQL akan direkam melalui Datastream dan ditulis ke database Spanner Metastore Dataproc.
Setelah proses migrasi awal berhasil, Anda dapat mulai merutekan workload data ke Dataproc Metastore. Pada tahap ini, Cloud SQL masih merupakan sumber tepercaya untuk data Anda.
Menyelesaikan 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 lengkap selesai.
- Streaming CDC mentransfer semua data yang sedang ditransfer ke Dataproc Metastore.
- Metastore Dataproc terhubung ke Spanner dan terputus dari Cloud SQL. Dataproc Metastore kini bertindak sebagai sumber kebenaran untuk data HMS Anda.
Pertimbangan proxy dan pipeline
Proxy
Metastore Dataproc 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 rekam data perubahan menggunakan peering VPC untuk membuat koneksi antara Datastream dan Cloud SQL IP pribadi
Untuk setiap migrasi, koneksi pribadi baru akan dibuat dan koneksi peering baru akan dibuat.
Jaringan VPC yang menghosting instance Cloud SQL memiliki koneksi peering sebanyak migrasi yang aktif. Pastikan jaringan VPC Anda memiliki kapasitas untuk menghosting semua koneksi peering yang diperlukan.