Questo documento mostra come configurare ed eseguire query su Spanner Graph utilizzando la Google Cloud console e le librerie client. I seguenti argomenti ti aiutano a scoprire come:
Per informazioni dettagliate sui prezzi di Spanner, consulta la pagina 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 Cloud Spanner Admin (
roles/spanner.admin
) nel progetto. -
Per ottenere le autorizzazioni necessarie per eseguire query sui grafici Spanner se non ti è stato concesso il ruolo Amministratore Cloud Spanner, chiedi all'amministratore di concederti il ruolo IAM Lettore database Cloud Spanner (
roles/spanner.databaseReader
) nel tuo progetto. Nella console Google Cloud , vai alla pagina Spanner.
Seleziona o crea un Google Cloud progetto, se non l'hai ancora fatto.
Esegui una di queste operazioni:
Se non hai mai creato un'istanza Spanner, nella pagina 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 viene impostato per impostazione predefinita sul 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 istanze.
Fai clic su Continua.
In Configura capacità di calcolo, segui questi passaggi:
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 dell'istanza che hai creato.
- 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 dialetto database, scegli Google Standard SQL. Spanner Graph non è disponibile nel dialetto PostgreSQL. La pagina di creazione del database ora ha questo 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 archi,PersonOwnAccount
eAccountTransferAccount
. Spanner Graph utilizza tabelle relazionali per definire i grafi, quindi nello schema vengono visualizzate sia le tabelle relazionali sia le istruzioni del grafo. Per scoprire di più sullo schema di Spanner Graph, consulta la 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. Google Cloud La console mostra la pagina Panoramica per il database che hai creato.
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 grafico nei nodi e nei bordi.
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.
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 tutte le persone 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
Nella console Google Cloud , vai alla pagina Istanze Spanner.
Fai clic sul nome dell'istanza che contiene 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 inserendone il nome e facendo clic su Elimina.
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.
- Scopri di più su Spanner Graph utilizzando un codelab.
- Scopri di più sullo schema di Spanner Graph.
- Crea, aggiorna o elimina uno schema Spanner Graph.
- Inserire, aggiornare o eliminare i dati di Spanner Graph.
- Panoramica delle query Spanner Graph.
- Esegui la migrazione a Spanner Graph.
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 .
Crea un database con lo schema Spanner Graph
Questa sezione mostra come utilizzare la console Google Cloud e le librerie client per creare un database con lo schema Spanner Graph.
Console
Librerie client
Python
Java
Go
C++
Inserire i dati del grafico
Questa sezione mostra come utilizzare la console e le librerie client Google Cloud per inserire dati in un grafico Spanner.
Console
Librerie client
Python
Java
Go
C++
Il seguente grafico mostra le persone, gli account, la proprietà degli account e i trasferimenti di account dagli inserti:
Eseguire una query sul grafico
Questa sezione mostra come utilizzare la console Google Cloud o le librerie client per eseguire una query sullo schema di Spanner Graph.
Console
Librerie client
Python
Java
Go
C++
Esegui la pulizia
Molti degli esempi nella sezione 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 al 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.