Diretrizes de design da tabela
Criar tabelas para uso com o serviço de tabela de armazenamento do Azure é muito diferente das considerações de design de banco de dados relacional. Este artigo descreve as diretrizes para criar a solução de serviço de Tabela para ser eficiente em leitura e gravação.
Criar sua solução do serviço Tabela para ser eficiente em leitura
- Design para consulta em aplicativos de leitura intensa. Quando você estiver criando tabelas, pense sobre as consultas (principalmente as sensíveis a latência) que você executará antes de pensar em como atualizará as entidades. Isso normalmente resulta em uma solução eficiente e de alto desempenho.
- Especifique PartitionKey e RowKey nas suas consultas. Consultas de ponto como essas são as consultas de serviço Tabela mais eficientes.
- Considere armazenar cópias duplicadas de entidades. O armazenamento de tabela é barato. Portanto, considere armazenar a mesma entidade várias vezes (com chaves diferentes) para permitir consultas mais eficientes.
- Considere desnormalizar seus dados. O armazenamento de tabela é barato, então considere desnormalizar seus dados. Por exemplo, armazene entidades resumidas para que consultas a dados agregados só tenham de acessar uma única entidade.
- Use valores de chave composta. As únicas chaves que você tem são PartitionKey e RowKey. Por exemplo, use valores de chave composta para habilitar caminhos alternativo com chave de acesso para entidades.
- Use projeção de consultas. Você pode reduzir a quantidade de dados transferidos pela rede usando consultas que selecionam apenas os campos necessários.
Criar sua solução do serviço Tabela para ser eficiente em gravação
- Não crie partições na camada de acesso frequente. Escolha chaves que permitam distribuir solicitações em várias partições a qualquer momento.
- Evite picos no tráfego. Suavize o tráfego por um período razoável e evite picos no tráfego.
- Você não precisa criar tabelas separadas para cada tipo de entidade. Quando você precisar de transações atômicas nos tipos de entidade, pode armazenar esses vários tipos de entidade na mesma partição, na mesma tabela.
- Considere o máximo de taxa de transferência que você pode alcançar. Conheça as metas de escalabilidade do serviço Tabela e evite que seu design faça com que você as exceda.
À medida que você ler este guia, verá exemplos que colocam todos esses princípios em prática.