Criar e gerenciar grupos de localidades

Nesta página, descrevemos como criar e gerenciar grupos de localidade do Spanner. É possível usar grupos de localidade para definir a política de armazenamento em camadas para dados no esquema do banco de dados. Para informações sobre como o armazenamento em níveis funciona, consulte Armazenamento em níveis.

Criar um grupo de localidade

É possível criar um grupo de localidade sem nenhuma política de armazenamento em níveis ou criar um grupo de localidade para definir a política de armazenamento de dados no esquema do banco de dados.

Se você criar um grupo de localidade sem uma política de armazenamento em níveis, o grupo de localidade herdará a política de armazenamento em níveis do grupo de localidade default. Se você não tiver definido manualmente a política de armazenamento do grupo de localidade default, ela será definida como somente SSD.

Console

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

    Instâncias

  2. Selecione a instância em que você quer usar o armazenamento em níveis.

  3. Selecione o banco de dados em que você quer usar o armazenamento em níveis.

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

  5. Na página Spanner Studio, clique em Nova guia ou use a guia do editor vazia.

  6. Insira a instrução DDL CREATE LOCALITY GROUP usando GoogleSQL ou PostgreSQL.

    Por exemplo, é possível executar o seguinte para criar um grupo de localidade, separate_storage, que armazena colunas em um arquivo separado dos dados para o restante das colunas:

    GoogleSQL

    CREATE LOCALITY GROUP separate_storage;
    

    PostgreSQL

    CREATE LOCALITY GROUP separate_storage;
    

    Por exemplo, é possível executar o seguinte para criar um grupo de localidade, ssd_only, que armazena dados no armazenamento SSD:

    GoogleSQL

    CREATE LOCALITY GROUP ssd_only OPTIONS (storage='ssd');
    

    PostgreSQL

    CREATE LOCALITY GROUP ssd_only STORAGE 'ssd';
    

    Por exemplo, é possível executar o seguinte para criar um grupo de localidade, hdd_only, que armazena dados em HDD:

    GoogleSQL

    CREATE LOCALITY GROUP hdd_only OPTIONS (storage='hdd');
    

    PostgreSQL

    CREATE LOCALITY GROUP hdd_only STORAGE 'hdd';
    
  7. Clique em Executar.

gcloud

Para criar um grupo de localidade com o comando da Google Cloud CLI, use gcloud spanner databases ddl update.

Por exemplo, é possível executar o seguinte para criar um grupo de localidade, separate_storage, que armazena colunas em um arquivo separado dos dados para o restante das colunas:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE LOCALITY GROUP separate_storage"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE LOCALITY GROUP separate_storage"

Por exemplo, é possível executar o seguinte para criar um grupo de localidade, ssd_only, que armazena dados no SSD:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE LOCALITY GROUP ssd_only OPTIONS (storage='ssd')"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE LOCALITY GROUP ssd_only STORAGE 'ssd'"

Por exemplo, é possível executar o seguinte para criar um grupo de localidade, hdd_only, que armazena dados em HDD:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE LOCALITY GROUP hdd_only OPTIONS (storage='hdd')"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE LOCALITY GROUP hdd_only STORAGE 'hdd'"

Criar uma política baseada em idade para um grupo de localidade

Um grupo de localidade com uma política baseada em idade armazena dados mais recentes no armazenamento SSD por um tempo especificado. Esse tempo é relativo ao carimbo de data/hora de confirmação dos dados. Depois que o tempo especificado passa, o Spanner migra os dados para o armazenamento em HDD durante o ciclo de compactação normal, que geralmente ocorre ao longo de sete dias a partir do horário especificado. Ao usar uma política de armazenamento em níveis baseada em idade, o tempo mínimo que os dados precisam ser armazenados em SSD antes de serem movidos para o armazenamento em HDD é de uma hora.

Para criar um grupo de localidade com base na idade, use a instrução DDL CREATE LOCALITY GROUP.

