Tabelas e visualizações
No Bigtable, você armazena dados em tabelas e pode criar vários tipos de visualizações delas. O tipo de visualização que você usa 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 utilizadas, como faria com um banco de dados relacional. Em uma tabela do Bigtable, uma linha pode ter uma coluna, e a linha ao lado pode ter 100 colunas.
Em uma linha, uma coluna pode conter várias células, cada uma identificada por quatro tuplas (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 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 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 oferece suporte a três tipos de visualizações de tabela: lógicas, materializadas contínuas e autorizadas. Com as visualizações, você pode 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 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 da consulta. 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. A cobrança é feita pelo armazenamento de uma visualização materializada contínua e pelo trabalho de processamento que é feito para criar a segunda tabela, manter a sincronização com a tabela de origem e fazer a replicação.
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 conceder acesso separadamente do acesso à tabela de origem. Uma visualização autorizada é definida por um arquivo de definição no formato JSON.
Ao contrário das visualizações lógicas ou materializadas contínuas, 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.
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 o 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 |