Questo documento mostra come configurare ed eseguire query su un database Spanner Graph per modellare, archiviare e analizzare relazioni di dati complesse utilizzando la Google Cloud console e le librerie client.
I seguenti argomenti ti aiutano a scoprire come:
Per scoprire di più sui dettagli dei prezzi di Spanner, consulta Prezzi di Spanner.
Per provare un codelab, consulta Guida introduttiva a Spanner Graph.
Prima di iniziare
- Accedi al tuo Google Cloud account. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
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.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- Abilita l'API Spanner:
Vai ad Abilita l'API Spanner
-
Per ottenere le autorizzazioni necessarie per creare istanze e database, chiedi all'amministratore di concederti il ruolo IAM Amministratore di Cloud Spanner (
roles/spanner.admin) nel tuo progetto.
-
Per ottenere le autorizzazioni necessarie per eseguire query sui grafici di Spanner se non ti è stato concesso il ruolo Amministratore di Cloud Spanner, chiedi all'amministratore di concederti il ruolo IAM Lettore database di Cloud Spanner (
roles/spanner.databaseReader) nel tuo progetto.
Crea un'istanza di Spanner
La prima volta che utilizzi Spanner, devi creare un'istanza, che alloca le risorse per i database Spanner. Questa sezione mostra come creare un'istanza utilizzando la Google Cloud console.
Nella Google Cloud console, vai alla pagina Spanner.
Seleziona o crea un Google Cloud progetto, se non l'hai già fatto.
Esegui una delle seguenti operazioni:
Se non hai mai creato un'istanza di Spanner, nella pagina Benvenuto in Spanner, fai clic su Crea un'istanza di cui è stato eseguito il provisioning.
Se hai creato un'istanza di 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 saperne di più, consulta la Panoramica delle versioni di Spanner.
Fai clic su Continua.
In Nome istanza, inserisci un nome dell'istanza, ad esempio
test-instance.In ID istanza, mantieni o modifica l'ID istanza. Per impostazione predefinita, l'ID istanza corrisponde al 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, segui questi passaggi:
Mantieni selezionata l'opzione A livello di regione.
In Seleziona una configurazione, seleziona una regione. Spanner archivia e replica le istanze nella regione selezionata.
Fai clic su Continua.
In Configura la 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 Google Cloud console mostra la pagina Panoramica dell'istanza che hai creato.
Crea un database di grafici utilizzando uno schema
Questa sezione mostra come creare un database Spanner Graph utilizzando uno schema Spanner Graph. Puoi utilizzare la Google Cloud console o le librerie client.
Console
Nella Google Cloud console, vai alla pagina Istanner Spanner.
Fai clic sull'istanza che hai creato, ad esempio
Test Instance.In Panoramica, sotto il nome dell'istanza, fai clic su Crea database.
In Nome database, inserisci un nome del database. Ad esempio,
example-db.In Seleziona dialetto database, scegli Google SQL standard. Spanner Graph non è disponibile nel dialetto PostgreSQL.
Inserisci il seguente schema nella scheda dell'editor Modelli DDL. Lo schema contiene due definizioni di tabelle dei nodi,
PersoneAccount, e due definizioni di tabelle degli archi,PersonOwnAccounteAccountTransferAccount. Spanner Graph utilizza tabelle relazionali per definire i grafici, quindi nello schema vengono visualizzate sia le tabelle relazionali sia le istruzioni del grafico. Per scoprire di più sullo schema Spanner Graph, consulta la panoramica dello schema 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 );Mantieni le impostazioni predefinite in Mostra opzioni di crittografia.
Fai clic su Crea. Google Cloud La console visualizza la pagina Panoramica del database che hai creato.
Librerie client
Python
Java
Vai
C++
Inserisci i dati del grafico
Dopo aver creato il database, puoi aggiungervi i dati. Questa sezione mostra come inserire i dati nel grafico utilizzando la Google Cloud console per un'interfaccia grafica o utilizzando le librerie client in modo programmatico.
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 grafico 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, nella scheda Risultati viene indicato che sono state inserite 3 righe.
Librerie client
Python
Java
Vai
C++
Il seguente grafico mostra le persone, gli account, la proprietà degli account e i trasferimenti di account dagli inserimenti:
Esegui una query sul grafico
Dopo aver inserito i dati nel grafico, puoi eseguire query per trovare pattern e relazioni. Questa sezione mostra come eseguire query utilizzando la Google Cloud console per un'interfaccia grafica o in modo programmatico con le librerie client.
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 amountFai clic su Esegui.
La scheda Risultati mostra i seguenti percorsi da Dana, proprietaria del numero di conto bancario 20:
- A
Account {id:7}di proprietà di Alex. A
Account {id:16}di proprietà di Lee.
- A
Librerie client
Python
Java
Vai
C++
Libera spazio
Questa sezione mostra come liberare spazio dalle risorse che hai creato per evitare addebiti sul tuo account di fatturazione Cloud. Se prevedi di esplorare altri esempi di Spanner Graph nella sezione Passaggi successivi, non eseguire ancora questi passaggi. L'eliminazione di un'istanza di Spanner elimina anche tutti i database all'interno di questa istanza.
Elimina il database
Nella Google Cloud console, vai a Istanze Spanner.
Fai clic sul nome dell'istanza, ad esempio Test Instance.
Fai clic sul nome del database, ad esempio example-db.
Nella pagina Dettagli database, fai clic su Elimina database.
Conferma di voler eliminare il database inserendo il nome del database e facendo clic su Elimina.
Elimina l'istanza
Nella Google Cloud console, 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 Spanner Graph.
- Crea, aggiorna o elimina uno schema Spanner Graph.
- Inserisci, aggiorna o elimina i dati di Spanner Graph.
- Panoramica delle query Spanner Graph.
- Esegui la migrazione a Spanner Graph.
- Scopri le best practice per la progettazione dello schema Spanner Graph.
- Scopri le best practice per l'ottimizzazione delle query Spanner Graph.