Console

  1. Na página Spanner Studio, clique em Nova guia ou use a guia do editor vazia.
  2. Insira a instrução DDL CREATE LOCALITY GROUP usando GoogleSQL ou PostgreSQL.

    Por exemplo, a instrução DDL a seguir cria um grupo de localidade, spill_to_hdd, que armazena dados em SSD nos primeiros 10 dias e, em seguida, migra dados mais antigos para o armazenamento em HDD durante o ciclo de compactação normal:

    GoogleSQL

    CREATE LOCALITY GROUP spill_to_hdd
    OPTIONS (storage = 'ssd', ssd_to_hdd_spill_timespan = '10d');
    

    PostgreSQL

    CREATE LOCALITY GROUP spill_to_hdd
    STORAGE 'ssd' SSD_TO_HDD_SPILL_TIMESPAN '10d';
    
  3. Clique em Executar.

gcloud

Para criar um grupo de localidade com base na idade com o comando da CLI gcloud, use gcloud spanner databases ddl update.

Por exemplo, a instrução DDL a seguir cria um grupo de localidade spill_to_hdd que armazena dados em SSD nos primeiros 10 dias e, em seguida, migra dados mais antigos para o HDD durante o ciclo de compactação normal.

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE LOCALITY GROUP spill_to_hdd OPTIONS (storage='ssd', ssd_to_hdd_spill_timespan='10d')"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE LOCALITY GROUP spill_to_hdd STORAGE 'ssd' SSD_TO_HDD_SPILL_TIMESPAN '10d'"

Definir uma política de armazenamento em níveis para seus dados

Depois de criar o grupo de localidade, é possível definir a política de armazenamento em níveis para seus dados. A política de armazenamento em níveis determina o grupo de localidade que os dados usam. É possível definir a política de armazenamento em níveis no nível do banco de dados, da tabela, da coluna ou do índice secundário. Cada objeto de banco de dados herda a política de armazenamento em níveis do pai, a menos que seja explicitamente substituída.

Se você criar um grupo de localidade sem uma política de armazenamento em níveis, o grupo de localidade herdará a política de armazenamento em níveis do grupo de localidade default. Se você não tiver definido manualmente a política de armazenamento do grupo de localidade default, ela será definida como somente SSD.

Definir um grupo de localidade no nível do banco de dados

A política padrão de armazenamento em níveis é que todos os dados sejam armazenados em SSD. É possível mudar a política de armazenamento em níveis no banco de dados alterando o grupo de localidade default. Para bancos de dados de dialeto do GoogleSQL, a instrução DDL ALTER LOCALITY GROUP precisa ter default entre aspas invertidas (`default`). Você só precisa incluir as aspas invertidas para o grupo de localidade default.

Console

  1. Na página Spanner Studio, clique em Nova guia ou use a guia do editor vazia.
  2. Insira a instrução DDL ALTER LOCALITY GROUP usando GoogleSQL ou PostgreSQL.

    Por exemplo, as instruções DDL a seguir alteram o grupo de localidade default para usar uma política de armazenamento em níveis com base na idade. Todos os dados no banco de dados são movidos para o armazenamento em HDD após 10 dias.

    GoogleSQL

    ALTER LOCALITY GROUP `default` SET OPTIONS (storage = 'ssd', ssd_to_hdd_spill_timespan = '10d');
    

    PostgreSQL

    ALTER LOCALITY GROUP "default" STORAGE 'ssd' SSD_TO_HDD_SPILL_TIMESPAN '10d';
    
  3. Clique em Executar.

gcloud

Para alterar a política de armazenamento em níveis do grupo de localidade default com o comando da CLI gcloud, use gcloud spanner databases ddl update.

