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 são geralmente 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 determinada linha pode ter uma coluna, e a linha ao lado, 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 nessa linha e coluna mudaram ao longo do tempo.

Uma tabela do Bigtable não é compatível com junções, 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 todos os clusters 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 do esquema.

Visualizações

O Bigtable é compatível com três tipos de visualizações de tabela: lógicas, materializadas contínuas e autorizadas. Com as visualizações, é possível 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 materializadas contínuas

Uma visualização materializada contínua é criada executando continuamente 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 daquelas usadas na tabela de origem.

As visualizações materializadas contínuas são somente leitura. A cobrança é feita 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 que você configura para incluir dados específicos e concede acesso separadamente da 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 quando você armazena dados de vários clientes em uma tabela do Bigtable e quer conceder a cada um deles 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 a Visão geral das visualizações autorizadas.

Comparações

A tabela a seguir fornece mais informações sobre as diferenças entre as visualizações de tabela do Bigtable.

Visualizações lógicas Visualizações materializadas contínuas Visualizações autorizadas
Estrutura 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 Arquivo de definição JSON
Consistência com a tabela de origem Consistente quando a consulta é executada Consistência eventual Consistente quando a consulta é executada
Opções de consulta É necessário usar SQL SQL ou API Bigtable Data API Bigtable Data
Gravável Não Não Sim
Armazenamento 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 ao sincronizar, custos de armazenamento Processamento de computação para executar a consulta

A seguir