Questo documento mostra come configurare e eseguire query su Spanner Graph utilizzando la console e le librerie client di Google Cloud . I seguenti argomenti ti aiutano a scoprire come:
Per informazioni dettagliate sui prezzi di Spanner, consulta Prezzi di Spanner.
Per provare un codelab, consulta la Guida introduttiva a Spanner Graph.
Prima di iniziare
- 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.
-
Make sure 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.
-
Make sure that billing is enabled for your Google Cloud project.
- L'API Spanner dovrebbe essere abilitata automaticamente. In caso contrario, attivalo manualmente: Abilita l'API Spanner
-
Per ottenere le autorizzazioni necessarie per creare istanze e database, chiedi all'amministratore di concederti il ruolo IAM Amministratore Cloud Spanner (
roles/spanner.admin
) nel progetto.
Crea un'istanza
Quando utilizzi Spanner per la prima volta, devi creare un'istanza, ovvero un'allocazione di risorse utilizzate dai database Spanner. Questa sezione mostra come creare un'istanza utilizzando la console Google Cloud .
Nella console Google Cloud , vai alla pagina Spanner.
Se non l'hai ancora fatto, seleziona o crea un progetto Google Cloud .
Esegui una di queste operazioni:
Se non hai mai creato un'istanza Spanner, nella pagina Ti diamo il benvenuto in Spanner, fai clic su Crea un'istanza di cui è stato eseguito il provisioning.
Se hai creato un'istanza Spanner, nella pagina Istanze, fai clic su Crea istanza.
Nella pagina Seleziona una versione, seleziona Enterprise Plus o Enterprise.
Spanner Graph è disponibile solo nella versione Enterprise o Enterprise Plus. Per confrontare le diverse versioni, fai clic su Confronta le versioni. Per ulteriori informazioni, consulta la panoramica delle versioni di Spanner.
Fai clic su Continua.
In Nome istanza, inserisci un nome per l'istanza, ad esempio
test-instance
.In ID istanza, mantieni o modifica l'ID istanza. L'ID istanza predefinito è il nome dell'istanza, ma puoi modificarlo. Il nome e l'ID istanza possono essere uguali o diversi.
Fai clic su Continua.
In Scegli una configurazione:
Mantieni selezionata l'opzione Regionale.
In Seleziona una configurazione, seleziona una regione. La regione selezionata è dove vengono archiviate e replicate le tue istanze.
Fai clic su Continua.
In Configura capacità di calcolo:
In Seleziona unità, seleziona Unità di elaborazione (PU).
In Scegli una modalità di scalabilità, mantieni selezionata l'opzione Allocazione manuale e in Quantità mantieni 1000 unità di elaborazione.
Fai clic su Crea. La console Google Cloud mostra la pagina Panoramica per l'istanza che hai creato.
Creare un database con lo schema di Spanner Graph
Questa sezione mostra come utilizzare la console Google Cloud e le librerie client per creare un database con lo schema di grafo Spanner.
Console
- Nella console Google Cloud , vai alla pagina Istanze Spanner.
Fai clic sull'istanza che hai creato, ad esempio
Test Instance
.In Panoramica, fai clic su Crea database sotto il nome dell'istanza.
In Nome database, inserisci un nome per il database. Ad esempio,
example-db
.In Seleziona il dialetto del database, scegli Google SQL standard. Spanner Graph non è disponibile nel dialetto PostgreSQL. La pagina di creazione del database ora ha il seguente aspetto:
Copia e incolla il seguente schema nella scheda dell'editor Modelli DDL. Lo schema contiene due definizioni di tabelle dei nodi,
Person
eAccount
, e due definizioni di tabelle degli spigoli,PersonOwnAccount
eAccountTransferAccount
. Spanner Graph utilizza tabelle relazionali per definire i grafici, quindi nello schema vengono visualizzate sia le tabelle relazionali sia le istruzioni di grafo. Per scoprire di più sullo schema di Spanner Graph, consulta Panoramica dello schema di 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 );
Non apportare modifiche in Mostra opzioni di crittografia.
Fai clic su Crea.La console Google Cloud mostra la pagina Panoramica per il database che hai creato.
Librerie client
Python
Java
Vai
C++
Inserire i dati del grafico
Questa sezione illustra come utilizzare la console Google Cloud e le librerie client per inserire dati in un grafo Spanner.
Console
Nella pagina Spanner Studio, fai clic su
Nuova scheda o utilizza la scheda dell'editor.Copia e incolla le seguenti istruzioni di inserimento dei dati del grafo nei nodi e negli archi.
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");
Fai clic su Esegui. Al termine dell'esecuzione, la scheda Risultati mostra che sono state inserite 3 righe.
Librerie client
Python
Java
Vai
C++
Il seguente grafico mostra le persone, gli account, la proprietà e i trasferimenti degli account dagli insert:
Eseguire una query sul grafico
Questa sezione mostra come utilizzare la console Google Cloud o le librerie client per eseguire una query sullo schema del grafo Spanner.
Console
Nella pagina Panoramica del database, fai clic su Spanner Studio nel menu di navigazione.
Nella pagina Spanner Studio, fai clic su
Nuova scheda o utilizza la scheda dell'editor.Inserisci la seguente query nell'editor di query. La query trova tutti gli utenti a cui Dana ha trasferito denaro e l'importo di questi trasferimenti.
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
Fai clic su Esegui.
La scheda Risultati mostra i seguenti percorsi da Dana a
Account {id:20}
:- A
Account {id:7}
di proprietà di Alex. A
Account {id:16}
di proprietà di Lee.
- A
Librerie client
Python
Java
Vai
C++
Esegui la pulizia
Molti degli esempi in Passaggi successivi utilizzano le risorse che hai configurato in questo documento. Se vuoi continuare a lavorare con Spanner Graph utilizzando uno di questi esempi, non eseguire ancora questi passaggi di pulizia. Questa sezione mostra come utilizzare la console Google Cloud per ripulire le risorse.
In caso contrario, per evitare addebiti aggiuntivi sul tuo account di fatturazione Cloud, elimina il database e l'istanza che hai creato durante la configurazione. L'eliminazione di un'istanza elimina automaticamente tutti i database creati nell'istanza.
Elimina il database
Nella console Google Cloud , vai alla pagina Istanze Spanner.
Fai clic sul nome dell'istanza contenente il database che vuoi eliminare, ad esempio Test Instance.
Fai clic sul nome del database che vuoi eliminare, ad esempio example-db.
Nella pagina Dettagli database, fai clic su Elimina Elimina database.
Conferma di voler eliminare il database inserendo il nome del database e facendo clic su Elimina.
Elimina l'istanza
Nella console Google Cloud , vai alla pagina Istanze Spanner.
Fai clic sul nome dell'istanza che vuoi eliminare, ad esempio Test Instance.
Fai clic su Elimina istanza.
Conferma di voler eliminare l'istanza inserendo il nome dell'istanza e facendo clic su Elimina.
Passaggi successivi
- Scopri di più su Spanner Graph utilizzando un codelab.
- Scopri di più sullo schema di Spanner Graph.
- Crea, aggiorna o elimina uno schema di grafo Spanner.
- Inserisci, aggiorna o elimina i dati di Spanner Graph.
- Panoramica delle query di Spanner Graph.
- Esegui la migrazione a Spanner Graph.