Esta página descreve como criar e gerenciar posicionamentos de dados no Spanner.
Para mais informações sobre como funciona o particionamento geográfico, consulte a Visão geral do particionamento geográfico.
Criar um canal de dados
Depois de criar as partições do Spanner e os bancos de dados, crie a posição.
Console
Acesse a página Instâncias no console do Google Cloud.
Selecione a instância com as partições criadas pelo usuário.
Selecione o banco de dados que terá os dados particionados.
No menu de navegação, clique em Spanner Studio.
Na página do Spanner Studio, clique em
Nova guia ou use a guia do editor vazia.Insira a instrução DDL
CREATE PLACEMENT
.Por exemplo, execute o comando a seguir para criar uma tabela de posicionamento
europeplacement
na partiçãoeurope-partition
:CREATE PLACEMENT `europeplacement` OPTIONS(instance_partition="europe-partition");
Opcional: também é possível usar o painel Pesquisador de objetos para visualizar, pesquisar e interagir com os objetos do canal. Para mais informações, consulte Analisar seus dados.
Clique em Executar.
gcloud
Para criar uma colocação com o comando da CLI gcloud, use
gcloud spanner databases ddl update
Por exemplo, crie uma posição na partição europe-partition
:
gcloud spanner databases ddl update example-db \
--instance=test-instance \
--ddl="CREATE PLACEMENT europeplacement OPTIONS (instance_partition='europe-partition')"
Excluir um canal de dados
Não é possível excluir uma posição. É necessário excluir o banco de dados para excluir a posição e os dados associados a ela. Para mais informações, consulte Exclua um banco de dados.
Criar uma tabela com uma chave de posicionamento
Console
- No menu de navegação, clique em Spanner Studio.
- Na página Spanner Studio, clique em Nova guia ou use a guia de editor vazia.
Insira a instrução DDL
CREATE TABLE
.Por exemplo, é possível criar uma tabela
Singers
que usa uma chave de posição para particionar dados de cantores:CREATE TABLE Singers ( SingerId INT64 NOT NULL, Name STRING(MAX) NOT NULL, ... Location STRING(MAX) NOT NULL PLACEMENT KEY ) PRIMARY KEY (SingerId);
gcloud
Para criar uma tabela, use
gcloud spanner databases ddl update
Por exemplo, é possível criar uma tabela Singers
que usa
uma chave de posição para particionar dados de cantores:
gcloud spanner databases ddl update example-db \
--instance=test-instance \
--ddl="CREATE TABLE Singers ( SingerId INT64 NOT NULL, SingerName STRING(MAX) NOT NULL, Location STRING(MAX) NOT NULL PLACEMENT KEY ) PRIMARY KEY (SingerId)"
Editar uma tabela com uma chave de posicionamento
Não é possível descartar uma chave de posicionamento de uma tabela. Também não é possível adicionar uma chave de posicionamento
a uma tabela depois que ela é criada. No entanto, é possível usar
ALTER TABLE
para alterar outros campos na
como adicionar e descartar colunas de chaves que não são de veiculação.
Excluir uma tabela com uma chave de posicionamento
Antes de excluir uma tabela com uma chave de posicionamento, faça o seguinte:
- Exclua todas as linhas na tabela de posicionamento.
- Aguarde o
version_retention_period
para que o banco de dados seja transmitido. Para mais informações, consulte Recuperação pontual. Em seguida, siga estas etapas:
Console
- No menu de navegação, clique em Spanner Studio.
- Na página Spanner Studio, clique em Nova guia ou use a guia de editor vazia.
Digite a instrução DDL
DROP TABLE
.Por exemplo, elimine a tabela
Singers
:DROP TABLE Singers;
gcloud
Para descartar uma tabela, use
gcloud spanner databases ddl update
Por exemplo, descarte a tabela Singers
:
gcloud spanner databases ddl update example-db \
--instance=test-instance \
--ddl="DROP TABLE Singers"
Inserir uma linha em uma tabela de posições
Console
- No menu de navegação, clique em Spanner Studio.
- Na página do Spanner Studio, clique em Nova guia ou use o botão na guia "Editor".
Digite a instrução DDL
INSERT INTO
.Por exemplo, adicione o cantor Marc Richards à tabela
Singers
e particiona-o emeuropeplacement
:INSERT INTO Singers(SingerId, Name, Location) VALUES (1, 'Marc Richards', 'europeplacement')
gcloud
Para gravar dados em uma tabela, use
gcloud spanner rows insert
.
Por exemplo, adicione o cantor Marc Richards à tabela Singers
e
particiona-o em europeplacement
:
gcloud spanner rows insert --table=Singers --database=example-db \
--instance=test-instance --data=SingerId=1,SingerName='Marc Richards',Location='europeplacement'
Atualizar uma linha em uma tabela de canais
Console
- No menu de navegação, clique em Spanner Studio.
- Na página Spanner Studio, clique em Nova guia ou use a guia de editor vazia.
Use a DML ou mutações para atualizar os dados em uma na tabela de posições.
Por exemplo, atualize o nome de
singerid=1
na tabelaSingers
paraCatalina Smith
:UPDATE Singers s SET s.name='Catalina Smith' WHERE s.id=1;
gcloud
Para atualizar dados em uma tabela de posicionamento,
use gcloud spanner rows update
.
Por exemplo, atualize o nome de singerid=1
na tabela Singers
para
Catalina Smith
:
gcloud spanner rows update --table=Singers --database=example-db \
--instance=test-instance --data=SingerId=1,SingerName='Catalina Smith'
Mover uma linha em uma tabela de posições
Console
- Crie uma nova partição e posição, caso ainda não tenha feito isso.
- No menu de navegação, clique em Spanner Studio.
- Na página do Spanner Studio, clique em Nova guia ou use o botão na guia "Editor".
Use DML ou mutações para mover dados para a nova partição.
Por exemplo, mova
singerid=1
na tabelaSingers
paraasiaplacement
:UPDATE Singers s SET s.location='asiaplacement' WHERE s.id=1;
gcloud
Depois de criar a partição e a posição para onde você quer mover os dados,
use gcloud spanner rows update
.
Por exemplo, mova singerid=1
na tabela Singers
para asiaplacement
:
gcloud spanner rows update --table=Singers --database=example-db \
--instance=test-instance --data=SingerId=1,Location='asiaplacement'
Excluir uma linha em uma tabela de canais
Console
gcloud
Para excluir dados, use gcloud spanner rows delete
.
Por exemplo, exclua singerid=1
na tabela Singers
:
gcloud spanner rows delete --table=Singers --database=example-db \
--instance=test-instance --keys=1
Consultar dados em uma tabela de posicionamento
Console
- No menu de navegação, clique em Spanner Studio.
- Na página Spanner Studio, clique em Nova guia ou use a guia de editor vazia.
Execute a consulta.
Por exemplo, consulte a tabela
Singers
:SELECT * FROM Singers s WHERE s.SingerId=1;
gcloud
Para consultar dados, use gcloud spanner databases execute-sql
.
Por exemplo, consulte a tabela Singers
:
gcloud spanner databases execute-sql example-db \
--sql='SELECT * FROM Singers s WHERE s.SingerId=1'
A seguir
Saiba mais sobre o particionamento geográfico.
Saiba como criar e gerenciar partições.