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 |