O DynamoDB é um banco de dados NoSQL?

Sim. DynamoDB é um banco de dados NoSQL – um armazenamento de documentos e valores-chave não relacional e totalmente gerenciado. Ele mantém itens sem esquema em vez de linhas em tabelas de esquema fixo e negocia junções SQL e consultas ad-hoc para desempenho previsível de milissegundos de um dígito e escala horizontal para praticamente qualquer tamanho.

Que tipo de NoSQL

O DynamoDB oferece suporte aos modelos de valor-chave e de dados de documento. Cada item é endereçado por uma chave primária e os atributos podem ser aninhados como mapas e listas com até 32 níveis de profundidade — o lado do documento do modelo.

Como ele difere do SQL

  • Sem esquema fixo — apenas a chave primária é definida antecipadamente; outros atributos variam por item.
  • Sem junções — em vez disso, você desnormaliza e modela em torno de padrões de acesso.
  • Desempenho previsível — as leituras têm como alvo uma chave de partição, para que a latência permaneça estável à medida que os dados aumentam.

O que o mecanismo faz com um JOIN

O PartiQL faz com que o DynamoDB pareça o formato do SQL, então é fácil perder o limite. A sintaxe SELECT documentada do AWS é toda a gramática e não possui cláusula JOIN:

SELECT {{expression}}  [, ...]
FROM {{table}}[.{{index}}]
[ WHERE {{condition}} ] [ [ORDER BY {{key}} [DESC|ASC] , ...]

Envie um mesmo assim e o analisador para na segunda tabela:

await client.send(
  new ExecuteStatementCommand({
    Statement: `SELECT o.pk FROM "orders" o JOIN "customers" c ON o.pk = c.pk`
  })
);

Saída real:

ValidationException: Only select from a single table or index is supported.
HTTP 400

A recusa ocorre no momento da análise, antes de qualquer dado ser lido, e é por isso que nenhuma quantidade de design de índice proporciona uma junção. A adesão é o trabalho do seu aplicativo em uma loja NoSQL.

Também limita o que qualquer cliente pode oferecer honestamente. O SQL Workbench do DynoTable aceita INNER JOIN, LEFT JOIN, GROUP BY e COUNT/SUM/AVG/MIN/MAX.

Ele os compila em chamadas nativas Query e Scan e, em seguida, junta e agrega os resultados em sua máquina. O DynamoDB ainda vê apenas leituras de tabela única.

Quando cabe

O DynamoDB foi desenvolvido para cargas de trabalho OLTP: leituras e escritas de alto volume e de ponto e intervalo conhecidos. A análise pesada pertence a um armazenamento colunar separado alimentado pela exportação.

NoSQL limita você ainda sente na produção

"NoSQL" descreve o modelo de acesso, não uma remoção de restrições. O DynamoDB ainda limita 400 KB por item, 25 ações por TransactWriteItems e 100 ações de leitura ou gravação por transação. Um documento aninhado pode ter 32 níveis de profundidade. O projeto GSIs apenas atribui seu nome; não há esquema oculto ao qual recorrer.

Esses limites são importantes porque você não pode sair deles no momento da consulta. Você modela em torno deles antecipadamente – índices esparsos, atributos desnormalizados e chaves de tabela única – e depois lê por partição. O Query Builder transforma um filtro na solicitação Query ou Scan que o DynamoDB irá realmente executar.

No DynoTable: quando uma questão relacional é legítima, o SQL Workbench compila JOIN e GROUP BY até chamadas nativas de Query e Scan em sua máquina — o DynamoDB ainda vê leituras de tabela única. Consulte SQL Workbench para obter a gramática suportada e os limites honestos.

Aprofunde-se

Veja quando usar DynamoDB e como moldar dados com como modelar dados em DynamoDB. Baixe DynoTable para navegar em suas tabelas NoSQL e executar o SQL sobre elas dentro das regras de padrão de acesso do DynamoDB.

Referências

Última verificação em 13/07/2026 em relação à documentação oficial do AWS vinculada acima; a gramática PartiQL SELECT foi verificada novamente em 28/07/2026.

Reproduzido em 28/07/2026 em DynamoDB Local 3.3.0 via @aws-sdk/client-dynamodb 3.1095.0 no Node v24.18.0. O ValidationException acima é a saída literal do motor.

Trabalhe com o DynamoDB sem o Console

Um cliente desktop rápido para DynamoDB que roda o SQL de verdade que o DynamoDB não consegue — JOINs, GROUP BY, agregações — com edição visual e um agente de IA com suas próprias chaves do Bedrock.

Teste grátis de 30 dias, sem cartão de crédito — depois o plano Grátis sem limite de tempo.