Tabelas e vistas

No Bigtable, armazena os seus dados em tabelas e pode criar vários tipos de vistas das suas tabelas. O tipo de vista que usa depende do seu exemplo de utilização.

Tabelas

Uma tabela do Bigtable é um mapa de chave/valor ordenado que armazena dados em linhas e colunas. Cada linha é indexada por uma única chave de linha exclusiva. As colunas relacionadas entre si são normalmente agrupadas numa família de colunas.

O Bigtable tem um modelo de dados flexível e as respetivas tabelas são esparsas. Isto significa que, se uma coluna não for usada numa linha, não são armazenados dados para a coluna. Não tem de armazenar valores NULL para colunas não usadas, como faria com uma base de dados relacional. Numa tabela do Bigtable, uma determinada linha pode ter uma coluna e a linha seguinte 100 colunas.

Numa linha, uma coluna pode conter várias células, cada uma identificada pela tupla de quatro elementos (chave da linha, família de colunas, qualificador de coluna e data/hora). O armazenamento de várias células numa coluna fornece um registo de como os dados armazenados para essa linha e coluna mudaram ao longo do tempo.

Uma tabela do Bigtable não suporta junções e as transações só são suportadas numa única linha.

Uma tabela é um recurso ao 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 recolha de lixo que são definidas ao nível da família de colunas.

Para mais informações, consulte a vista geral do Bigtable e as práticas recomendadas de criação de esquemas.

Visualizações

O Bigtable suporta os seguintes tipos de vistas de tabelas: vistas lógicas, vistas materializadas contínuas e vistas autorizadas. As vistas permitem-lhe partilhar dados de tabelas com utilizadores e grupos específicos sem lhes dar acesso aos dados de origem subjacentes.

Visualizações lógicas

Uma vista lógica, muitas vezes referida apenas como uma vista, é o resultado de uma consulta SQL. Funciona como uma tabela virtual que pode ser consultada por outras consultas SQL. Para mais informações, consulte o artigo Crie e faça a gestão de visualizações lógicas.

Vistas materializadas contínuas

Uma vista materializada contínua é criada através da execução contínua de uma consulta SQL numa tabela do Bigtable. O Bigtable cria uma nova tabela com base no resultado da consulta e mantém-na sincronizada com a tabela de origem.

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

As vistas materializadas contínuas são só de leitura. É-lhe cobrado o armazenamento de uma vista materializada contínua, bem como o 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 o artigo Vistas materializadas contínuas.

Vistas autorizadas

As vistas autorizadas são vistas de tabelas que configura para incluir dados de tabelas específicos e, em seguida, concede acesso separadamente do acesso à tabela de origem. Uma vista autorizada é definida por um ficheiro de definição formatado em JSON.

Ao contrário das vistas materializadas contínuas ou das vistas lógicas, as vistas autorizadas do Bigtable podem ser usadas para controlar o acesso de leitura e escrita.

As vistas autorizadas são úteis nos casos em que armazena dados de vários clientes numa tabela do Bigtable e quer conceder a cada cliente acesso apenas a um subconjunto da tabela que contém os respetivos dados.

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

Para mais informações, consulte a Vista geral das visualizações autorizadas.

Comparações

A tabela seguinte fornece informações adicionais sobre as diferenças entre as vistas de tabelas do Bigtable.

Visualizações lógicas Vistas materializadas contínuas Vistas autorizadas
Estrutura Tabela virtual que representa os resultados de uma consulta SQL Tabela só de leitura baseada numa tabela de origem Subconjunto de uma tabela
Definição Consulta SQL Consulta SQL Ficheiro de definição JSON
Consistência com a tabela de origem Consistente quando a consulta é executada Eventualmente consistente Consistente quando a consulta é executada
Opções de consulta Tem de usar SQL SQL ou Bigtable Data API Bigtable Data API
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 numa nova tabela só de leitura Os dados permanecem na tabela de origem
Custos de utilização 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

O que se segue?