Modelagem de dados
É aqui que o DynamoDB mais se afasta do SQL. Você não normaliza em uma tabela
por entidade — você parte dos seus padrões de acesso e desenha chaves que os
atendem, muitas vezes empacotando todas as entidades em uma única tabela. Feito
do jeito certo, você busca um pai e seus filhos em uma única Query, sem joins.
Feito do jeito errado, você acaba com uma tabela que não consegue consultar e uma migração que não consegue executar. Então os trade-offs importam, e esta seção é honesta sobre os casos em que o single-table design é a escolha errada.
Comece pelo single-table design — tudo depois dele assume esse modelo mental.
Rascunhe o schema antes de construí-lo com a gratuita
ferramenta de Single-Table Design — ela
transforma uma lista de padrões de acesso em um plano PK/SK/GSI. Depois
experimente o DynoTable para modelar e navegar por esses layouts em
uma tabela ao vivo — e para a pergunta ad hoc que suas chaves não servem, seu
SQL Workbench roda JOIN, GROUP BY e agregações no
lado do cliente.