Dokumen ini menunjukkan cara menyiapkan dan membuat kueri database Spanner Graph untuk memodelkan, menyimpan, dan menganalisis hubungan data yang kompleks menggunakan konsol Google Cloud dan library klien.
Topik berikut akan membantu Anda mempelajari cara:
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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
- Aktifkan Spanner API:
Buka Mengaktifkan Spanner API -
Untuk mendapatkan izin yang diperlukan untuk membuat instance dan database, minta administrator untuk memberi Anda peran IAM Cloud Spanner Admin (
roles/spanner.admin
) di project Anda. -
Untuk mendapatkan izin yang diperlukan untuk membuat kueri grafik Spanner jika Anda tidak diberi peran Admin Cloud Spanner, minta administrator Anda untuk memberi Anda peran IAM Cloud Spanner Database Reader (
roles/spanner.databaseReader
) di project Anda. Di konsol Google Cloud , buka halaman Spanner.
Pilih atau buat project Google Cloud jika Anda belum melakukannya.
Lakukan salah satu hal berikut:
Jika Anda belum pernah membuat instance Spanner, di halaman Welcome to Spanner, klik Create a provisioned instance.
Jika Anda telah membuat instance Spanner, di halaman Instances, klik Create instance.
Di halaman Pilih edisi, pilih Enterprise Plus atau Enterprise.
Grafik Spanner hanya tersedia di edisi Enterprise atau Enterprise Plus. Untuk membandingkan berbagai edisi, klik Bandingkan edisi. Untuk mengetahui informasi selengkapnya, lihat Ringkasan edisi Spanner.
Klik Lanjutkan.
Di Nama instance, masukkan nama instance, misalnya,
test-instance
.Di ID Instance, pertahankan atau ubah ID instance. ID instance Anda secara default adalah nama instance, tetapi Anda dapat mengubahnya. Nama instance dan ID instance Anda bisa sama atau berbeda.
Klik Lanjutkan.
Di Pilih konfigurasi, lakukan hal berikut:
Biarkan Regional tetap dipilih.
Di Pilih konfigurasi, pilih wilayah. Spanner menyimpan dan mereplikasi instance Anda di region yang Anda pilih.
Klik Lanjutkan.
Di Konfigurasi kapasitas komputasi, lakukan hal berikut:
Di Pilih unit, pilih Unit pemrosesan (PU).
Di Pilih mode penskalaan, tetap pilih Alokasi manual dan di Jumlah, tetap pilih 1.000 unit pemrosesan.
Klik Buat. Konsol Google Cloud menampilkan halaman Ringkasan untuk instance yang Anda buat.
Di konsol Google Cloud , buka halaman Spanner Instances.
Klik instance yang Anda buat, misalnya,
Test Instance
.Di Overview, di bagian nama instance Anda, klik Create database.
Di Nama database, masukkan nama database. Contoh,
example-db
.Di Select database dialect, pilih Google Standard SQL. Grafik Spanner tidak tersedia dalam dialek PostgreSQL.
Masukkan skema berikut ke tab editor Template DDL. Skema ini berisi dua definisi tabel node,
Person
danAccount
, serta dua definisi tabel edge,PersonOwnAccount
danAccountTransferAccount
. Spanner Graph menggunakan tabel relasional untuk menentukan grafik, sehingga Anda dapat melihat tabel relasional dan pernyataan grafik dalam skema. Untuk mempelajari skema Spanner Graph lebih lanjut, 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 );
Pertahankan setelan default di Tampilkan opsi enkripsi.
Klik Buat. Google Cloud Konsol menampilkan halaman Ringkasan untuk database yang Anda buat.
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");
Klik Run. Setelah proses berjalan selesai, tab Results akan menampilkan bahwa 3 baris telah disisipkan.
Di halaman Ringkasan database, klik Spanner Studio di menu navigasi.
Di halaman Spanner Studio, klik
Tab baru atau gunakan tab editor.Masukkan kueri berikut di editor kueri. Kueri ini menemukan semua orang yang menerima transfer uang dari Dana, dan jumlah transfer tersebut.
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, yang memiliki nomor rekening 20:
- Ke
Account {id:7}
yang dimiliki oleh Alex. Ke
Account {id:16}
milik Lee.
- Ke
Di konsol Google Cloud , buka Spanner Instances.
Klik nama instance, misalnya, Test Instance.
Klik nama database, misalnya, example-db.
Di halaman Database details, klik Delete database.
Konfirmasi bahwa Anda ingin menghapus database dengan memasukkan nama database dan mengklik Hapus.
Di Google Cloud console, buka halaman Spanner Instances.
Klik nama instance yang ingin Anda hapus, misalnya, Test Instance.
Klik Hapus instance.
Konfirmasi bahwa Anda ingin menghapus instance dengan memasukkan nama instance dan mengklik Hapus.
- Pelajari lebih lanjut Spanner Graph menggunakan codelab.
- Pelajari skema Spanner Graph.
- Membuat, memperbarui, atau menghapus skema Spanner Graph.
- Menyisipkan, memperbarui, atau menghapus data Spanner Graph.
- Ringkasan kueri Spanner Graph.
- Bermigrasi ke Spanner Graph.
Membuat instance Spanner
Saat pertama kali menggunakan Spanner, Anda harus membuat instance, yang mengalokasikan resource untuk database Spanner. Bagian ini menunjukkan cara membuat instance menggunakan konsol Google Cloud .
Membuat database grafik menggunakan skema
Bagian ini menunjukkan cara membuat database Spanner Graph menggunakan skema Spanner Graph. Anda dapat menggunakan konsol Google Cloud atau library klien.
Konsol
Library klien
Python
Java
Go
C++
Menyisipkan data grafik
Setelah membuat database, Anda dapat menambahkan data ke database tersebut. Bagian ini menunjukkan cara memasukkan data ke dalam grafik menggunakan konsol Google Cloud untuk antarmuka grafis, atau menggunakan library klien secara terprogram.
Konsol
Library klien
Python
Java
Go
C++
Grafik berikut menunjukkan orang, akun, kepemilikan akun, dan transfer akun dari sisipan:
Menjalankan kueri grafik
Setelah memasukkan data ke dalam grafik, Anda dapat membuat kueri untuk menemukan pola dan hubungan. Bagian ini menunjukkan cara menjalankan kueri menggunakan konsolGoogle Cloud untuk antarmuka grafis, atau secara terprogram dengan library klien.
Konsol
Library klien
Python
Java
Go
C++
Pembersihan
Bagian ini menunjukkan cara membersihkan resource yang Anda buat untuk menghindari timbulnya biaya pada akun Penagihan Cloud Anda. Jika Anda berencana menjelajahi contoh Spanner Graph lainnya di bagian Langkah selanjutnya, jangan lakukan langkah-langkah ini dulu. Menghapus instance Spanner juga akan menghapus semua database dalam instance tersebut.