Migrasi terkelola adalah fitur otomatis yang membantu Anda memigrasikan data dari Hive Metastore yang dikelola sendiri ke layanan Dataproc Metastore, tanpa periode nonaktif yang cukup besar (disebut juga hari pelaporan).
Arsitektur Migrasi Terkelola
Diagram berikut memberikan arsitektur tingkat tinggi untuk migrasi terkelola.
Alur migrasi terkelola
Untuk menyelesaikan migrasi terkelola, layanan Anda akan berjalan melalui dua proses migrasi—mulai migrasi dan selesaikan 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, cantumkan migrasi atau hapus migrasi.
Saat melalui proses ini, layanan Anda juga berpindah 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 aktif mentransfer data dari database Cloud SQL ke Dataproc Metastore.
Mulai Migrasi
Metastore Dataproc membuat koneksi dengan instance Cloud SQL IP pribadi Anda. Setelah koneksi dibuat, Metastore Dataproc menggunakan instance Cloud SQL sebagai database backend Hive Metastore (HMS). ID 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 terkelola Dataproc akan tetap sinkron. Artinya, semua perubahan pada database HMS di instance Cloud SQL direkam melalui Datastream dan ditulis ke database Spanner Metastore Dataproc.
Setelah proses migrasi dimulai, Anda dapat mulai merutekan workload data ke Dataproc Metastore. Pada tahap ini, Cloud SQL masih menjadi sumber kebenaran data Anda.
Selesaikan migrasi
Setelah selesai memindahkan workload ke Dataproc Metastore, Anda dapat menyelesaikan migrasi. Saat proses migrasi lengkap dipanggil, hal berikut akan terjadi:
- Metastore Dataproc bertransisi ke mode hanya baca hingga proses migrasi selesai selesai.
- Aliran CDC mentransfer semua data dalam proses ke Dataproc Metastore.
- Metastore Dataproc terhubung ke Spanner dan terputus dari Cloud SQL. Metastore Dataproc kini bertindak sebagai sumber kebenaran untuk data HMS Anda.
Pertimbangan proxy dan pipeline
Proxy
Metastore Dataproc menggunakan proxy Cloud SQL Auth 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. Ini karena subnet NAT tidak boleh memiliki lebih dari satu lampiran layanan.
Untuk menghindari masalah latensi lintas region, sediakan subnet yang berada di region yang sama dengan instance Cloud SQL Anda untuk menghosting proxy SOCKS5. Misalnya,
proxy_subnet
dannat_subnet
.
Mengubah pipeline pengambilan data
Pipeline pengambilan 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 jumlah migrasi yang aktif. Pastikan jaringan VPC Anda memiliki kapasitas untuk menghosting semua koneksi peering yang diperlukan.