Memigrasikan data Anda ke Spanner Graph

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

Memigrasikan grafik ke Spanner Graph melibatkan tahapan inti berikut:

  1. Lengkapi persyaratan permohonan Anda.
  2. Desain skema Grafik Spanner Anda.
  3. Migrasikan aplikasi Anda ke Spanner Graph.
  4. Uji dan sesuaikan Spanner Graph.
  5. Migrasikan data Anda ke Spanner Graph.
  6. Validasi migrasi data Anda.
  7. Konfigurasi mekanisme cutover dan failover Anda.

Untuk mengoptimalkan performa skema dan aplikasi, Anda mungkin perlu mendesain skema secara iteratif, membangun aplikasi, serta menguji dan melakukan Grafik Spanner.

Lengkapi persyaratan permohonan Anda

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

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

Mendesain skema Grafik Spanner

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

Memigrasikan aplikasi Anda ke Spanner Graph

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

Menghubungkan ke Spanner Graph

Untuk mempelajari cara terhubung secara terprogram dengan Spanner Graph, lihat Membuat, memperbarui, atau melepas skema Grafik Spanner dan ringkasan kueri Spanner Graph.

Memigrasikan kueri

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

Migrasikan mutasi

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

Menguji dan menyesuaikan Spanner Graph

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

Memigrasikan data Anda ke Spanner Graph

Untuk memindahkan data dari database relasional, lihat Memigrasikan data data Anda.

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 impor file menggunakan Dataflow. Format file yang direkomendasikan termasuk AVRO dan CSV. Untuk informasi selengkapnya, lihat Format yang direkomendasikan untuk massal migrasi.

Menangani Batasan

Jika skema Anda memiliki batasan yang ditentukan pada tabel input, pastikan batasan tersebut tidak dilanggar selama impor data. Batasannya meliputi berikut ini:

  • Foreign Key: Batasan {i>foreign key<i} dapat ditentukan untuk sebuah edge yang merujuk ke sebuah node.
  • Interleaving: Tabel input edge mungkin disisipi dalam input node tabel sementara. Interleaving ini menentukan hubungan induk-turunan, dengan implisit bahwa induk harus ada sebelum turunan dibuat.

Induk dalam organisasi sisipan dan entitas yang direferensikan dalam batasan {i>foreign key<i} harus dimuat terlebih dahulu. Ini berarti Anda harus memuat terlebih dahulu node dalam grafik, lalu muat tepinya. Saat Anda memuat edge sebelum memuat ke simpul yang terhubung ke tepi, Anda mungkin mendapati {i>error <i}selama proses pemuatan yang menunjukkan bahwa kunci tertentu tidak ada.

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

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

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

Meningkatkan efisiensi pemuatan data

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

Memvalidasi migrasi data

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

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

Mengonfigurasi mekanisme cutover dan failover

Konfigurasi mekanisme cutover dan failover Anda.

Langkah selanjutnya