Por exemplo, as instruções DDL a seguir alteram o grupo de localidade default para usar uma política de armazenamento em níveis com base na idade. Todos os dados no banco de dados são movidos para o armazenamento em HDD após 10 dias.

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER LOCALITY GROUP \`default\` SET OPTIONS (storage = 'ssd', ssd_to_hdd_spill_timespan = '10d');"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER LOCALITY GROUP \"default\" STORAGE 'ssd' SSD_TO_HDD_SPILL_TIMESPAN '10d';"

Definir um grupo de localidade no nível da tabela

É possível definir uma política de armazenamento em níveis no nível da tabela para seus dados que substitui a política de armazenamento em níveis no nível do banco de dados. A política de armazenamento em níveis no nível da tabela também é aplicável a todas as colunas da tabela, a menos que você tenha definido uma política de armazenamento em níveis de substituição no nível da coluna.

Console

  1. Na página Spanner Studio, clique em Nova guia ou use a guia do editor vazia.
  2. Insira a instrução DDL CREATE TABLE usando GoogleSQL ou PostgreSQL.

    Por exemplo, as seguintes instruções DDL criam uma tabela, Singers, que usa o grupo de localidade ssd_only:

    GoogleSQL

    CREATE TABLE Singers (
      SingerId   INT64 NOT NULL,
      FirstName  STRING(1024),
      LastName   STRING(1024),
      SingerInfo BYTES(MAX)
    ) PRIMARY KEY (SingerId), OPTIONS (locality_group = 'ssd_only');
    

    PostgreSQL

    CREATE TABLE Singers (
      SingerId   bigint PRIMARY KEY,
      FirstName  varchar(1024),
      LastName   varchar(1024),
      SingerInfo bytea
    ) LOCALITY GROUP ssd_only;
    
  3. Clique em Executar.

gcloud

Para definir uma política de armazenamento em níveis no nível da tabela com o comando da CLI gcloud, use gcloud spanner databases ddl update.

Por exemplo, as instruções DDL a seguir criam uma tabela, Singers, que usa o grupo de localidade ssd_only.

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE TABLE Singers ( SingerId   INT64 NOT NULL, \
        FirstName  STRING(1024), \
        LastName   STRING(1024), \
        SingerInfo BYTES(MAX) \
        ) PRIMARY KEY (SingerId), OPTIONS (locality_group = 'ssd_only');"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE TABLE Singers ( \
        SingerId bigint PRIMARY KEY, \
        FirstName  varchar(1024), \
        LastName   varchar(1024), \
        SingerInfo bytea \
        ) LOCALITY GROUP ssd_only;"

Definir uma política de armazenamento em níveis de substituição no nível da coluna

É possível definir uma política de armazenamento em níveis de substituição no nível da coluna para seus dados.

Console

  1. Na página Spanner Studio, clique em Nova guia ou use a guia do editor vazia.
  2. Insira a instrução DDL CREATE TABLE com uma política de armazenamento em níveis de substituição no nível da coluna usando o GoogleSQL ou o PostgreSQL.

    Por exemplo, as instruções DDL a seguir criam uma tabela Singers que usa o grupo de localidade ssd_only. No entanto, a coluna Awards substitui esse grupo de localidade no nível da tabela e usa o grupo de localidade spill_to_hdd como política de armazenamento em níveis:

    GoogleSQL

    CREATE TABLE Singers (
      SingerId   INT64 NOT NULL,
      FirstName  STRING(1024),
      LastName   STRING(1024),
      Awards     ARRAY<STRING(MAX)> OPTIONS (locality_group = 'spill_to_hdd')
    ) PRIMARY KEY (SingerId), OPTIONS (locality_group = 'ssd_only');
    

    PostgreSQL

    CREATE TABLE Singers (
      SingerId   bigint PRIMARY KEY,
      FirstName  varchar(1024),
      LastName   varchar(1024),
      Awards     varchar[] LOCALITY GROUP spill_to_hdd
    ) LOCALITY GROUP ssd_only;
    
  3. Clique em Executar.

gcloud

Para definir uma política de armazenamento em níveis de substituição no nível da coluna com o comando da CLI gcloud, use gcloud spanner databases ddl update.

Por exemplo, as instruções DDL a seguir criam uma tabela Singers que usa o grupo de localidade ssd_only. No entanto, a coluna Awards substitui essa política de armazenamento em camadas no nível da tabela e usa o grupo de localidade spill_to_hdd como política de armazenamento em camadas:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE TABLE Singers ( \
      SingerId   INT64 NOT NULL, \
      FirstName  STRING(1024), \
      LastName   STRING(1024), \
      Awards     ARRAY<STRING(MAX)> OPTIONS (locality_group = 'spill_to_hdd') \
    ) PRIMARY KEY (SingerId), OPTIONS (locality_group = 'ssd_only');" \

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE TABLE Singers ( \
      SingerId   bigint PRIMARY KEY, \
      FirstName  varchar(1024), \
      LastName   varchar(1024), \
      Awards     varchar[] LOCALITY GROUP spill_to_hdd \
    ) LOCALITY GROUP ssd_only;"

Definir uma política de armazenamento em níveis de substituição no nível do índice secundário

É possível definir uma política de armazenamento em níveis de substituição secundária no nível do índice para seus dados.

Console

  1. Na página Spanner Studio, clique em Nova guia ou use a guia do editor vazia.
  2. Insira a instrução DDL CREATE INDEX com uma política de armazenamento em níveis de substituição de índice secundário usando GoogleSQL ou PostgreSQL.

    Por exemplo, as instruções DDL a seguir criam uma tabela Singers que usa o grupo de localidade ssd_only. O banco de dados também tem um índice secundário em todos os Singers no banco de dados por nome e sobrenome. O índice SingersByFirstLastName substitui a política de armazenamento em níveis da tabela e usa o grupo de localidade spill_to_hdd como política de armazenamento em níveis:

    GoogleSQL

    CREATE INDEX SingersByFirstLastName ON Singers(FirstName, LastName)
    OPTIONS (locality_group = 'spill_to_hdd');
    

    PostgreSQL

    CREATE INDEX SingersByFirstLastName ON Singers(FirstName, LastName)
    LOCALITY GROUP spill_to_hdd;
    
  3. Clique em Executar.

gcloud

Para definir uma política de armazenamento em níveis de substituição de índice secundário com o comando da CLI gcloud, use gcloud spanner databases ddl update.

Por exemplo, as instruções DDL a seguir criam uma tabela Singers que usa o grupo de localidade ssd_only. O banco de dados também cria um índice secundário em todos os Singers no banco de dados pelo nome e sobrenome. O índice SingersByFirstLastName substitui a política de armazenamento em níveis da tabela e usa o grupo de localidade spill_to_hdd como política de armazenamento em níveis:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE INDEX SingersByFirstLastName ON Singers(FirstName, LastName) \
    OPTIONS (locality_group = 'spill_to_hdd');"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE INDEX SingersByFirstLastName ON Singers(FirstName, LastName) \
    LOCALITY GROUP spill_to_hdd;"

Definir um grupo de localidade no nível da coluna

É possível definir um grupo de localidade no nível da coluna para seus dados, mesmo que o grupo de localidade não tenha uma política de armazenamento em níveis. A leitura de dados dessa coluna é mais rápida do que a leitura de dados agrupados com outras colunas.

Console

  1. Na página Spanner Studio, clique em Nova guia ou use a guia do editor vazia.
  2. Insira a instrução DDL CREATE TABLE que atribui a coluna a um grupo de localidade usando o GoogleSQL ou o PostgreSQL.

    Por exemplo, as instruções DDL a seguir criam uma tabela Songs com uma coluna LyricsCompressed que é armazenada separadamente no grupo de localidade hdd_only:

    GoogleSQL

    CREATE TABLE Songs (
      SingerId INT64 NOT NULL,
      SongId INT64 NOT NULL,
      Title STRING(MAX),
      Description STRING(MAX),
      LyricsCompressed BYTES(MAX) OPTIONS (locality_group = 'hdd_only')
    ) PRIMARY KEY (SingerId, SongId),
      INTERLEAVE IN PARENT Singers ON DELETE CASCADE,
      OPTIONS (locality_group = 'ssd_only');
    

    PostgreSQL

    CREATE TABLE Songs (
      SingerId BIGINT NOT NULL,
      SongId BIGINT NOT NULL,
      Title VARCHAR,
      Description TEXT,
      LyricsCompressed BYTEA LOCALITY GROUP hdd_only,
      PRIMARY KEY (SingerId, SongId)
    ) LOCALITY GROUP ssd_only INTERLEAVE IN PARENT Singers ON DELETE CASCADE;
    
  3. Clique em Executar.

gcloud

Para definir um grupo de localidade no nível da coluna para seus dados com o comando da CLI gcloud, use gcloud spanner databases ddl update.

Por exemplo, as instruções DDL a seguir criam uma tabela Songs com uma coluna LyricsCompressed que é armazenada separadamente no grupo de localidade hdd_only:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE TABLE Songs ( \
      SingerId INT64 NOT NULL, \
      SongId INT64 NOT NULL, \
      Title STRING(MAX), \
      Description STRING(MAX),
      LyricsCompressed BYTES(MAX) OPTIONS (locality_group = 'hdd_only') \
    ) PRIMARY KEY (SingerId, SongId), \
      INTERLEAVE IN PARENT Singers ON DELETE CASCADE, \
      OPTIONS (locality_group = 'ssd_only');"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE TABLE Songs ( \
      SingerId BIGINT NOT NULL, \
      SongId BIGINT NOT NULL, \
      Title VARCHAR, \
      Description TEXT, \
      LyricsCompressed BYTEA LOCALITY GROUP hdd_only, \
      PRIMARY KEY (SingerId, SongId) \
    ) LOCALITY GROUP ssd_only INTERLEAVE IN PARENT Singers ON DELETE CASCADE;

Mover dados entre opções de armazenamento

É possível mover dados entre o armazenamento SSD e HDD. A transferência de dados pode levar até sete dias. Para migrar dados entre SSD e HDD mais rapidamente, é possível acionar manualmente uma compactação principal. É possível monitorar o progresso da migração consultando a tabela integrada SPANNER_SYS.TABLE_SIZES_STATS_1HOUR para verificar o uso do armazenamento em HDD e SSD de cada tabela no banco de dados. Também é possível monitorar o uso do armazenamento usando a métrica spanner.googleapis.com/instance/storage/used_bytes do Cloud Monitoring para mostrar o detalhamento de SSD e HDD do banco de dados ou da instância. Para mais informações, consulte observabilidade do armazenamento em níveis.

Mover dados do armazenamento SSD para HDD

Para mover dados do armazenamento SSD para HDD, crie um novo grupo de localidade com uma política de armazenamento em camadas com base na idade ou mude a política de armazenamento em camadas de um grupo de localidade atual. O Spanner move os dados durante o ciclo de compactação normal, que geralmente ocorre ao longo de sete dias. Se você estiver carregando dados e atualizando seu grupo de localidade usando uma das seguintes instruções DDL ALTER, aguarde até sete dias para que a alteração no grupo de localidade seja concluída:

GoogleSQL

  • ALTER TABLE ... SET OPTIONS (locality_group = '')
  • ALTER TABLE ... ALTER COLUMN ... SET OPTIONS (locality_group = '')
  • ALTER INDEX ... SET OPTIONS (locality_group = '')

PostgreSQL

  • ALTER TABLE ... SET LOCALITY GROUP ...
  • ALTER TABLE ... ALTER COLUMN ... SET LOCALITY GROUP ...
  • ALTER INDEX ... SET LOCALITY GROUP ...

O período de espera não é aplicável se você estiver criando uma nova tabela, coluna ou índice e adicionando o grupo de localidade como parte da sintaxe CREATE ou ADD COLUMN.

Para mais informações, consulte Criar uma política com base na idade para um grupo de localidades ou Mudar a opção de armazenamento.

Mover dados do armazenamento HDD para SSD

Para mover dados do armazenamento HDD para SSD, mude a opção de armazenamento de um grupo de localidade atual ou altere o grupo de localidade usado pela tabela. O Spanner move os dados durante o ciclo de compactação normal, que geralmente ocorre ao longo de sete dias. Se você estiver carregando dados e atualizando seu grupo de localidade usando uma das seguintes instruções DDL ALTER, aguarde até sete dias para que a alteração no grupo de localidade seja concluída:

GoogleSQL

  • ALTER TABLE ... SET OPTIONS (locality_group = '')
  • ALTER TABLE ... ALTER COLUMN ... SET OPTIONS (locality_group = '')
  • ALTER INDEX ... SET OPTIONS (locality_group = '')

PostgreSQL

  • ALTER TABLE ... SET LOCALITY GROUP ...
  • ALTER TABLE ... ALTER COLUMN ... SET LOCALITY GROUP ...
  • ALTER INDEX ... SET LOCALITY GROUP ...

O período de espera não é aplicável se você estiver criando uma nova tabela, coluna ou índice e adicionando o grupo de localidade como parte da sintaxe CREATE ou ADD COLUMN.

Alterar o grupo de localidade usado por uma tabela

É possível alterar o grupo de localidade usado por uma tabela definindo um grupo de localidade novo ou diferente nas opções da tabela.

Console

  1. Na página Spanner Studio, clique em Nova guia ou use a guia do editor vazia.
  2. Insira a instrução DDL ALTER TABLE que altera o grupo de localidade usado pela tabela usando GoogleSQL ou PostgreSQL.

    Por exemplo, as seguintes instruções DDL alteram o grupo de localidade usado pela tabela, Singers, para spill_to_hdd:

    GoogleSQL

    ALTER TABLE Singers SET OPTIONS (locality_group = 'spill_to_hdd');
    

    PostgreSQL

    ALTER TABLE Singers SET LOCALITY GROUP spill_to_hdd;
    
  3. Clique em Executar.

gcloud

Para alterar o grupo de localidade usado por uma tabela com o comando da CLI gcloud, use gcloud spanner databases ddl update.

Por exemplo, as seguintes instruções DDL alteram o grupo de localidade usado pela tabela, Singers, para spill_to_hdd:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER TABLE Singers SET OPTIONS(locality_group = 'spill_to_hdd');"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER TABLE Singers SET LOCALITY GROUP spill_to_hdd;"

Alterar o grupo de localidade usado pela coluna de uma tabela

É possível alterar o grupo de localidade usado pela coluna de uma tabela definindo o grupo de localidade nas opções da coluna.

Console

  1. Na página Spanner Studio, clique em Nova guia ou use a guia do editor vazia.
  2. Insira a instrução DDL ALTER TABLE que altera o grupo de localidade usado pela tabela usando GoogleSQL ou PostgreSQL.

    Por exemplo, as instruções DDL a seguir alteram o grupo de localidade usado pela coluna da tabela, LastName, para spill_to_hdd:

    GoogleSQL

    ALTER TABLE Singers
    ALTER COLUMN LastName SET OPTIONS(locality_group = 'spill_to_hdd');
    

    PostgreSQL

    ALTER TABLE Singers
    ALTER COLUMN LastName SET LOCALITY GROUP spill_to_hdd;
    
  3. Clique em Executar.

gcloud

Para alterar o grupo de localidade usado por uma tabela com o comando da CLI gcloud, use gcloud spanner databases ddl update.

Por exemplo, as seguintes instruções DDL alteram o grupo de localidade usado pela coluna da tabela, LastName, para spill_to_hdd:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER TABLE Singers ALTER COLUMN LastName SET OPTIONS(locality_group = 'spill_to_hdd');"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER TABLE Singers ALTER COLUMN SET LOCALITY GROUP spill_to_hdd;"

Alterar um grupo de localidade

É possível alterar um grupo de localidade mudando a opção de armazenamento ou mudando a política baseada em idade. O Spanner move os dados durante o ciclo de compactação normal, que geralmente ocorre ao longo de sete dias. Se você estiver carregando dados e atualizando seu grupo de localidade usando ALTER LOCALITY GROUP, será necessário aguardar até sete dias para que os dados atuais sejam migrados. A configuração atualizada se aplica imediatamente a todos os novos dados gravados nesse grupo de localidade.

Mudar a opção de armazenamento

É possível alterar a opção de armazenamento de um grupo de localidade de SSD para HDD ou de HDD para SSD.

Console

  1. Na página Spanner Studio, clique em Nova guia ou use a guia do editor vazia.
  2. Insira a instrução DDL ALTER LOCALITY GROUP usando GoogleSQL ou PostgreSQL.

    Por exemplo, as seguintes instruções DDL alteram a opção de armazenamento do grupo de localidade, separate_storage, para HDD:

    GoogleSQL

    ALTER LOCALITY GROUP separate_storage SET OPTIONS (storage='hdd');
    

    PostgreSQL

    ALTER LOCALITY GROUP separate_storage STORAGE 'hdd';
    
  3. Clique em Executar.

gcloud

Para mudar a opção de armazenamento de um grupo de localidade com o comando da CLI gcloud, use gcloud spanner databases ddl update.

Por exemplo, as seguintes instruções DDL alteram a opção de armazenamento do grupo de localidade, separate_storage, para HDD:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER LOCALITY GROUP separate_storage SET OPTIONS (storage = 'hdd');"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER LOCALITY GROUP separate_storage STORAGE 'hdd';"

Mudar a política com base na idade

É possível alterar a política baseada em idade de um grupo de localidade estendendo ou encurtando o tempo em que os dados são armazenados no SSD antes de serem movidos para o armazenamento em HDD.

Console

  1. Na página Spanner Studio, clique em Nova guia ou use a guia do editor vazia.
  2. Insira a instrução DDL ALTER LOCALITY GROUP usando GoogleSQL ou PostgreSQL.

    Por exemplo, as instruções DDL a seguir alteram a política baseada em idade do grupo de localidade, spill_to_hdd, estendendo o tempo de armazenamento dos dados no SSD para 20 dias:

    GoogleSQL

    ALTER LOCALITY GROUP spill_to_hdd SET OPTIONS (ssd_to_hdd_spill_timespan = '20d');
    

    PostgreSQL

    ALTER LOCALITY GROUP spill_to_hdd SSD_TO_HDD_SPILL_TIMESPAN '20d';
    
  3. Clique em Executar.

gcloud

Para alterar a política baseada em idade de um grupo de localidade com o comando da CLI gcloud, use gcloud spanner databases ddl update.

Por exemplo, as instruções DDL a seguir alteram a política baseada em idade do grupo de localidade, spill_to_hdd, estendendo o tempo de armazenamento dos dados no SSD para 20 dias:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER LOCALITY GROUP spill_to_hdd SET OPTIONS (ssd_to_hdd_spill_timespan = '20d');"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER LOCALITY GROUP spill_to_hdd SSD_TO_HDD_SPILL_TIMESPAN '20d';"

Excluir um grupo de localidades

Não é possível excluir um grupo de localidades se ele tiver dados. Primeiro, você precisa mover todos os dados que estão no grupo de localidade para outro grupo de localidade. Para mais informações, consulte Alterar o grupo de localidade usado pela tabela.

Console

  1. Na página Spanner Studio, clique em Nova guia ou use a guia do editor vazia.
  2. Insira a instrução DDL DROP LOCALITY GROUP usando GoogleSQL ou PostgreSQL.

    Por exemplo, é possível executar o seguinte para descartar um grupo de localidade ssd_only:

    GoogleSQL

    DROP LOCALITY GROUP ssd_only;
    

    PostgreSQL

    DROP LOCALITY GROUP ssd_only;
    
  3. Clique em Executar.

gcloud

Para remover um grupo de localidade com o comando da CLI gcloud, use gcloud spanner databases ddl update.

Por exemplo, para descartar o grupo de localidade ssd_only, execute:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="DROP LOCALITY GROUP ssd_only"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="DROP LOCALITY GROUP ssd_only"

A seguir