Crie um esquema

O esquema ideal para uma tabela do Bigtable depende muito de vários fatores, incluindo o exemplo de utilização, os padrões de acesso aos dados e os dados que planeia armazenar. Esta página oferece uma vista geral do processo de design do esquema do Bigtable.

Antes de ler esta página, deve compreender os conceitos e as práticas recomendadas de design de esquemas. Se aplicável, leia também o artigo Estrutura do esquema para dados de séries cronológicas.

Antes de começar

Crie ou identifique uma instância do Bigtable que possa usar para testar o seu esquema.

Recolha informações

  1. Identifique os dados que planeia armazenar no Bigtable. As perguntas a fazer incluem:
    • Que formato é usado pelos dados? Os formatos possíveis incluem bytes brutos, strings, protobufs e JSON.
    • O que constitui uma entidade nos seus dados? Por exemplo, está a armazenar visualizações de páginas, preços das ações, posicionamentos de anúncios, medições de dispositivos ou algum outro tipo de entidade? Do que são compostas as entidades?
    • Os dados são baseados no tempo?
  2. Identifique e classifique as consultas que usa para obter os dados de que precisa. Tendo em conta as entidades que vai armazenar, pense em como quer que os dados sejam ordenados e agrupados quando os usar. O design do esquema pode não satisfazer todas as suas consultas, mas, idealmente, satisfaz as consultas mais importantes ou mais usadas. Alguns exemplos de consultas:
    • Um mês de leituras de temperatura para objetos de IoT.
    • Visualizações de anúncios diárias para um endereço IP.
    • A localização mais recente de um dispositivo móvel.
    • Todos os eventos da aplicação por dia por utilizador.

Design

Decida sobre um design de esquema inicial. Isto significa planear o padrão que as chaves das linhas vão seguir, os conjuntos de colunas que a tabela vai ter e os qualificadores de colunas para as colunas que quer nesses conjuntos de colunas. Siga as diretrizes de design de esquemas gerais. Se os seus dados forem baseados no tempo, siga também as diretrizes para dados de séries cronológicas.

Se planeia consultar a sua tabela através de SQL em vez do método ReadRows da API Google Cloud Bigtable Data, consulte os seguintes documentos:

Se quiser usar SQL para consultar vistas da sua tabela, bem como a própria tabela, reveja o artigo Tabelas e vistas.

Teste

  1. Crie uma tabela com as famílias de colunas e os qualificadores de colunas que criou para o seu esquema.
  2. Carregue a tabela com, pelo menos, 30 GB de dados de teste, usando chaves de linhas que identificou no seu plano de rascunho. Mantenha-se abaixo dos limites de utilização de armazenamento por nó.
  3. Execute um teste de carga pesada durante vários minutos. Este passo dá ao Bigtable a oportunidade de equilibrar os dados entre os nós com base nos padrões de acesso que observa.
  4. Execute uma simulação de uma hora das leituras e escritas que normalmente enviaria para a tabela.
  5. Reveja os resultados da simulação através do Key Visualizer e do Cloud Monitoring.

    • A ferramenta Key Visualizer para o Bigtable oferece análises que mostram os padrões de utilização de cada tabela num cluster. O Key Visualizer ajuda a verificar se o design do esquema e os padrões de utilização estão a causar resultados indesejáveis, como pontos críticos em linhas específicas.

    • A monitorização ajuda a verificar as métricas, como a utilização da CPU do nó mais usado num cluster, para ajudar a determinar se a estrutura do esquema está a causar problemas.

Refine

  1. Reveja o esquema do seu esquema, conforme necessário, com base no que aprendeu com o Key Visualizer. Por exemplo:
    • Se vir provas de hotspotting, use chaves de linhas diferentes.
    • Se notar latência, descubra se as suas linhas excedem o limite de 100 MB por linha.
    • Se verificar que tem de usar filtros para obter os dados de que precisa, considere normalizar os dados de uma forma que permita leituras mais simples (e mais rápidas): ler uma única linha ou intervalos de linhas pela chave da linha.
  2. Depois de rever o esquema, teste e reveja os resultados novamente.
  3. Continue a modificar o design do esquema e a fazer testes até que uma inspeção no Key Visualizer lhe indique que o design do esquema é ideal.

O que se segue?