Criar e gerenciar tabelas

As tabelas do Bigtable permitem organizar e armazenar dados em grande escala para cargas de trabalho de aplicativos de baixa latência. É possível criar e gerenciar essas tabelas usando o console do Google Cloud , a Google Cloud CLI, a CLI do cbt ou de maneira programática com as bibliotecas de cliente do Cloud Bigtable.

Para mais informações sobre como criar e gerenciar visualizações autorizadas de uma tabela, consulte visualizações autorizadas.

Antes de começar

Se você planeja trabalhar com suas tabelas usando ferramentas de linha de comando, siga as etapas nesta seção.

  1. Instale a CLI gcloud.

  2. Opcional: se você planeja usar a CLI cbt, siga as instruções em Como instalar a CLI cbt , incluindo a etapa para criar um arquivo .cbtrc.

    As instruções da CLI cbt desta página presumem que você tenha definido o ID do projeto e da instância no arquivo .cbtrc. Como alternativa, é possível usar as sinalizações -project e -instance para definir esses valores sempre que executar um comando da CLI cbt.

Criar uma tabela

Ao criar uma tabela, você não precisa especificar os grupos de colunas para uso na tabela. Você pode adicionar ou excluir grupos de colunas mais tarde.

Console

Para criar uma nova tabela em uma instância:

  1. No console do Google Cloud , abra a lista de instâncias do Bigtable.

    Abrir a lista de instâncias

  2. Clique na instância em que estão as tabelas a serem visualizadas.

  3. Clique em Tabelas no painel esquerdo.

    A página Tabelas exibe uma lista de tabelas na instância.

  4. Clique em Criar tabela.

  5. Insira um ID de tabela para a tabela.

  6. Opcional: adicione grupos de colunas.

    É possível adicionar colunas agora ou mais tarde. Uma tabela precisa ter pelo menos um grupo de colunas para que seja possível gravar dados ou ler um fluxo de alterações nela.

  7. Opcional, edição Enterprise Plus: para usar a granularidade de carimbo de data/hora em microssegundos, selecione Usar carimbos de data/hora em microssegundos.

  8. Opcional: ative um fluxo de alterações na tabela. Antes de ativar um fluxo de alterações, entenda as implicações, incluindo o aumento nos custos de armazenamento e os requisitos de uso do perfil do aplicativo. Para mais informações, consulte Visão geral do fluxo de alterações.

    1. Selecione Ativar fluxo de alterações.

    2. No campo Tempo de retenção, digite um número entre 1 e 7 para especificar por quantos dias os dados do fluxo de alterações serão mantidos.

  9. Opcional: se você não quiser que o Bigtable crie um backup diário da tabela, desmarque a caixa de seleção Ativar backup automatizado. Para mais informações, consulte Usar o backup automatizado.

  10. Opcional: ative o acesso infrequente para a tabela como parte do armazenamento em níveis (pré-lançamento):

    1. Selecione Ativar armazenamento em níveis.

    2. No campo Limite de idade, insira o número de dias após os quais o Bigtable move os dados do armazenamento SSD para o armazenamento de acesso não frequente. O número precisa ser 30 ou maior.

  11. Opcional, edição Enterprise Plus: por padrão, um backup diário é criado em todos os clusters na instância da tabela. Para escolher os clusters em que o Bigtable precisa criar um backup diário da tabela, selecione os locais dos clusters no campo Selecionar clusters para fazer backup. Para mais informações, consulte Configurar locais de cluster de backup automatizado.

  12. Opcional: para configurar o esquema de chave de linha, selecione Definir esquema de chave de linha e faça o seguinte:

    1. Na lista Codificação, selecione um tipo de codificação para o esquema de chave de linha.

    2. Se você selecionou DelimitedBytes, no campo Delimitador, insira um delimitador que separe os segmentos nas chaves de linha atuais. O valor padrão é um símbolo de hash (#).

    3. No campo Segmento, insira um nome para o segmento, como device_type.

    4. Na lista Tipo, selecione o tipo de dados do segmento de chave de linha.

    5. Dependendo do tipo de dado selecionado, na lista Codificação de bytes, mantenha o tipo de codificação padrão do segmento de chave de linha ou mude-o.

    6. Opcional: se o segmento de chave de linha tiver mais de uma parte, clique em Adicionar segmento de chave de linha para incluir mais campos.

  13. Clique em Criar.

gcloud

Para criar uma tabela, execute o comando a seguir. Consulte gcloud bigtable instances tables create para ver uma lista completa de opções.

gcloud bigtable instances tables create TABLE_ID \
    --instance=INSTANCE_ID \
    --project=PROJECT_ID \
    --column-families=COLUMN-FAMILIES

Substitua:

  • TABLE_ID: um ID exclusivo para a nova tabela.
  • INSTANCE_ID: o ID da instância
  • PROJECT_ID: o projeto que conterá a nova tabela.
  • COLUMN-FAMILIES: uma lista separada por vírgulas de nomes de grupos de colunas. É possível adicionar mais grupos de colunas depois.

Opcional:

  • Para proteger a tabela contra exclusão, anexe o comando com --deletion-protection. Se você não aplicar essa configuração, a tabela poderá ser excluída. Para permitir explicitamente a exclusão da tabela, basta anexar --no-deletion-protection.

  • Para ativar um fluxo de alterações na tabela, especifique um período de armazenamento para os dados desse fluxo. Antes de ativar um fluxo de alterações, entenda as implicações, incluindo o aumento nos custos de armazenamento e os requisitos de uso do perfil do aplicativo. Para mais informações, consulte Visão geral dos fluxos de alterações.

    --change-stream-retention-period=RETENTION_PERIOD
    

    Substitua RETENTION_PERIOD pelo período em que o Bigtable reterá os dados do fluxo de alterações da tabela. O período precisa ser de um a sete dias. As unidades aceitáveis são dias (d), horas (h), minutos (m) e segundos (s). Exemplos: 48h ou 6d

  • Para permitir que o Bigtable crie um backup diário da tabela e retenha cada backup pelo período de armazenamento padrão de sete dias, use a flag --enable-automated-backup ao criar a tabela.

    gcloud bigtable instances tables create TABLE_ID \
        --instance=INSTANCE_ID \
        --project=PROJECT_ID \
        --column-families=COLUMN-FAMILIES \
        --enable-automated-backup
    

    Para configurar um período de armazenamento diferente, use a flag --automated-backup-retention-period em vez da flag --enable-automated-backup e forneça um valor de até 90 dias. O valor precisa ser expresso como um número com uma unidade de m, h ou d (minutos, horas ou dias), como 15d para 15 dias.

    Edição Enterprise Plus: por padrão, um backup diário é criado em todos os clusters na instância da tabela. Para configurar os locais de cluster em que o Bigtable precisa criar um backup diário da tabela, use a flag --automated-backup-locations em vez da flag --enable-automated-backup. Forneça uma lista separada por vírgulas de locais de cluster em que o backup automatizado precisa ser ativado. Exemplo: us-central1-a,us-east1-b,europe-west1-c.

  • Para ativar o acesso infrequente como parte do armazenamento em níveis (pré-lançamento), use a flag
    --tiered-storage-infrequent-access-older-than e substitua AGE_THRESHOLD por um valor de pelo menos 30 dias. As unidades aceitáveis são dias (d), horas (h), minutos (m) e segundos (s). Exemplo: 32d ou 32d12h.

    gcloud beta bigtable instances tables create TABLE_ID \
        --instance=INSTANCE_ID \
        --project=PROJECT_ID \
        --tiered-storage-infrequent-access-older-than=AGE_THRESHOLD
    
  • Para configurar a granularidade do carimbo de data/hora da tabela, use a flag --timestamp-granularity e substitua TIMESTAMP_GRANULARITY pelo nível de precisão. A precisão padrão é de milissegundos, e o valor é MILLIS. Se você quiser que a tabela aceite carimbos de data/hora com precisão de microssegundos, defina o valor como MICROS. Os carimbos de data/hora com precisão de microssegundos estão disponíveis apenas para instâncias na edição Enterprise Plus.

    gcloud bigtable instances tables create TABLE_ID \
        --instance=INSTANCE_ID \
        --project=PROJECT_ID \
        --column-families=COLUMN-FAMILIES \
        --timestamp-granularity=TIMESTAMP_GRANULARITY
    

cbt

Use o seguinte comando, substituindo TABLE_NAME pelo nome da tabela. Não é possível usar a CLI cbt para criar uma tabela com um fluxo de alterações ativado.

cbt createtable TABLE_ID

Opcional: para criar um grupo de colunas agregadas na tabela, adicione o tipo de agregação ao nome do grupo de colunas. O comando a seguir cria um grupo de colunas agregadas com uma política de coleta de lixo de never.

cbt createtable TABLE_ID families=FAMILY_NAME:never:TYPE

Substitua:

  • TABLE_ID: um ID exclusivo para a nova tabela.
  • FAMILY_NAME: uma lista separada por vírgulas de nomes de grupos de colunas. É possível adicionar mais grupos de colunas depois.
  • TYPE: o tipo de agregação. Precisa ser intsum, intmin, intmax ou inthll.

Para mais opções, consulte Criar uma tabela na referência da CLI cbt.

Se você excluir uma tabela por engano, não tente criar manualmente a tabela excluída. Use o comando da CLI gcloud bigtable instances tables undelete para recuperar a tabela.

Opcional: dividir a tabela por chave de linha

Para otimizar o desempenho, o Bigtable divide continuamente as tabelas em vários nós, distribuindo de maneira uniforme a quantidade de dados armazenados em cada nó e mantendo as linhas acessadas com frequência separadas, sempre que possível. Esse processo contínuo é automático.

Ao criar uma tabela, é possível especificar as divisões iniciais dela. O Bigtable divide a tabela nas chaves de linha que você fornecer. Se os espaços de chave forem muito grandes, o Bigtable dividirá ainda mais a tabela. As divisões iniciais são mantidas por cerca de 24 horas após a conclusão da criação da tabela. É possível fornecer até 100 chaves de linha em que as divisões iniciais devem ocorrer.

Por exemplo, é possível designar linhas específicas para dividir previamente a tabela, se você estiver prestes a gravar muitas linhas nela.

Dividir previamente a tabela não é essencial, mas é benéfico porque isso fornece informações do Bigtable sobre o provável destino da carga e dos dados armazenados quando a tabela for criada. A divisão prévia impede que o Bigtable precise dividir as tabelas e reequilibrar a carga de uma só vez quando os dados chegam.

Console

Não é possível dividir as linhas previamente ao criar uma tabela usando o console doGoogle Cloud .

gcloud

Para dividir uma tabela por chave de linha, execute o comando a seguir. Consulte gcloud bigtable instances tables create para ver uma lista completa de opções.

gcloud bigtable instances tables create TABLE_ID\
    --instance=INSTANCE_ID \
    --project=PROJECT_ID \
    --column-families=COLUMN-FAMILIES \
    --splits=SPLITS

Substitua:

  • TABLE_ID: um ID exclusivo para a nova tabela.
  • INSTANCE_ID: o ID da instância
  • PROJECT_ID: o projeto que conterá a nova tabela.
  • COLUMN-FAMILIES: uma lista separada por vírgulas de nomes de grupos de colunas. É possível adicionar mais grupos de colunas depois.
  • SPLITS: as chaves de linha em que a tabela será dividida inicialmente, por exemplo, 10,20.

cbt

Para dividir a tabela previamente com base na chave de linha, use a seguinte sintaxe para criar a tabela. Substitua [TABLE_NAME] pelo nome da tabela e [SPLITS] por uma lista separada por vírgulas de prefixos de chave de linha que devem ser usados nas divisões prévias.

```none
cbt createtable [TABLE_NAME] splits=[SPLITS]
```

Por exemplo, para dividir previamente a tabela my-table em chaves de linha iniciadas com 10 e 20:

```none
cbt createtable my-table splits=10,20
```

Modificar grupos de colunas em uma tabela

É possível adicionar grupos de colunas ao criar uma tabela ou a uma tabela atual. Se a tabela não tiver a proteção contra exclusão ativada, será possível excluir grupos de colunas nela.

Adicionar grupos de colunas

Console

Adicionar grupos de colunas a uma nova tabela

  1. No painel Criar tabela, para cada grupo de colunas que você quer adicionar, clique em Adicionar um grupo de colunas.

  2. No campo Nome do grupo de colunas, insira um identificador exclusivo para o grupo de colunas.

  3. Escolha o tipo de grupo de colunas:

  4. Se você selecionou Agregado, no campo Agregador, selecione uma das seguintes opções:

    • Soma: agrega a soma de todos os valores das células.
    • Mínimo: agrega o valor mínimo da célula.
    • Máximo: agrega o valor máximo da célula.
    • HyperLogLog: agrega a cardinalidade aproximada dos valores das células.
  5. Defina a política de coleta de lixo para o grupo de colunas.

  6. Clique em Concluído.

Adicionar grupos de colunas a uma tabela

  1. No console do Google Cloud , abra a lista de instâncias do Bigtable.

    Abrir a lista de instâncias

  2. Clique na instância em que estão as tabelas a serem visualizadas.

  3. Clique em Tabelas no painel esquerdo.

    A página Tabelas exibe uma lista de tabelas na instância.

  4. Clique em Editar na tabela que você quer modificar.

  5. Para cada grupo de colunas que você quer adicionar, faça o seguinte:

    1. Clique em Adicionar grupo de colunas.
    2. No campo Nome do grupo de colunas, insira um identificador exclusivo para o grupo de colunas.
    3. Escolha o tipo de grupo de colunas:

    4. Se você selecionou Agregado, no campo Agregador, selecione uma das seguintes opções:

      • Soma: agrega a soma de todos os valores das células.
      • Mínimo: agrega o valor mínimo da célula.
      • Máximo: agrega o valor máximo da célula.
      • HyperLogLog: agrega a cardinalidade aproximada dos valores das células.
    5. Defina a política de coleta de lixo para o grupo de colunas.

    6. Clique em Concluído.

  6. Clique em Salvar.

gcloud

Não é possível usar a CLI gcloud para adicionar grupos de colunas a uma tabela.

cbt

Para adicionar um grupo de colunas a uma tabela, use o seguinte comando:

cbt createfamily TABLE_ID FAMILY_NAME

Por exemplo, para adicionar os grupos de colunas cf1 e cf2 à tabela my-table:

cbt createfamily my-table cf1
cbt createfamily my-table cf2

Opcional: para adicionar um grupo de colunas agregadas à tabela, anexe o nome do grupo de colunas ao tipo de agregação. O exemplo a seguir cria uma tabela que tem um grupo de colunas agregadas com uma política de coleta de lixo de never.

cbt createfamily TABLE_ID FAMILY_NAME:never:TYPE

Substitua:

  • TABLE_ID: o ID da tabela
  • FAMILY_NAME: uma lista separada por vírgulas de nomes de grupos de colunas. É possível adicionar mais grupos de colunas depois.
  • TYPE: o tipo de agregação. Precisa ser intsum, intmin, intmax ou inthll.

Excluir grupos de colunas

É possível excluir grupos de colunas de uma tabela em que a proteção contra exclusão não esteja ativada.

Console

  1. No console do Google Cloud , abra a lista de instâncias do Bigtable.

    Abrir a lista de instâncias

  2. Clique na instância em que estão as tabelas a serem visualizadas.

  3. Clique em Tabelas no painel esquerdo.

    A página Tabelas exibe uma lista de tabelas na instância.

  4. Clique em Editar na tabela que você quer modificar.

  5. Para cada grupo de colunas que você quer excluir, faça o seguinte:

    1. Passe o cursor sobre a linha do grupo de colunas que você quer excluir.
    2. Clique em .
  6. Clique em Salvar.

  7. Para confirmar que você entende que a exclusão de um grupo de colunas é permanente e que todos os dados nele serão excluídos, digite "Excluir grupos de colunas" no campo de texto.

  8. Clique em Confirmar.

gcloud

Não é possível usar a CLI gcloud para excluir grupos de colunas de uma tabela.

cbt

Para excluir um grupo de colunas de uma tabela, use o comando a seguir substituindo [TABLE_NAME] pelo nome da tabela e [FAMILY_NAME] pelo nome do grupo de colunas.

cbt deletefamily [TABLE_NAME] [FAMILY_NAME]

Por exemplo, para excluir o grupo de colunas cf2 da tabela my-table:

cbt deletefamily my-table cf2

Ver uma lista de tabelas

Console

Para ver uma lista de tabelas em uma instância:

  1. No console do Google Cloud , abra a lista de instâncias do Bigtable.

    Abrir a lista de instâncias

  2. Clique na instância em que estão as tabelas a serem visualizadas.

  3. Clique em Tabelas no painel esquerdo.

    A página Tabelas exibe uma lista de tabelas na instância.

gcloud

Para ver uma lista de tabelas, execute o comando gcloud bigtable instances tables list.

gcloud bigtable instances tables list --instances=INSTANCE_IDS

Substitua:

  • INSTANCE_IDS: uma lista separada por vírgulas de IDs de instâncias.

cbt

Para visualizar uma lista de tabelas em uma instância, execute o seguinte comando:

    cbt ls INSTANCE_ID

Substitua:

  • INSTANCE_ID: identificador permanente da instância

C++

Para saber como instalar e usar a biblioteca de cliente do Bigtable, consulte Bibliotecas de cliente do Bigtable.

Para autenticar no Bigtable, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

namespace cbt = ::google::cloud::bigtable;
namespace cbta = ::google::cloud::bigtable_admin;
using ::google::cloud::StreamRange;
[](cbta::BigtableTableAdminClient admin, std::string const& project_id,
   std::string const& instance_id) {
  std::string instance_name = cbt::InstanceName(project_id, instance_id);

  google::bigtable::admin::v2::ListTablesRequest r;
  r.set_parent(instance_name);
  r.set_view(google::bigtable::admin::v2::Table::NAME_ONLY);

  StreamRange<google::bigtable::admin::v2::Table> tables =
      admin.ListTables(std::move(r));
  for (auto& table : tables) {
    if (!table) throw std::move(table).status();
    std::cout << table->name() << "\n";
  }
}

C#

Para saber como instalar e usar a biblioteca de cliente do Bigtable, consulte Bibliotecas de cliente do Bigtable.

Para autenticar no Bigtable, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

// Lists tables in intance.
// Initialize request argument(s).
ListTablesRequest request = new ListTablesRequest
{
    ParentAsInstanceName = s_instanceName
};
try
{
    // Make the request.
    PagedEnumerable<ListTablesResponse, Table> response = bigtableTableAdminClient.ListTables(request);

}
catch (Exception ex)
{
    Console.WriteLine($"Error listing tables {ex.Message}");
}

Java

Para saber como instalar e usar a biblioteca de cliente do Bigtable, consulte Bibliotecas de cliente do Bigtable.

Para autenticar no Bigtable, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

// Lists tables in the current instance.
try {
  String parent = "projects/" + projectId + "/instances/" + instanceId;
  ListTablesRequest request = ListTablesRequest.newBuilder().setParent(parent).build();
  for (Table table : adminClient.listTables(request).iterateAll()) {
    System.out.println(table.getName());
  }
} catch (NotFoundException e) {
  System.err.println("Failed to list tables from a non-existent instance: " + e.getMessage());
}

Node.js

Para saber como instalar e usar a biblioteca de cliente do Bigtable, consulte Bibliotecas de cliente do Bigtable.

Para autenticar no Bigtable, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

// List tables in current project
const [tables] = await adminClient.listTables({parent: instance.name});
tables.forEach(table => {
  console.log(table.name);
});

PHP

Para saber como instalar e usar a biblioteca de cliente do Bigtable, consulte Bibliotecas de cliente do Bigtable.

Para autenticar no Bigtable, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

use Google\Cloud\Bigtable\Admin\V2\Client\BigtableInstanceAdminClient;
use Google\Cloud\Bigtable\Admin\V2\Client\BigtableTableAdminClient;
use Google\Cloud\Bigtable\Admin\V2\ListTablesRequest;

/**
 * List tables in an instance
 *
 * @param string $projectId The Google Cloud project ID
 * @param string $instanceId The ID of the Bigtable instance
 */
function list_tables(
    string $projectId,
    string $instanceId
): void {
    $instanceAdminClient = new BigtableInstanceAdminClient();
    $tableAdminClient = new BigtableTableAdminClient();

    $instanceName = $instanceAdminClient->instanceName($projectId, $instanceId);

    printf('Listing Tables:' . PHP_EOL);
    $listTablesRequest = (new ListTablesRequest())
        ->setParent($instanceName);
    $tables = $tableAdminClient->listTables($listTablesRequest)->iterateAllElements();
    $tables = iterator_to_array($tables);
    if (empty($tables)) {
        print('No table exists.' . PHP_EOL);
        return;
    }
    foreach ($tables as $table) {
        print($table->getName() . PHP_EOL);
    }
}

Python

Para saber como instalar e usar a biblioteca de cliente do Bigtable, consulte Bibliotecas de cliente do Bigtable.

Para autenticar no Bigtable, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

tables = instance.list_tables()
print("Listing tables in current project...")
if tables != []:
    for tbl in tables:
        print(tbl.table_id)
else:
    print("No table exists in current project...")

Ruby

Para saber como instalar e usar a biblioteca de cliente do Bigtable, consulte Bibliotecas de cliente do Bigtable.

Para autenticar no Bigtable, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

# instance_id = "my-instance"
bigtable.tables(instance_id).all.each do |t|
  puts "Table: #{t.name}"
end

Ver informações sobre uma tabela

Console

Para visualizar informações sobre uma tabela:

  1. No console do Google Cloud , abra a lista de instâncias do Bigtable.

    Abrir a lista de instâncias

  2. Clique na instância em que estão as tabelas a serem visualizadas.

  3. Clique em Tabelas no painel esquerdo.

    A página Tabelas exibe uma lista de tabelas na instância. O console do Google Cloud exibe o número de clusters em que a tabela está armazenada, o status dela, a utilização do armazenamento e os identificadores de todos os backups atuais da tabela. Para tabelas com armazenamento em níveis (pré-lançamento) ativado, é possível conferir a utilização do armazenamento SSD e do armazenamento de acesso infrequente.

  4. Para visualizar os nomes dos grupos de colunas da tabela, clique em . Para fechar o painel Editar tabela, clique em Cancelar.

  5. Para visualizar mais detalhes sobre a tabela, incluindo métricas no nível da tabela e estado de replicação, clique no nome da tabela.

gcloud

Para acessar informações sobre uma tabela, execute o comando gcloud bigtable instances tables describe.

gcloud bigtable instances tables describe TABLE_ID \
    --instance=INSTANCE_ID

Substitua:

  • TABLE_ID: um ID exclusivo da tabela.
  • INSTANCE_ID: o ID da instância

cbt

É possível usar a CLI cbt para conseguir uma lista de grupos de colunas existentes em uma tabela.

Use o seguinte comando, substituindo [TABLE_NAME] pelo nome da tabela:

cbt ls [TABLE_NAME]

Definir políticas de coleta de lixo

Uma política de coleta de lixo informa ao Bigtable quais dados serão mantidos e quais serão marcados para exclusão. Você define as políticas de coleta de lixo no nível do grupo de colunas ao criar a tabela ou depois.

Ao criar um grupo de colunas, você pode especificar o número de células que quer reter em todas as colunas desse grupo. Se você não especificar essa configuração, o Cloud Bigtable usa uma das seguintes configurações padrão:

  • Se você criar o grupo de colunas com o cliente HBase do Cloud Bigtable para Java ou o shell do HBase ou outra ferramenta que use o cliente HBase para Java, o Bigtable reterá apenas uma célula para cada interseção de linha ou coluna no grupo de colunas. Essa configuração padrão é consistente com o HBase.

  • Se você criar o grupo de colunas usando o console do Google Cloud , qualquer outra biblioteca de cliente ou a CLI cbt , o Bigtable reterá um número infinito de células em cada coluna.

Consulte Configurar políticas de coleta de lixo para instruções detalhadas sobre como visualizar, definir e atualizar políticas de coleta de lixo.

Fazer backup e restaurar uma tabela

Para instruções sobre como fazer backup de uma tabela e restaurar a partir de um backup em uma nova tabela, consulte Gerenciar backups.

Se você tiver ativado o backup automatizado ao criar uma tabela, poderá modificar a configuração de backup automatizado de uma tabela para ativar ou desativar o backup automatizado ou alterar o período de armazenamento para até 90 dias. Para mais informações, consulte Usar o backup automatizado.

Ativar, desativar ou configurar um fluxo de alterações

Para instruções sobre as tarefas a seguir, consulte Configurar um fluxo de alterações.

  • Como ativar um fluxo de alterações em uma tabela que já existe
  • Como desativar um fluxo de alterações
  • Atualizar o período de armazenamento de um fluxo de alterações

Excluir uma tabela

A exclusão de uma tabela também exclui todas as visualizações autorizadas dela. Se alguma visualização autorizada da tabela tiver a proteção contra exclusão ativada, não será possível excluir a tabela. Também não é possível excluir uma tabela que tenha uma visualização materializada contínua baseada nela.

Console

  1. No console do Google Cloud , abra a lista de instâncias do Bigtable.

    Abrir a lista de instâncias

  2. Clique na instância em que estão as tabelas a serem visualizadas.

  3. Clique em Tabelas no painel esquerdo.

    A página Tabelas exibe uma lista de tabelas na instância.

  4. Clique em na tabela que você quer excluir.

  5. Clique em Excluir.

  6. Para confirmar que esta ação excluirá a tabela de todos os clusters na instância e que você tem apenas sete dias para cancelá-la, digite o ID da tabela na caixa Excluir tabela.

  7. Clique em Excluir.

gcloud

  1. Para excluir tabelas, execute o comando gcloud bigtable instances tables delete.

    gcloud bigtable instances tables delete TABLE_ID --instance=INSTANCE_ID
    

    Substitua:

    • TABLE_ID: o ID exclusivo da tabela.
    • INSTANCE_ID: o ID da instância
  2. No terminal, digite y para confirmar a exclusão da tabela.

cbt

Para excluir uma tabela, use o comando a seguir substituindo [TABLE_NAME] pelo nome da tabela:

cbt deletetable [TABLE_NAME]

Cancelar exclusão de uma tabela

Se você excluir uma tabela acidentalmente, use o comando bigtable instances tables undelete da CLI gcloud para cancelar a exclusão ou recuperar a tabela. Não tente recriar manualmente a tabela excluída.

Para cancelar a exclusão de uma tabela, execute o seguinte comando no terminal:

gcloud bigtable instances tables undelete TABLE_ID --instance=INSTANCE_ID

Substitua:

  • TABLE_ID: o identificador exclusivo da tabela.
  • INSTANCE_ID: o ID da instância

Quando você cancela a exclusão de uma tabela, o Bigtable ativa automaticamente a proteção contra exclusão para ela.

Considere as seguintes limitações:

  • A capacidade de cancelar a exclusão de uma tabela ficará disponível por aproximadamente sete dias a partir do momento da exclusão.
  • Não é possível cancelar a exclusão de uma tabela usando o console do Google Cloud , as bibliotecas de cliente do Cloud Bigtable ou a CLI cbt.
  • Não é possível cancelar a exclusão de uma tabela de uma instância excluída.
  • Não é possível cancelar a exclusão de uma tabela com a CMEK ativada.
  • Se você fez downgrade da instância para a edição Enterprise, não é possível cancelar a exclusão de uma tabela com granularidade de carimbo de data/hora de microssegundos. Para cancelar a exclusão de uma tabela, a instância precisa estar na edição Enterprise Plus.
  • Quando você cancela a exclusão de uma tabela, o Bigtable não restaura nenhuma vinculação de política do IAM detalhada para a tabela excluída.

É possível verificar o status da operação undelete nos registros de auditoria.

Mudar proteção contra exclusão

É possível ativar ou desativar a proteção contra exclusão de uma tabela se você for um principal em um papel que inclui a permissão bigtable.tables.update, como roles/bigtable.admin. A proteção contra exclusão impede a exclusão da tabela, de todos os grupos de colunas na tabela e da instância que contém a tabela.

Ativar a proteção contra exclusão de uma tabela não a ativa para visualizações autorizadas da tabela. Da mesma forma, desativar a proteção contra exclusão de uma tabela não a desativa para as visualizações autorizadas da tabela. É preciso atualizar as visualizações autorizadas da tabela separadamente.

Console

  1. No console do Google Cloud , abra a lista de instâncias do Bigtable.

    Abrir a lista de instâncias

  2. Clique na instância em que estão as tabelas a serem visualizadas.

  3. Clique em Tabelas no painel esquerdo.

    A página Tabelas exibe uma lista de tabelas na instância.

  4. Clique em ao lado do ID da tabela.

  5. Para ativar a proteção contra exclusão, clique em Impedir exclusão. Para desativar a proteção contra exclusão, clique em Ativar exclusão. Apenas a opção válida fica visível.

gcloud

Para ativar a proteção contra exclusão de uma tabela, execute o comando gcloud bigtable instances table update:

```sh
gcloud bigtable instances tables update TABLE_ID \
    --instance=INSTANCE_ID \
    --deletion-protection
```

Para desativar a proteção contra exclusão de uma tabela, execute o seguinte:

```sh
gcloud bigtable instances tables update TABLE_ID \
    --instance=INSTANCE_ID \
    --no-deletion-protection
```

Substitua:

+ TABLE_ID: the unique identifier for the table
+ INSTANCE_ID: the ID of the instance

cbt

Não é possível usar a CLI cbt para ativar ou desativar a proteção contra exclusão.

Modificar o limite de idade do armazenamento de acesso pouco frequente

É possível modificar o limite de idade do acesso infrequente que faz parte do armazenamento em níveis a qualquer momento.

Console

  1. No console do Google Cloud , abra a lista de instâncias do Bigtable.

    Abrir a lista de instâncias

  2. Clique na instância em que estão as tabelas a serem visualizadas.

  3. Clique em Tabelas no painel esquerdo.

    A página Tabelas exibe uma lista de tabelas na instância.

  4. Clique em Editar na tabela que você quer modificar.

  5. No campo Limite de idade, insira o novo número de dias após os quais o Bigtable move os dados do armazenamento SSD para o armazenamento de acesso infrequente. O número precisa ser 30 ou maior.

gcloud

Para modificar o limite de idade do armazenamento de acesso infrequente, execute o comando gcloud beta bigtable instances tables update com a flag --tiered-storage-infrequent-access-older-than:

    gcloud beta bigtable instances tables update TABLE_ID \
        --instance=INSTANCE_ID \
        --project=PROJECT_ID \
        --tiered-storage-infrequent-access-older-than=AGE_THRESHOLD

Substitua:

  • TABLE_ID: o ID da tabela que você quer atualizar.
  • INSTANCE_ID: o ID da instância.
  • PROJECT_ID: o projeto que contém a tabela que você quer atualizar.
  • AGE_THRESHOLD: o limite de idade, que precisa ser de pelo menos 30 dias. As unidades aceitáveis são dias (d), horas (h), minutos (m) e segundos (s). Exemplo: de 32d para 33d.

Desativar o armazenamento de acesso pouco frequente

É possível desativar o acesso infrequente do armazenamento em níveis a qualquer momento. Como resultado, o Bigtable move todos os dados no armazenamento de acesso infrequente para o armazenamento SSD. Antes de desativar o armazenamento de acesso infrequente, entenda as implicações de custo.

Console

  1. No console do Google Cloud , abra a lista de instâncias do Bigtable.

    Abrir a lista de instâncias

  2. Clique na instância em que estão as tabelas a serem visualizadas.

  3. Clique em Tabelas no painel esquerdo.

    A página Tabelas exibe uma lista de tabelas na instância.

  4. Clique em Editar na tabela que você quer modificar.

  5. Desmarque a caixa de seleção Ativar armazenamento em níveis.

  6. Clique em Salvar.

gcloud

Para desativar o armazenamento de acesso infrequente, use o comando gcloud beta bigtable instances tables update com a flag --clear-tiered-storage-config:

    gcloud beta bigtable instances tables update TABLE_ID \
        --instance=INSTANCE_ID \
        --project=PROJECT_ID \
        --clear-tiered-storage-config

Substitua:

  • TABLE_ID: o ID da tabela que você quer atualizar.
  • INSTANCE_ID: o ID da instância
  • PROJECT_ID: o projeto que contém a tabela que você quer atualizar.

A seguir