Configurar e consultar o Spanner Graph usando o console do Google Cloud

Este documento mostra como configurar e consultar o Spanner Graph usando o console do Google Cloud. Neste documento, você vai:

  • Crie uma instância do Spanner.
  • Cria um banco de dados.
  • Criar um esquema de gráfico.
  • Inserir dados do gráfico.
  • Consulte o gráfico que você criou.

Para saber mais sobre os detalhes de preços do Spanner, consulte Preços do Spanner.

Para testar um codelab, consulte Primeiros passos com o Spanner Graph.

Antes de começar

  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. A API Spanner precisa ser ativada automaticamente. Caso contrário, ative manualmente:

    Ativar a API Spanner
  1. Para ter as permissões necessárias para criar instâncias e bancos de dados, peça ao administrador para conceder a você Papel do IAM Administrador do Cloud Spanner (roles/spanner.admin) no projeto.

Criar uma instância

Ao usar o Spanner pela primeira vez, é necessário criar uma instância, que é uma alocação de recursos usados pelos bancos de dados do Spanner.

  1. No Console do Google Cloud, acesse a página Spanner.

    Acessar o Spanner

  2. Selecione ou crie um projeto do Google Cloud, caso ainda não tenha feito isso.

  3. Escolha uma destas opções:

    1. Se você ainda não criou uma instância do Spanner, na página Welcome to Spanner, clique em Create a provisioned instance.

    2. Se você criou uma instância do Spanner, na página Instâncias clique em Criar instância.

  4. Na página Selecionar uma edição, escolha Enterprise Plus ou Enterprise.

    O Spanner Graph está disponível apenas na edição Enterprise ou Enterprise Plus. Para comparar as diferentes edições, clique Compare as edições. Para mais informações, consulte a Visão geral das edições do Spanner.

  5. Clique em Continuar.

  6. Em Nome da instância, digite um nome de instância, por exemplo, test-instance.

  7. Em ID da instância, mantenha ou altere o ID. O ID da instância é definido como o nome da instância por padrão, mas você pode mudar isso. O nome da instância e o ID da instância pode ser igual ou diferente.

  8. Clique em Continuar.

  9. Em Escolher uma configuração, faça o seguinte:

    1. Mantenha a opção Regional selecionada.

    2. Em Selecionar uma configuração, escolha uma região. A região selecionada é onde as instâncias são armazenadas e replicadas.

    3. Clique em Continuar.

  10. Em Configurar capacidade de computação, faça o seguinte:

    1. Em Selecionar unidade, selecione Unidades de processamento (PUs).

    2. Em Escolher um modo de escalonamento, mantenha a opção Alocação manual selecionada e em Quantidade, mantenha mil unidades de processamento.

  11. Clique em Criar. O console do Google Cloud exibe a página Visão geral das instância criada por você.

Criar um banco de dados

  1. No Console do Google Cloud, acesse a página Instâncias do Spanner.

    Acessar "Instâncias do Spanner"

  2. Clique na instância que você criou, por exemplo, Test Instance.

  3. Em Visão geral, clique em Criar banco de dados, embaixo do nome da instância.

  4. Em Nome do banco de dados, insira o nome do banco de dados. Por exemplo, example-db.

  5. Em Selecionar dialeto do banco de dados, escolha o SQL padrão do Google. O Spanner Graph não está disponível no dialeto PostgreSQL. A página de criação de banco de dados ficará assim:

    Página de criação de banco de dados atualizada.

  6. Clique em Criar. O console do Google Cloud exibe a página Visão geral das banco de dados que você criou.

Criar um esquema para o banco de dados do gráfico do Spanner

  1. No menu de navegação, clique em Spanner Studio.

  2. Na página do Spanner Studio, clique na guia Editor 1 ou em Nova guia ou use uma nova guia.

  3. Copie e cole o esquema a seguir na guia do editor. O esquema contém duas definições de tabela de nó, Person e Account, e duas definições de tabela de borda, PersonOwnAccount e AccountTransferAccount. O Spanner Graph usa tabelas relacionais para definir gráficos. Assim, você pode conferir tabelas relacionais e instruções de gráfico no esquema. Para saber mais sobre o esquema do Spanner Graph, consulte Visão geral do esquema do 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
      );
    
  4. Clique em Executar. A página Resultados mostra que as atualizações do esquema estão em execução. Quando a atualização for concluída, em Resultados, você verá uma mensagem informando que ela concluído.

Inserir dados do gráfico

O console do Google Cloud fornece uma interface para inserir, editar e excluir dados.

Insira os dados

  1. Na página do Spanner Studio, clique em Nova guia ou use o na guia "Editor".
  2. Copie e cole as seguintes instruções de inserção de dados do gráfico nos nós e arestas.

    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");
    

    O gráfico a seguir mostra as pessoas, contas, propriedade de conta e transferências de conta dos inserts:

    Exemplo de gráfico.

  3. Clique em Executar. Quando a execução for concluída, a guia Resultados vai mostrar que três linhas foram inseridas.

Executar uma consulta de grafo

  1. Na página Visão geral do banco de dados, clique em Spanner Studio no menu de navegação.

  2. Na página do Spanner Studio, clique em Nova guia ou use o na guia "Editor".

  3. Insira a consulta abaixo no editor de consultas. A consulta encontra todos para onde Dana transferiu dinheiro e o valor dessas transferências.

    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. Clique em Executar.

    A guia Resultados mostra os seguintes caminhos de Dana até Account {id:20}:

    • Para Account {id:7} do Alex.
    • Para Account {id:16} do proprietário de Lee.

      Exemplo de resultados de consulta de gráfico.

Limpar

Muitos dos exemplos em O que vem a seguir usam os recursos configurados neste documento. Se você quiser continuar trabalhando com o gráfico do Spanner usando um desses exemplos, não realize a limpeza. etapas.

Caso contrário, para evitar cobranças adicionais na sua conta do Cloud Billing, exclua o banco de dados e a instância que você criou durante a configuração. Excluir um exclui automaticamente todos os bancos de dados criados nela.

Excluir o banco de dados

  1. No console do Google Cloud, acesse a página Instâncias do Spanner.

    Acessar as instâncias do Spanner

  2. Clique no nome da instância que tem o banco de dados que você quer excluir, por exemplo, Instância de teste.

  3. Clique no nome do banco de dados que você quer excluir, por exemplo, example-db:

  4. Na página Detalhes do banco de dados, clique em excluir Excluir banco de dados.

  5. Confirme que você quer excluir o banco de dados digitando o nome dele e clicando em Excluir.

Excluir a instância

  1. No console do Google Cloud, acesse a página Instâncias do Spanner.

    Acessar "Instâncias do Spanner"

  2. Clique no nome da instância que você quer excluir, por exemplo, Instância de teste.

  3. Clique em Excluir instância.

  4. Confirme que você quer excluir a instância digitando o nome dela e clicando em Excluir.

A seguir