Menyiapkan dan membuat kueri Spanner Graph menggunakan Konsol Google Cloud

Dokumen ini menunjukkan cara menyiapkan dan membuat kueri Spanner Graph menggunakan konsol Google Cloud. Dalam dokumen ini, Anda akan:

  • Buat instance Spanner.
  • Membuat database.
  • Membuat skema grafik.
  • Menyisipkan data grafik.
  • Membuat kueri grafik yang Anda buat.

Untuk mempelajari detail harga Spanner, lihat Harga Spanner.

Untuk mencoba codelab, lihat Mulai menggunakan Spanner Graph.

Sebelum memulai

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Spanner API akan diaktifkan secara otomatis. Jika tidak, aktifkan secara manual:

    Mengaktifkan Spanner API
  1. Untuk mendapatkan izin yang diperlukan guna membuat instance dan database, minta administrator untuk memberi Anda peran IAM Cloud Spanner Admin (roles/spanner.admin) di project Anda.

Membuat instance

Saat pertama kali menggunakan Spanner, Anda harus membuat instance, yang adalah alokasi resource yang digunakan oleh database Spanner dalam instance tersebut.

  1. Di konsol Google Cloud, buka halaman Spanner.

    Buka Spanner

  2. Pilih atau buat project Google Cloud jika Anda belum melakukannya.

  3. Di halaman Spanner, klik CREATE INSTANCE. Jika pernah menggunakan Spanner, Anda akan melihat halaman Instance Spanner, bukan halaman produk.

  1. Di halaman Beri nama instance Anda, masukkan nama instance, misalnya, Instance Pengujian. ID instance otomatis dimasukkan berdasarkan nama instance, misalnya, sebagai test-instance. Ubah sandi, jika perlu.
  2. Klik Lanjutkan.
  3. Di halaman Konfigurasi instance Anda, biarkan opsi default Regional dan pilih konfigurasi dari menu drop-down. Konfigurasi instance Anda menentukan lokasi geografis tempat instance Anda disimpan dan direplikasi.
  4. Klik Lanjutkan.
  5. Di halaman Mengalokasikan kapasitas komputasi, pilih Unit pemrosesan (PU) dan mempertahankan nilai default 1.000 unit pemrosesan.
  6. Klik Create. Konsol Google Cloud akan menampilkan halaman Ringkasan untuk instance yang Anda buat.

Buat database

  1. Di konsol Google Cloud, buka Spanner Instance.

    Buka instance Spanner

  2. Klik instance yang Anda buat, misalnya, Test Instance.

  3. Di halaman Overview instance yang terbuka, klik Create database.

  4. Untuk nama database, masukkan nama, misalnya, example-db.

  5. Untuk dialek database, pilih Google Standard SQL. Grafik Spanner tidak tersedia dalam dialek PostgreSQL. Halaman pembuatan database Anda sekarang terlihat seperti ini:

    Halaman pembuatan database diperbarui.

  6. Klik Create.

    Konsol Google Cloud menampilkan halaman Overview untuk {i>database<i} yang Anda buat.

Membuat skema untuk database Spanner Graph

  1. Di menu navigasi, klik Spanner Studio.
  2. Di halaman Spanner Studio, klik Tab baru atau gunakan tab editor.
  3. Salin dan tempel skema berikut ke dalam tab editor. Skema berisi dua definisi tabel node, Person dan Account, serta dua edge definisi tabel, PersonOwnAccount dan AccountTransferAccount. Spanner Graph menggunakan tabel relasional untuk menentukan grafik, sehingga Anda melihat tabel relasional dan pernyataan grafik dalam skema. Untuk mempelajari lebih lanjut tentang skema Grafik Spanner, lihat Ringkasan skema Spanner Graph.

    CREATE TABLE Person (
      id               INT64 NOT NULL,
      name             STRING(MAX),
      birthday         TIMESTAMP,
      country          STRING(MAX),
      city             STRING(MAX),
    ) PRIMARY KEY (id);
    
    CREATE TABLE Account (
      id               INT64 NOT NULL,
      create_time      TIMESTAMP,
      is_blocked       BOOL,
      nick_name        STRING(MAX),
    ) PRIMARY KEY (id);
    
    CREATE TABLE PersonOwnAccount (
      id               INT64 NOT NULL,
      account_id       INT64 NOT NULL,
      create_time      TIMESTAMP,
      FOREIGN KEY (account_id) REFERENCES Account (id)
    ) PRIMARY KEY (id, account_id),
      INTERLEAVE IN PARENT Person ON DELETE CASCADE;
    
    CREATE TABLE AccountTransferAccount (
      id               INT64 NOT NULL,
      to_id            INT64 NOT NULL,
      amount           FLOAT64,
      create_time      TIMESTAMP NOT NULL,
      order_number     STRING(MAX),
      FOREIGN KEY (to_id) REFERENCES Account (id)
    ) PRIMARY KEY (id, to_id, create_time),
      INTERLEAVE IN PARENT Account ON DELETE CASCADE;
    
    CREATE OR REPLACE PROPERTY GRAPH FinGraph
      NODE TABLES (Account, Person)
      EDGE TABLES (
        PersonOwnAccount
          SOURCE KEY (id) REFERENCES Person (id)
          DESTINATION KEY (account_id) REFERENCES Account (id)
          LABEL Owns,
        AccountTransferAccount
          SOURCE KEY (id) REFERENCES Account (id)
          DESTINATION KEY (to_id) REFERENCES Account (id)
          LABEL Transfers
      );
    
  4. Klik Run. Halaman Hasil menunjukkan bahwa pembaruan skema sedang berjalan. Jika pembaruan selesai, halamannya akan terlihat seperti berikut:

    Halaman ringkasan database diperbarui.

  5. Untuk melihat skema grafik properti yang Anda tentukan, klik Tampilkan DDL Setara.

