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
- 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.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Make sure that billing is enabled for your Google Cloud project.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Make sure that billing is enabled for your Google Cloud project.
- Spanner API akan diaktifkan secara otomatis. Jika tidak, aktifkan secara manual: Mengaktifkan Spanner API
-
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.
Di konsol Google Cloud, buka halaman Spanner.
Pilih atau buat project Google Cloud jika Anda belum melakukannya.
Di halaman Spanner, klik CREATE INSTANCE. Jika pernah menggunakan Spanner, Anda akan melihat halaman Instance Spanner, bukan halaman produk.
- 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.
- Klik Lanjutkan.
- 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.
- Klik Lanjutkan.
- Di halaman Mengalokasikan kapasitas komputasi, pilih Unit pemrosesan (PU) dan mempertahankan nilai default 1.000 unit pemrosesan.
- Klik Create. Konsol Google Cloud akan menampilkan halaman Ringkasan untuk instance yang Anda buat.
Buat database
Di konsol Google Cloud, buka Spanner Instance.
Klik instance yang Anda buat, misalnya, Test Instance.
Di halaman Overview instance yang terbuka, klik Create database.
Untuk nama database, masukkan nama, misalnya, example-db.
Untuk dialek database, pilih Google Standard SQL. Grafik Spanner tidak tersedia dalam dialek PostgreSQL. Halaman pembuatan database Anda sekarang terlihat seperti ini:
Klik Create.
Konsol Google Cloud menampilkan halaman Overview untuk {i>database<i} yang Anda buat.
Membuat skema untuk database Spanner Graph
- Di menu navigasi, klik Spanner Studio.
- Di halaman Spanner Studio, klik Tab baru atau gunakan tab editor.
Salin dan tempel skema berikut ke dalam tab editor. Skema berisi dua definisi tabel node,
Person
danAccount
, serta dua edge definisi tabel,PersonOwnAccount
danAccountTransferAccount
. 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 );
Klik Run. Halaman Hasil menunjukkan bahwa pembaruan skema sedang berjalan. Jika pembaruan selesai, halamannya akan terlihat seperti berikut:
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
- Di halaman Spanner Studio, klik Tab baru atau gunakan tab editor.
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:
Klik Run.
Setelah operasi selesai, tab Results menampilkan hasil dari baris yang disisipkan.
Menjalankan kueri grafik
- Di halaman Overview database, klik Spanner Studio di bagian menu navigasi.
- Di halaman Spanner Studio, klik Tab baru atau gunakan tab editor.
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
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.
- Kepada
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
Di konsol Google Cloud, buka halaman Spanner Instances.
Klik nama instance yang memiliki database yang ingin Anda hapus, misalnya, Test Instance.
Klik nama database yang ingin Anda hapus, misalnya, example-db.
Di halaman Detail database, klik hapus Hapus database.
Konfirmasi bahwa Anda ingin menghapus database dengan memasukkan database dan mengklik Delete.
Menghapus instance
Di konsol Google Cloud, buka halaman Spanner Instances.
Klik nama instance yang ingin Anda hapus, misalnya, Instance Pengujian.
Klik Hapus instance.
Konfirmasi bahwa Anda ingin menghapus instance dengan memasukkan instance dan mengklik Delete.
Langkah selanjutnya
- Pelajari Spanner Graph lebih lanjut menggunakan codelab.
- Pelajari skema Grafik Spanner.
- Membuat, mengupdate, atau melepas skema Grafik Spanner.
- Menyisipkan, memperbarui, atau menghapus data Grafik Spanner.
- Ringkasan kueri Grafik Spanner.
- Bermigrasi ke Grafik Spanner.