Memigrasikan data ke Spanner Graph

Dokumen ini menjelaskan proses migrasi data dan aplikasi Anda ke Spanner Graph. Kami menjelaskan tahap migrasi dan alat yang direkomendasikan untuk setiap tahap, bergantung pada database sumber dan faktor lainnya.

Memigrasikan grafik ke Spanner Graph melibatkan tahap inti berikut:

  1. Kumpulkan persyaratan aplikasi Anda.
  2. Desain skema Spanner Graph Anda.
  3. Migrasikan aplikasi Anda ke Spanner Graph.
  4. Menguji dan menyesuaikan Spanner Graph.
  5. Migrasikan data Anda ke Spanner Graph.
  6. Validasi migrasi data Anda.
  7. Konfigurasikan mekanisme transisi dan failover Anda.

Untuk mengoptimalkan skema dan aplikasi untuk performa, Anda mungkin perlu mendesain skema secara iteratif, mem-build aplikasi, serta menguji dan menyesuaikan Spanner Graph.

Mengumpulkan persyaratan aplikasi

Untuk mendesain skema yang memenuhi kebutuhan aplikasi Anda, kumpulkan persyaratan berikut:

  • Pemodelan data
  • Pola kueri umum
  • Persyaratan latensi dan throughput

Mendesain skema Spanner Graph

Untuk mempelajari cara mendesain skema Spanner Graph, lihat Ringkasan skema Spanner Graph untuk konsep dasar dan lihat Membuat, memperbarui, atau menghapus skema Spanner Graph untuk contoh lainnya. Untuk mengoptimalkan skema Anda untuk pola kueri umum, lihat Praktik terbaik untuk mendesain skema Grafik Spanner.

Memigrasikan aplikasi ke Spanner Graph

Pertama-tama, baca panduan Spanner umum tentang memigrasikan aplikasi Anda, lalu baca panduan di bagian ini untuk mempelajari panduan migrasi aplikasi Grafik Spanner.

Menghubungkan ke Spanner Graph

Untuk mempelajari cara terhubung secara terprogram dengan Spanner Graph, lihat Membuat, memperbarui, atau menghapus skema Spanner Graph dan Ringkasan kueri Spanner Graph.

Memigrasikan kueri

Antarmuka kueri Spanner Graph kompatibel dengan ISO GQL, dan menyertakan dukungan sintaksis openCypher tambahan. Untuk informasi selengkapnya, lihat Referensi Grafik Spanner untuk pengguna openCypher.

Memigrasikan mutasi

Untuk memigrasikan logika mutasi aplikasi, Anda dapat menggunakan mekanisme mutasi tabel Spanner. Untuk informasi selengkapnya, lihat Menyisipkan, memperbarui, atau menghapus data Grafik Spanner.

Menguji dan menyesuaikan Spanner Graph

Panduan Spanner tentang cara menguji dan menyesuaikan performa skema dan aplikasi berlaku untuk Spanner Graph. Untuk mempelajari praktik terbaik pengoptimalan performa Spanner Graph, lihat Praktik terbaik untuk mendesain skema Spanner Graph dan Praktik terbaik untuk menyesuaikan kueri Spanner Graph.

Memigrasikan data ke Spanner Graph

Untuk memindahkan data dari database relasional, lihat Memigrasikan data.

Untuk memindahkan data dari database grafik atau database non-relasional, Anda dapat mempertahankan data dari database sumber ke dalam file, mengupload file ke Cloud Storage, lalu mengimpor file menggunakan Dataflow. Format file yang direkomendasikan meliputi AVRO dan CSV. Untuk mengetahui informasi selengkapnya, lihat Format yang direkomendasikan untuk migrasi massal.

Menangani Batasan

Jika skema Anda memiliki batasan yang ditentukan pada tabel input, pastikan batasan tersebut tidak dilanggar selama impor data. Batasan mencakup hal berikut:

  • Kunci Asing: Batasan kunci asing dapat ditentukan untuk referensi tepi ke node.
  • Interleaving: Tabel input tepi mungkin diselingi dalam tabel input node. Interleaving ini menentukan hubungan induk-turunan, dengan batasan implisit bahwa induk harus ada sebelum turunan dibuat.

Induk dalam organisasi yang diselingi dan entity yang dirujuk dalam batasan kunci asing harus dimuat terlebih dahulu. Artinya, Anda harus memuat node di grafik terlebih dahulu, lalu memuat tepi. Saat memuat edge sebelum memuat node yang terhubung ke edge, Anda mungkin mengalami error selama proses pemuatan yang menunjukkan bahwa kunci tertentu tidak ada.

Untuk mendapatkan urutan impor yang benar, gunakan template yang disediakan Google untuk menentukan tugas Dataflow terpisah untuk setiap tahap, lalu jalankan tugas secara berurutan. Misalnya, Anda dapat menjalankan satu tugas Dataflow untuk mengimpor node, lalu menjalankan tugas Dataflow lain untuk mengimpor edge. Atau, Anda dapat menulis tugas Dataflow kustom yang mengelola urutan impor.

Untuk mengetahui informasi selengkapnya tentang template yang disediakan Google, lihat artikel berikut:

Jika Anda mengimpor dalam urutan yang salah, tugas mungkin gagal, atau hanya sebagian data Anda yang mungkin dimigrasikan. Jika hanya sebagian data Anda yang dimigrasikan, lakukan migrasi lagi.

Meningkatkan efisiensi pemuatan data

Untuk meningkatkan efisiensi pemuatan data, buat indeks sekunder dan tentukan kunci asing setelah Anda mengimpor data ke Spanner. Pendekatan ini hanya memungkinkan pemuatan massal awal atau selama migrasi dengan periode nonaktif.

Memvalidasi migrasi data

Setelah memigrasikan data, jalankan kueri dasar untuk memverifikasi ketepatan data. Jalankan kueri berikut di database sumber dan tujuan untuk memverifikasi bahwa hasilnya cocok:

  • Hitung jumlah node dan edge.
  • Menghitung jumlah node dan edge per label.
  • Menghitung statistik (jumlah, jumlah, rata2, min, maks) di setiap node dan properti tepi.

Mengonfigurasi mekanisme failover dan cutover

Konfigurasikan mekanisme transisi dan failover.

Langkah selanjutnya