Memigrasikan data

Setelah mengoptimalkan skema Spanner dan memigrasikan aplikasi, Anda dapat memindahkan data ke database Spanner berukuran produksi yang kosong, lalu mengalihkan aplikasi untuk menggunakan database Spanner.

Bergantung pada kasus penggunaan, Anda mungkin dapat melakukan migrasi data langsung dengan waktu nonaktif minimal, atau Anda mungkin memerlukan waktu nonaktif yang lama untuk melakukan migrasi data.

Jika aplikasi Anda tidak dapat mengalami banyak waktu nonaktif, pertimbangkan untuk melakukan migrasi data langsung. Jika aplikasi Anda dapat menangani waktu nonaktif, Anda dapat mempertimbangkan untuk melakukan migrasi dengan waktu nonaktif.

Dalam migrasi data langsung, Anda perlu mengonfigurasi infrastruktur jaringan yang diperlukan agar data dapat mengalir antara database sumber, database Spanner target, dan alat yang Anda gunakan untuk melakukan migrasi data. Anda harus memutuskan konektivitas jaringan pribadi atau publik, bergantung pada persyaratan kepatuhan organisasi Anda. Anda mungkin memerlukan administrator jaringan organisasi Anda untuk menyiapkan infrastruktur.

Migrasi data langsung

Migrasi data langsung terdiri dari dua komponen:

  • Memigrasikan data dalam snapshot konsisten dari database sumber Anda.
  • Memigrasikan aliran perubahan (penyisipan, pembaruan, dan penghapusan) sejak snapshot tersebut, yang disebut sebagai pengambilan data perubahan (CDC).

Meskipun migrasi data langsung membantu melindungi data Anda, proses ini melibatkan tantangan, termasuk hal berikut:

  • Menyimpan data CDC saat snapshot dimigrasikan.
  • Menulis data CDC ke Spanner saat mengambil aliran CDC yang masuk.
  • Memastikan bahwa migrasi data CDC ke Spanner lebih cepat daripada aliran CDC yang masuk.

Migrasi dengan waktu nonaktif

Jika database sumber Anda dapat diekspor ke CSV atau Avro, Anda dapat bermigrasi ke Spanner dengan waktu nonaktif. Untuk mengetahui informasi selengkapnya, lihat Ringkasan impor dan ekspor Spanner.

Migrasi dengan waktu nonaktif dapat digunakan untuk lingkungan pengujian atau aplikasi yang dapat menangani waktu nonaktif selama beberapa jam. Di database langsung, migrasi dengan waktu nonaktif dapat menyebabkan kehilangan data.

Untuk melakukan migrasi waktu nonaktif, pertimbangkan pendekatan tingkat tinggi berikut:

  1. Hentikan aplikasi Anda dan buat file dump data dari database sumber.
  2. Upload file dump ke Cloud Storage dalam format dump MySQL, PostgreSQL, Avro, atau CSV.
  3. Muat file dump ke Spanner menggunakan Dataflow atau alat migrasi Spanner.

Membuat beberapa file dump kecil akan mempercepat penulisan ke Spanner, karena Spanner dapat membaca beberapa file dump secara paralel.

Saat membuat file dump dari database sumber, perhatikan hal berikut untuk membuat snapshot data yang konsisten:

  • Sebelum melakukan dump, terapkan kunci baca pada database sumber untuk mencegah perubahan data selama pembuatan file dump.
  • Atau, buat file dump menggunakan replika baca dari database sumber dengan replikasi dinonaktifkan.

Panduan khusus sumber