Configura ed esegui query su Spanner Graph utilizzando la console Google Cloud

Questo documento mostra come configurare ed eseguire query sul grafico di Spanner utilizzando la console Google Cloud. In questo documento imparerai a:

  • Creare un'istanza di Spanner.
  • Creare un database.
  • Crea uno schema di grafico.
  • Inserisci i dati del grafico.
  • Esegui una query sul grafico che hai creato.

Per saperne di più sui dettagli dei prezzi di Spanner, consulta Prezzi di Spanner.

Per provare un codelab, consulta Introduzione a Spanner Graph.

Prima di iniziare

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. L'API Spanner dovrebbe essere abilitata automaticamente. In caso contrario, abilitala manualmente:

    Abilita l'API Spanner
  1. Per ottenere le autorizzazioni necessarie per creare istanze e database, chiedi all'amministratore di concederti Ruolo IAM Amministratore Cloud Spanner (roles/spanner.admin) per il progetto.

Crea un'istanza

Quando utilizzi Spanner per la prima volta, devi creare un'istanza, che indica un'allocazione di risorse utilizzate dai database Spanner.

  1. Nella console Google Cloud, vai alla pagina Spanner.

    Vai a Spanner

  2. Seleziona o crea un progetto Google Cloud, se non l'hai ancora fatto.

  3. Esegui una di queste operazioni:

    1. Se non hai mai creato un'istanza Spanner, nella Ti diamo il benvenuto in Spanner, fai clic su Crea un'istanza di cui è stato eseguito il provisioning.

    2. Se hai creato un'istanza Spanner, nella pagina Istanze, fai clic su Crea istanza.

  4. Nella pagina Seleziona una versione, seleziona Enterprise Plus oppure Enterprise.

    Spanner Graph è disponibile solo nella versione Enterprise o nella versione Enterprise Plus. Per confrontare le diverse versioni, fai clic su Confronta le versioni. Per ulteriori informazioni, consulta la panoramica delle versioni di Spanner.

  5. Fai clic su Continua.

  6. In Nome istanza, inserisci un nome per l'istanza, ad esempio test-instance.

  7. In ID istanza, mantieni o modifica l'ID istanza. Per impostazione predefinita, l'ID istanza è impostato su un valore predefinito al nome dell'istanza, ma puoi modificarlo. Il nome e l'ID istanza possono essere uguali o diversi.

  8. Fai clic su Continua.

  9. In Scegli una configurazione:

    1. Mantieni selezionata l'opzione Regionale.

    2. In Seleziona una configurazione, seleziona una regione. La regione selezionata è in cui le istanze vengono archiviate e replicate.

    3. Fai clic su Continua.

  10. In Configura capacità di calcolo:

    1. In Seleziona unità, seleziona Unità di elaborazione (PU).

    2. In Scegli una modalità di scalabilità, mantieni selezionata l'opzione Allocazione manuale e in Quantità mantieni 1000 unità di elaborazione.

  11. Fai clic su Crea. La console Google Cloud mostra la pagina Panoramica dell'istanza che hai creato.

Crea un database

  1. Nella console Google Cloud, vai a Spanner Istanze.

    Vai alle istanze Spanner

  2. Fai clic sull'istanza che hai creato, ad esempio Test Instance.

  3. In Panoramica, fai clic su Crea database sotto il nome dell'istanza.

  4. In Nome database, inserisci un nome per il database. Ad esempio, example-db.

  5. In Seleziona il dialetto del database, scegli SQL standard di Google. Grafico Spanner non è disponibile nel dialetto PostgreSQL. La pagina di creazione del database ora ha il seguente aspetto:

    Pagina di creazione del database aggiornata.

  6. Fai clic su Crea. Nella console Google Cloud viene visualizzata la pagina Panoramica al database che hai creato.

Crea uno schema per il tuo database Spanner Graph

  1. Nel menu di navigazione, fai clic su Spanner Studio.

  2. Nella pagina Spanner Studio, fai clic sulla scheda Editor 1 oppure su Nuova scheda o utilizza una nuova scheda.

  3. Copia e incolla il seguente schema nella scheda dell'editor. Lo schema contiene due definizioni di tabella di nodi, Person e Account, e due definizioni delle tabelle, PersonOwnAccount e AccountTransferAccount. Spanner Graph utilizza tabelle relazionali per definire i grafici, quindi vedi entrambi le tabelle relazionali e le istruzioni con grafici nello schema. Per scoprire di più su vedi lo schema di Spanner Graph, consulta la panoramica dello schema di Spanner.

    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
      );
    
  4. Fai clic su Esegui. La pagina Risultati mostra che gli aggiornamenti dello schema sono in esecuzione. Al termine dell'aggiornamento, in Risultati viene visualizzato un messaggio che indica che l'aggiornamento è stato completato.

Inserire i dati del grafico

La console Google Cloud offre un'interfaccia per l'inserimento, la modifica e l'eliminazione di dati.

Inserisci i dati

  1. Nella pagina Spanner Studio, fai clic su Nuova scheda o utilizza la scheda dell'editor.
  2. Copia e incolla le seguenti istruzioni di inserimento di dati del grafico nei nodi e i 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");
    

    Il grafico seguente mostra le persone, gli account, la proprietà dell'account e trasferimenti di account dagli inserti:

    Grafico di esempio.

  3. Fai clic su Esegui. Al termine dell'esecuzione, la scheda Risultati mostra che tre righe sono state inserite.

Eseguire una query sul grafico

  1. Nella pagina Panoramica del database, fai clic su Spanner Studio nel menu di navigazione.

  2. Nella pagina Spanner Studio, fai clic su Nuova scheda o utilizza i dell'editor.

  3. Inserisci la seguente query nell'editor di query. La query trova tutti a cui Dana ha trasferito denaro e l'importo di tali 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
    
  4. 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.

      Esempi di risultati di query sul grafico.

Esegui la pulizia

Molti degli esempi riportati nella sezione Passaggi successivi utilizzano le risorse configurata in questo documento. Se vuoi continuare a lavorare con il grafico Spanner utilizzando uno di questi esempi. Non eseguire questa pulizia passi.

In caso contrario, per evitare addebiti aggiuntivi sul tuo account di fatturazione Cloud, elimina al database e all'istanza che hai creato durante la configurazione. L'eliminazione di un l'istanza elimina automaticamente tutti i database creati nell'istanza.

Elimina il database

  1. Nella console Google Cloud, vai alla pagina Istanze Spanner.

    Vai alle istanze Spanner

  2. Fai clic sul nome dell'istanza contenente il database che vuoi Elimina, ad esempio Istanza di test.

  3. Fai clic sul nome del database da eliminare, ad esempio example-db.

  4. Nella pagina Dettagli database, fai clic su Elimina database.

  5. Conferma di voler eliminare il database inserendo il nome del database e facendo clic su Elimina.

Elimina l'istanza

  1. Nella console Google Cloud, vai alla pagina Istanze Spanner.

    Vai alle istanze Spanner

  2. Fai clic sul nome dell'istanza che vuoi eliminare, ad esempio Test Instance.

  3. Fai clic su Elimina istanza.

  4. Conferma di voler eliminare l'istanza inserendola e facendo clic su Elimina.

Passaggi successivi