Criar e gerenciar canais de dados

Nesta página, descrevemos como criar e gerenciar posições 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 uma posição de dados

Depois de criar as partições do Spanner e bancos de dados, crie sua posição.

Console

  1. Acesse a página Instâncias no console do Google Cloud.

    Instâncias

  2. Selecione a instância com as partições criadas pelo usuário.

  3. Selecione o banco de dados que terá os dados particionados.

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

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

  6. Digite a instrução DDL CREATE PLACEMENT.

    Por exemplo, você pode executar o seguinte comando para criar uma tabela de canais europeplacement na partição europe-partition:

      CREATE PLACEMENT `europeplacement` OPTIONS(instance_partitions="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 Explore seus dados.

  7. 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 um canal. Você deve excluir o banco de dados para excluir o a veiculaçã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

  1. No menu de navegação, clique em Spanner Studio.
  2. Na página do Spanner Studio, clique em Nova guia ou use o botão na guia "Editor".
  3. Digite a instrução DDL CREATE TABLE.

    Por exemplo, é possível criar uma tabela Singers que usa uma tecla de posicionamento para particionar dados do singer:

    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 tecla de posicionamento para particionar dados do singer:

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 para uma tabela após ela ter sido 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:

  1. Exclua todas as linhas da tabela de posições.
  2. Aguarde o evento version_retention_period para passar. Para mais informações, consulte Recuperação pontual. Em seguida, siga estas etapas:

Console

  1. No menu de navegação, clique em Spanner Studio.
  2. Na página do Spanner Studio, clique em Nova guia ou use o botão na guia "Editor".
  3. 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, elimine 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

  1. No menu de navegação, clique em Spanner Studio.
  2. Na página do Spanner Studio, clique em Nova guia ou use o botão na guia "Editor".
  3. Digite a instrução DDL INSERT INTO.

    Por exemplo, adicione o cantor Marc Richards à tabela Singers e particiona-o em europeplacement:

      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

  1. No menu de navegação, clique em Spanner Studio.
  2. Na página do Spanner Studio, clique em Nova guia ou use o botão na guia "Editor".
  3. 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 tabela Singers para Catalina Smith:

    UPDATE Singers s
    SET s.name='Catalina Smith'
    WHERE s.id=1;
    

gcloud

Para atualizar os dados em uma tabela de canais, 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

  1. Crie uma nova partição e uma nova posição, caso ainda não tenha feito isso.
  2. No menu de navegação, clique em Spanner Studio.
  3. Na página do Spanner Studio, clique em Nova guia ou use o botão na guia "Editor".
  4. Use a DML ou mutações para mover os dados para o uma nova partição.

    Por exemplo, mova singerid=1 na tabela Singers para asiaplacement:

    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 seus 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

  1. No menu de navegação, clique em Spanner Studio.
  2. Na página do Spanner Studio, clique em Nova guia ou use o botão na guia "Editor".
  3. Use a DML ou mutações para excluir dados.

    Por exemplo, exclua singerid=1 na tabela Singers:

    DELETE FROM Singers s
    WHERE s.id=1;
    

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 canais

Console

  1. No menu de navegação, clique em Spanner Studio.
  2. Na página do Spanner Studio, clique em Nova guia ou use o botão na guia "Editor".
  3. 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