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 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 você quer criar a tabela.

  3. No menu de navegação do Bigtable, clique em Tabelas.

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

  4. Clique em Criar tabela.

  5. No painel Criar uma tabela, no campo ID da tabela, insira um ID permanente para a tabela.

  6. Opcional: adicione grupos de colunas.

    É possível adicionar grupos de colunas ao criar a tabela ou depois. 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: na edição Enterprise Plus, para usar a granularidade de carimbo de data/hora em microssegundos, na seção Granularidade de carimbo de data/hora, 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 inteiro entre 1 e 7 para especificar por quantos dias os dados do fluxo de alterações serão mantidos.

  9. Opcional: na seção Configurar backup automatizado, configure backups automatizados para a tabela. Por padrão, a opção Ativar backup automatizado é selecionada, e o Bigtable cria um backup padrão diário em todos os clusters da instância e retém cada backup por sete dias. Para mais informações, consulte Usar o backup automatizado.

    • Se você não quiser que o Bigtable crie backups diários da tabela, desmarque Ativar backup automatizado.
    • Em instâncias SSD, para criar backups dinâmicos diários em vez de backups padrão, selecione Dinâmico na seção Tipo de backup e, no campo Definir dinâmico como padrão, insira um número inteiro de 1 a 10 para especificar o número de dias antes que cada backup faça a transição automática para um backup padrão. O padrão é de três dias, e o valor não pode exceder o período de armazenamento. Não será possível selecionar Hot se o armazenamento em níveis estiver ativado. Para mais informações, consulte Configurar backups automatizados ativos.
    • Para definir um período de armazenamento personalizado, na seção Configuração de backup, insira um número inteiro de 3 a 90 no campo Período de retenção para especificar o número de dias de retenção dos backups.
    • Na edição Enterprise Plus, para escolher clusters específicos em que o Bigtable cria backups diários, na seção Configuração de backup, selecione os clusters na lista Selecionar clusters para backup e clique em OK. Para mais informações, consulte Configurar locais de cluster de backup automatizado.
  10. Opcional: na seção Configurar armazenamento em níveis, ative o armazenamento de acesso infrequente para a tabela como parte do armazenamento em níveis (pré-lançamento). Não é possível ativar o armazenamento em níveis se a opção Dinâmico estiver selecionada para backups automáticos.

    1. Marque a caixa de seleção Ativar armazenamento em níveis.

    2. No campo Limite de idade, insira um número inteiro maior ou igual a 30 para especificar o número de dias após os quais o Bigtable move os dados do armazenamento SSD para o armazenamento de acesso infrequente.

  11. 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.

  12. 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). Por exemplo, 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.

    Em instâncias de SSD, para configurar o Bigtable para criar backups automatizados frequentes que fazem a transição automática para backups padrão, use a flag --automated-backup-keep-hot-duration em vez da flag --enable-automated-backup. Informe uma duração de 24h (1 dia) a 10d (10 dias), sem exceder o período de armazenamento. Expresse o valor como um número com uma unidade de s, m, h ou d (segundos, minutos, horas ou dias), como 24h ou 2d. Para mais informações, consulte Configurar backups automáticos ativos.

    Edição Enterprise Plus: por padrão, o Bigtable cria um backup diário 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, por 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:

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

    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), por exemplo, 32d ou 32d12h.

  • Para configurar a granularidade do carimbo de data/hora da tabela, use a flag --timestamp-granularity:

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

    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.

cbt

Não é possível usar a CLI cbt para criar uma tabela com um fluxo de alterações ativado.

Para criar uma tabela, execute o comando a seguir:

cbt createtable TABLE_ID

Substitua TABLE_ID por um ID exclusivo para a nova tabela.

Opcional: para criar um grupo de colunas agregadas na tabela, adicione o tipo de agregação ao nome do grupo de colunas. O exemplo 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, execute o seguinte comando:

cbt createtable TABLE_ID splits=SPLITS

Substitua:

  • TABLE_ID: um ID exclusivo para a nova tabela.
  • SPLITS: uma lista separada por vírgulas de prefixos de chave de linha a serem usados para as divisões prévias.

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

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, execute o seguinte comando:

cbt createfamily TABLE_ID FAMILY_NAME

Substitua:

  • TABLE_ID: o ID da tabela em que o grupo de colunas será adicionado.
  • FAMILY_NAME: o nome do grupo de colunas a ser adicionado

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, execute o seguinte comando:

cbt deletefamily TABLE_ID FAMILY_NAME

Substitua:

  • TABLE_ID: o ID da tabela em que o grupo de colunas será excluído.
  • FAMILY_NAME: o nome do grupo de colunas a ser excluído.

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 por uma lista separada por vírgulas de IDs de instância.

cbt

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

cbt ls INSTANCE_ID

Substitua INSTANCE_ID pelo 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.

Para ver os grupos de colunas em uma tabela, execute o seguinte comando:

cbt ls TABLE_ID

Substitua TABLE_ID pelo ID exclusivo da tabela.

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ê ativar o backup automatizado ao criar uma tabela, poderá modificar a configuração de backup automatizado da tabela posteriormente. É possível ativar ou desativar o backup automatizado, configurar backups automatizados em instâncias de SSD, alterar o período de armazenamento para até 90 dias ou, na edição Enterprise Plus, selecionar os clusters em que o Bigtable armazena backups. 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, execute o seguinte comando:

cbt deletetable TABLE_ID

Substitua TABLE_ID pelo ID exclusivo da tabela.

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 tables update:

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

Substitua:

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

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

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

Substitua:

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

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), por exemplo, de 32d anteriormente 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