Neste documento, mostramos como configurar e consultar o Spanner Graph usando o console e as bibliotecas de cliente do Google Cloud . Os tópicos a seguir ajudam você a aprender a:
Para saber mais sobre os detalhes de preços do Spanner, consulte Preços do Spanner.
Para testar um codelab, consulte Começar a usar o Spanner Graph.
Antes de começar
- 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.
- A API Spanner precisa ser ativada automaticamente. Caso contrário, ative manualmente: Ativar a API Spanner
-
Para receber as permissões necessárias para criar instâncias e bancos de dados, peça ao administrador para conceder a você o papel do IAM de 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. Esta seção mostra como criar uma instância usando o console do Google Cloud .
No console do Google Cloud , acesse a página Spanner.
Selecione ou crie um projeto do Google Cloud , caso ainda não tenha feito isso.
Escolha uma destas opções:
Se você ainda não criou uma instância do Spanner, na página Welcome to Spanner, clique em Create a provisioned instance.
Se você criou uma instância do Spanner, na página Instâncias, clique em Criar instância.
Na página Selecionar uma edição, selecione 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 em Comparar edições. Para mais informações, consulte a visão geral das edições do Spanner.
Clique em Continuar.
Em Nome da instância, digite um nome de instância, por exemplo,
test-instance
.Em ID da instância, mantenha ou mude o ID da instância. O ID da instância é padrão para o nome da instância, mas você pode mudar isso. O nome e o ID da instância podem ser iguais ou diferentes.
Clique em Continuar.
Em Escolher uma configuração, faça o seguinte:
Mantenha a opção Regional selecionada.
Em Selecionar uma configuração, escolha uma região. A região selecionada é onde as instâncias são armazenadas e replicadas.
Clique em Continuar.
Em Configurar capacidade de computação, faça o seguinte:
Em Selecionar unidade, selecione Unidades de processamento (PUs).
Em Escolher um modo de escalonamento, mantenha a opção Alocação manual selecionada e em Quantidade, mantenha 1.000 unidades de processamento.
Clique em Criar. O console do Google Cloud exibe a página Visão geral da instância que você criou.
Criar um banco de dados com o esquema do Spanner Graph
Esta seção mostra como usar o console do Google Cloud e as bibliotecas de cliente para criar um banco de dados com o esquema do Spanner Graph.
Console
- No console do Google Cloud , acesse a página Instâncias do Spanner.
Acessar as instâncias do Spanner
Clique na instância que você criou, por exemplo,
Test Instance
.Em Visão geral, embaixo do nome da instância, clique em Criar banco de dados.
Em Nome do banco de dados, insira um nome de banco de dados. Por exemplo,
example-db
.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 vai ficar assim:
Copie e cole o esquema abaixo na guia do editor Modelos DDL. O esquema contém duas definições de tabela de nó,
Person
eAccount
, e duas definições de tabela de borda,PersonOwnAccount
eAccountTransferAccount
. O Spanner Graph usa tabelas relacionais para definir gráficos. Assim, você encontra 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 );
Não faça nenhuma mudança em Mostrar opções de criptografia.
Clique em Criar. O console doGoogle Cloud mostra a página Visão geral do banco de dados que você criou.
Bibliotecas de cliente
Python
Java
Go
C++
Inserir dados do gráfico
Esta seção mostra como usar o console do Google Cloud e as bibliotecas de cliente para inserir dados em um gráfico do Spanner.
Console
Na página Spanner Studio, clique em
Nova guia ou use a guia do editor.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");
Clique em Executar. Quando a execução for concluída, a guia Results vai mostrar que três linhas foram inseridas.
Bibliotecas de cliente
Python
Java
Go
C++
O gráfico a seguir mostra as pessoas, contas, propriedade de conta e transferências de conta dos inserts:
Executar uma consulta de grafo
Esta seção mostra como usar o console do Google Cloud ou bibliotecas de cliente para executar uma consulta de esquema do Spanner Graph.
Console
Na página Visão geral do banco de dados, clique em Spanner Studio no menu de navegação.
Na página Spanner Studio, clique em
Nova guia ou use a guia do editor.Insira a consulta a seguir no editor de consultas. A consulta encontra todas as pessoas para quem 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
Clique em Executar.
A guia Resultados mostra os seguintes caminhos de Dana até
Account {id:20}
:- Para
Account {id:7}
, de Alex. Para
Account {id:16}
de propriedade de Lee.
- Para
Bibliotecas de cliente
Python
Java
Go
C++
Limpar
Muitos dos exemplos em O que vem a seguir usam os recursos configurados neste documento. Se você quiser continuar trabalhando com o Spanner Graph usando um desses exemplos, não realize essas etapas de limpeza ainda. Esta seção mostra como usar o console do Google Cloud para limpar seus recursos.
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. A exclusão de uma instância exclui automaticamente todos os bancos de dados criados nela.
Excluir o banco de dados
No console do Google Cloud , acesse a página Instâncias do Spanner.
Clique no nome da instância que tem o banco de dados que você quer excluir, por exemplo, Instância de teste.
Clique no nome do banco de dados que você quer excluir, por exemplo, example-db.
Na página Detalhes do banco de dados, clique em Excluir banco de dados.
Confirme que você quer excluir o banco de dados digitando o nome dele e clicando em Excluir.
Excluir a instância
No console do Google Cloud , acesse a página Instâncias do Spanner.
Clique no nome da instância que você quer excluir, por exemplo, Instância de teste.
Clique em Excluir instância.
Confirme que você quer excluir a instância digitando o nome dela e clicando em Excluir.
A seguir
- Saiba mais sobre o Spanner Graph usando um codelab.
- Saiba mais sobre o esquema do Spanner Graph.
- Crie, atualize ou exclua um esquema de gráfico do Spanner.
- Inserir, atualizar ou excluir dados do Spanner Graph.
- Visão geral das consultas do Spanner Graph.
- Migrar para o Spanner Graph.