Tabelas e visualizações

No Bigtable, os dados são armazenados em tabelas, e é possível criar vários tipos de visualizações delas. O tipo de visualização usado depende do seu caso de uso.

Tabelas

Uma tabela do Bigtable é um mapa de chave-valor classificado que armazena dados em linhas e colunas. Cada linha é indexada por uma chave de linha única. As colunas relacionadas entre si geralmente são agrupadas em um grupo de colunas.

O Bigtable tem um modelo de dados flexível, e as tabelas são esparsas. Isso significa que, se uma coluna não for usada em uma linha, nenhum dado será armazenado para ela. Não é necessário armazenar valores NULL para colunas não usadas, como em um banco de dados relacional. Em uma tabela do Bigtable, uma linha pode ter uma coluna e a linha ao lado dela 100 colunas.

Em uma linha, uma coluna pode conter várias células, cada uma identificada pela tupla de quatro elementos (chave de linha, grupo de colunas, qualificador de coluna, carimbo de data/hora). O armazenamento de várias células em uma coluna fornece um registro de como os dados armazenados para essa linha e coluna mudaram ao longo do tempo.

Uma tabela do Bigtable não oferece suporte a mesclagens, e as transações são compatíveis apenas com uma única linha.

Uma tabela é um recurso no nível da instância que é replicado automaticamente para cada cluster na instância. A retenção de dados é controlada com políticas de coleta de lixo definidas no nível do grupo de colunas.

Para mais informações, consulte a visão geral do Bigtable e as práticas recomendadas de design de esquema.

Visualizações

O Bigtable oferece suporte aos seguintes tipos de visualizações de tabela: visualizações lógicas, visualizações materializadas contínuas e visualizações autorizadas. As visualizações permitem compartilhar dados de tabelas com usuários e grupos específicos sem conceder acesso aos dados de origem subjacentes.

Visualizações lógicas

Uma visualização lógica (geralmente chamada apenas de visualização) é o resultado de uma consulta SQL. Ela funciona como uma tabela virtual que pode ser consultada por outras consultas SQL. Para mais informações, consulte Criar e gerenciar visualizações lógicas.

Visualizações parametrizadas

Uma visualização parametrizada é um tipo de visualização lógica que filtra dinamicamente intervalos de dados com base no contexto do aplicativo. Essa abordagem protege seus aplicativos contra injeção de SQL e reduz a necessidade de várias visualizações estáticas.

Para mais informações, consulte Visão geral das visualizações parametrizadas.

Visualizações materializadas contínuas

Uma visualização materializada contínua é criada pela execução contínua de uma consulta SQL em uma tabela do Bigtable. O Bigtable cria uma nova tabela com base na saída da consulta e a mantém sincronizada com a tabela de origem.

As visualizações materializadas contínuas podem ajudar a melhorar o desempenho das consultas. A nova tabela (a visualização materializada contínua) tem um esquema diferente da tabela de origem, contendo dados pré-agregados ou transformados otimizados para consultas diferentes das usadas na tabela de origem.

As visualizações materializadas contínuas são somente leitura. Você recebe cobranças pelo armazenamento de uma visualização materializada contínua, bem como pelo trabalho de processamento necessário para criar a segunda tabela, mantê-la sincronizada com a tabela de origem e replicá-la.

Para mais informações, consulte Visualizações materializadas contínuas.

Visualizações autorizadas

As visualizações autorizadas são visualizações de tabelas configuradas para incluir dados específicos e conceder acesso separadamente do acesso à tabela de origem. Uma visualização autorizada é definida por um arquivo de definição formatado em JSON.

Ao contrário das visualizações materializadas contínuas ou lógicas, as visualizações autorizadas do Bigtable podem ser usadas para controlar o acesso de leitura e gravação.

As visualizações autorizadas são úteis nos casos em que você armazena dados de vários clientes em uma tabela do Bigtable e quer conceder a cada cliente acesso apenas a um subconjunto da tabela que contém os dados dele.

As visualizações autorizadas não geram custos de armazenamento adicionais.

Para mais informações, consulte o Visão geral das visualizações autorizadas.

Comparações

A tabela a seguir fornece mais informações sobre como as visualizações de tabela do Bigtable são diferentes umas das outras.

Visualizações lógicas Visualizações parametrizadas Visualizações materializadas contínuas Visualizações autorizadas
Estrutura Tabela virtual que representa os resultados de uma consulta SQL Tabela virtual que representa os resultados de uma consulta SQL Tabela somente leitura com base em uma tabela de origem Subconjunto de uma tabela
Definição Consulta SQL Consulta SQL usando VIEW_PARAMETERS() Consulta SQL Arquivo de definição JSON
Consistência com a tabela de origem Consistente quando a consulta é executada Consistente quando a consulta é executada Consistência eventual Consistente quando a consulta é executada
Opções de consulta É necessário usar SQL SQL SQL ou API Cloud Bigtable Data API Cloud Bigtable Data
Gravável Não Não Não Sim
Armazenamento Os dados permanecem na tabela de origem Os dados permanecem na tabela de origem Os dados são duplicados, agregados ou transformados e armazenados em uma nova tabela somente leitura Os dados permanecem na tabela de origem
Custos de uso Processamento de computação para executar a consulta Processamento de computação para executar a consulta Processamento de computação durante a sincronização, custos de armazenamento Processamento de computação para executar a consulta

A seguir