Menyisipkan data grafik

Konsol Google Cloud menyediakan antarmuka untuk menyisipkan, mengedit, dan menghapus data.

Masukkan data

  1. Di halaman Spanner Studio, klik Tab baru atau gunakan tab editor.
  2. Salin dan tempel pernyataan penyisipan data grafik berikut ke dalam node dan tepi.

    INSERT INTO Account
      (id, create_time, is_blocked, nick_name)
    VALUES
      (7,"2020-01-10 06:22:20.222",false,"Vacation Fund"),
      (16,"2020-01-27 17:55:09.206",true,"Vacation Fund"),
      (20,"2020-02-18 05:44:20.655",false,"Rainy Day Fund");
    
    INSERT INTO Person
      (id, name, birthday, country, city)
    VALUES
      (1,"Alex","1991-12-21 00:00:00","Australia","Adelaide"),
      (2,"Dana","1980-10-31 00:00:00","Czech_Republic","Moravia"),
      (3,"Lee","1986-12-07 00:00:00","India","Kollam");
    
    INSERT INTO AccountTransferAccount
      (id, to_id, amount, create_time, order_number)
    VALUES
      (7,16,300,"2020-08-29 15:28:58.647","304330008004315"),
      (7,16,100,"2020-10-04 16:55:05.342","304120005529714"),
      (16,20,300,"2020-09-25 02:36:14.926","103650009791820"),
      (20,7,500,"2020-10-04 16:55:05.342","304120005529714"),
      (20,16,200,"2020-10-17 03:59:40.247","302290001255747");
    
    INSERT INTO PersonOwnAccount
      (id, account_id, create_time)
    VALUES
      (1,7,"2020-01-10 06:22:20.222"),
      (2,20,"2020-01-27 17:55:09.206"),
      (3,16,"2020-02-18 05:44:20.655");
    

    Grafik berikut menunjukkan jumlah orang, akun, kepemilikan akun, dan transfer rekening dari penyisipan:

    Contoh grafik.

  3. Klik Run.

    Setelah operasi selesai, tab Results menampilkan hasil dari baris yang disisipkan.

Menjalankan kueri grafik

  1. Di halaman Overview database, klik Spanner Studio di bagian menu navigasi.
  2. Di halaman Spanner Studio, klik Tab baru atau gunakan tab editor.
  3. Masukkan kueri berikut di editor kueri. Kueri menemukan semua orang tujuan transfer dana, dan jumlah transfernya.

    GRAPH FinGraph
    MATCH
      (from_person:Person {name: "Dana"})-[:Owns]->
      (from_account:Account)-[transfer:Transfers]->
      (to_account:Account)<-[:Owns]-(to_person:Person)
    RETURN
      from_person.name AS from_account_owner,
      from_account.id AS from_account_id,
      to_person.name AS to_account_owner,
      to_account.id AS to_account_id,
      transfer.amount AS amount
    
  4. Klik Run.

    Tab Results menampilkan jalur berikut dari Dana melalui Account {id:20}:

    • Kepada Account {id:7} yang dimiliki oleh Alex.
    • Ke Account {id:16} milik Lee.

      Contoh hasil kueri grafik.

Pembersihan

Banyak contoh di Apa selanjutnya yang memanfaatkan referensi yang Anda siapkan dalam dokumen ini. Jika Anda ingin terus bekerja dengan Spanner Graph menggunakan salah satu contoh ini, jangan melakukan pembersihan langkah.

Jika tidak, untuk menghindari tagihan tambahan ke akun Penagihan Cloud, hapus database dan instance yang Anda buat selama penyiapan. Menghapus instance akan otomatis menghapus semua database yang dibuat dalam instance.

Menghapus database

  1. Di konsol Google Cloud, buka halaman Spanner Instances.

    Buka instance Spanner

  2. Klik nama instance yang memiliki database yang ingin Anda hapus, misalnya, Test Instance.

  3. Klik nama database yang ingin Anda hapus, misalnya, example-db.

  4. Di halaman Detail database, klik hapus Hapus database.

  5. Konfirmasi bahwa Anda ingin menghapus database dengan memasukkan database dan mengklik Delete.

Menghapus instance

  1. Di konsol Google Cloud, buka halaman Spanner Instances.

    Buka instance Spanner

  2. Klik nama instance yang ingin Anda hapus, misalnya, Instance Pengujian.

  3. Klik Hapus instance.

  4. Konfirmasi bahwa Anda ingin menghapus instance dengan memasukkan instance dan mengklik Delete.

Langkah selanjutnya