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 dos dados no esquema do banco de dados. Para saber como funciona o armazenamento em camadas, consulte Armazenamento em camadas.

Criar um grupo de localidades

É possível criar um grupo de localidade sem uma política de armazenamento em níveis ou criar um grupo 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 camadas, ele vai herdar a política 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 Google Cloud console.

    Instâncias

  2. Selecione a instância em que você quer usar o armazenamento em camadas.

  3. Selecione o banco de dados em que você quer usar o armazenamento em camadas.

  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, execute o seguinte comando para criar um grupo de localidade, separate_storage, que armazena colunas em um arquivo separado dos dados do restante das colunas:

    GoogleSQL

    CREATE LOCALITY GROUP separate_storage;
    

    PostgreSQL

    CREATE LOCALITY GROUP separate_storage;
    

    Por exemplo, execute o seguinte comando para criar um grupo de localidade, ssd_only, que armazena dados em armazenamento SSD:

    GoogleSQL

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

    PostgreSQL

    CREATE LOCALITY GROUP ssd_only STORAGE 'ssd';
    

    Por exemplo, execute o seguinte comando para criar um grupo de localidade, hdd_only, que armazena dados em um 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 localidades com o comando da CLI gcloud, use gcloud spanner databases ddl update.

Por exemplo, execute o seguinte comando para criar um grupo de localidade, separate_storage, que armazena colunas em um arquivo separado dos dados do 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, execute o seguinte comando para criar um grupo de localidade, ssd_only, que armazena dados em 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, execute o seguinte comando para criar um grupo de localidade, hdd_only, que armazena dados em um 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 localidades

Um grupo de localidades com uma política baseada em idade armazena dados mais recentes em armazenamento SSD por um período especificado. Depois que o tempo especificado passa, o Spanner migra os dados para o armazenamento em HDD durante o ciclo normal de compactação, que geralmente ocorre ao longo de sete dias a partir do horário especificado. Ao usar uma política de armazenamento em camadas baseada em idade, o período mínimo que os dados precisam ficar armazenados em SSD antes de serem movidos para o armazenamento HDD é de uma hora.

Para criar um grupo de localidades 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 depois migra dados mais antigos para o armazenamento HDD durante o ciclo normal de compactação:

    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 usando o comando da CLI gcloud, use gcloud spanner databases ddl update.

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

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 camadas para seus dados

Depois de criar o grupo de localidades, defina a política de armazenamento em camadas para seus dados. A política de armazenamento em camadas determina o grupo de localidade que os dados usam. É possível definir a política de armazenamento em camadas 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 camadas do pai, a menos que seja substituída explicitamente.

Se você criar um grupo de localidade sem uma política de armazenamento em camadas, ele vai herdar a política 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 camadas é que todos os dados sejam armazenados em SSDs. É possível mudar a política de armazenamento em camadas no nível do banco de dados alterando o grupo de localidade default. Para bancos de dados do dialeto GoogleSQL, a instrução DDL ALTER LOCALITY GROUP precisa ter default entre acentos graves (`default`). Só é necessário incluir os acentos graves 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 camadas 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 camadas 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 camadas 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 localidades no nível da tabela

É possível definir uma política de armazenamento em camadas no nível da tabela para seus dados que substitui a política no nível do banco de dados. A política de armazenamento em níveis no nível da tabela também se aplica a todas as colunas da tabela, a menos que você tenha definido uma política de substituição de armazenamento em níveis 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 instruções DDL a seguir 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 camadas no nível da tabela com o comando da CLI gcloud 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 camadas de substituição no nível da coluna

Você pode definir uma política de armazenamento em camadas 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 substituição no nível da coluna política de armazenamento em camadas usando GoogleSQL ou 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 camadas:

    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 camadas 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 camadas de substituição no nível do índice secundário

Você pode definir uma política de armazenamento em níveis secundária de substituição 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 camadas de substituição secundária no nível do índice 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 pelo nome e sobrenome. O índice SingersByFirstLastName substitui a 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

    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 camadas de substituição secundária no nível do índice 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 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 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 localidades no nível da coluna

É possível definir um grupo de localidade no nível da coluna para seus dados, mesmo que ele não tenha uma política de armazenamento em camadas. 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 GoogleSQL ou PostgreSQL.

    Por exemplo, as instruções DDL a seguir criam uma tabela Songs com uma coluna LyricsCompressed 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 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 armazenamento SSD e HDD. A movimentação de dados pode levar até sete dias. Para monitorar o progresso da movimentação, consulte a tabela SPANNER_SYS.TABLE_SIZES_STATS_1HOUR integrada para verificar o uso do armazenamento de 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 de armazenamento em camadas.

Mover dados do armazenamento SSD para HDD

Para mover dados do armazenamento SSD para HDD, crie um 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 normal de compactação, que geralmente ocorre ao longo de sete dias. Se você estiver carregando dados e atualizando seu grupo de localidades usando uma das seguintes instruções DDL ALTER, aguarde até sete dias para que a mudança no grupo de localidades 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 se aplica se você estiver criando uma nova tabela, coluna ou índice e adicionando o grupo de localidades 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 normal de compactação, que geralmente ocorre ao longo de sete dias. Se você estiver carregando dados e atualizando seu grupo de localidades usando uma das seguintes instruções DDL ALTER, aguarde até sete dias para que a mudança no grupo de localidades 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 se aplica se você estiver criando uma nova tabela, coluna ou índice e adicionando o grupo de localidades como parte da sintaxe CREATE ou ADD COLUMN.

Alterar o grupo de localidades usado por uma tabela

É possível alterar o grupo de localidades usado por uma tabela definindo um grupo 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 muda 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 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 instruções DDL a seguir 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 por uma coluna de tabela

É possível alterar o grupo de localidade usado por uma coluna de 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 muda 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 instruções DDL a seguir 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 por região administrativa

É possível alterar um grupo de localidades mudando a opção de armazenamento ou a política com base na idade. O Spanner move os dados durante o ciclo normal de compactação, que geralmente ocorre ao longo de sete dias. Se você estiver carregando dados e atualizando seu grupo de localidades usando ALTER LOCALITY GROUP, aguarde até sete dias para que os dados atuais sejam migrados. A configuração atualizada é aplicada imediatamente a todos os novos dados gravados nesse grupo de localidades.

Mudar a opção de armazenamento

É possível mudar a opção de armazenamento de um grupo de localidades 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 instruções DDL a seguir mudam 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 localidades com o comando da CLI gcloud, use gcloud spanner databases ddl update.

Por exemplo, as instruções DDL a seguir mudam 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 mudar a política com base na idade de um grupo de localidades estendendo ou reduzindo o tempo que os dados ficam 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 mudam a política baseada em idade do grupo de localidade, spill_to_hdd, estendendo o período de armazenamento dos dados em 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 mudar a política com base na idade de um grupo de localidades com o comando da CLI gcloud, use gcloud spanner databases ddl update.

Por exemplo, as instruções DDL a seguir mudam a política baseada em idade do grupo de localidade, spill_to_hdd, estendendo o período de armazenamento dos dados em 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, mova todos os dados do grupo de localidades para outro grupo. Para mais informações, consulte Mudar 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, execute o comando a seguir para excluir um grupo de localidades ssd_only:

    GoogleSQL

    DROP LOCALITY GROUP ssd_only;
    

    PostgreSQL

    DROP LOCALITY GROUP ssd_only;
    
  3. Clique em Executar.

gcloud

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

Por exemplo, para descartar o grupo de localidades 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