FAQ do DynamoDB — respostas às dúvidas comuns
As perguntas sobre o DynamoDB que os desenvolvedores mais fazem — cada uma com uma resposta clara e honesta e o próximo passo.
Características e recursos do DynamoDB
DynamoDB é um armazenamento de valor-chave?
Sim, e um armazenamento de documentos ao mesmo tempo. Cada item é endereçado por sua chave primária, enquanto os atributos são aninhados como mapas e listas com até 32 níveis de profundidade.
O DynamoDB é um banco de dados relacional?
Não. O DynamoDB é um banco NoSQL de chave-valor e documentos, sem schemas fixos, chaves estrangeiras ou joins. Você desnormaliza pelos padrões de acesso.
O DynamoDB é compatível com ACID?
Sim — o DynamoDB suporta transações ACID via TransactWriteItems e TransactGetItems, agrupando até 100 ações em uma única operação de tudo ou nada por Região.
O DynamoDB é criptografado?
Sim — os dados do DynamoDB são criptografados em repouso por padrão com chaves do AWS KMS, sem como desligar. Em trânsito, são protegidos com HTTPS/TLS.
O DynamoDB é eventualmente consistente?
Por padrão sim — as leituras do DynamoDB são eventualmente consistentes. Você pode pedir leituras fortemente consistentes em tabelas e LSIs, nunca em GSIs.
O DynamoDB é gratuito?
Em parte — o DynamoDB tem nível sempre gratuito: 25 GB de armazenamento, 25 unidades de escrita e 25 de leitura por mês. Depois, cobra por requisição e GB.
O DynamoDB está na memória?
Não — o DynamoDB persiste a cada gravação no armazenamento durável em três zonas de disponibilidade. DAX adiciona um cache opcional na memória com leituras de microssegundos.
O DynamoDB é um banco de dados NoSQL?
Sim. DynamoDB é um armazenamento de documentos e valores-chave NoSQL totalmente gerenciado. Ele contém itens sem esquema, é dimensionado horizontalmente e seu analisador PartiQL rejeita JOIN.
O DynamoDB é open source?
Não — o DynamoDB é um serviço proprietário e gerenciado da AWS. O DynamoDB Local é um emulador gratuito de desenvolvimento; o motor de produção, não.
O DynamoDB é schemaless?
Sim — o DynamoDB é schemaless. Só a chave primária é definida na criação da tabela; todo outro atributo é opcional e pode variar livremente de item para item.
O DynamoDB é serverless?
Sim — o DynamoDB é um banco NoSQL gerenciado e serverless. Sem servidores para provisionar ou corrigir; a capacidade escala sozinha e você paga pelo uso.
O que o DynamoDB pode armazenar
DynamoDB pode ter valores nulos?
Sim — DynamoDB possui um tipo NULL dedicado e permite strings vazias e listas vazias/maps para atributos não-chave. Conjuntos vazios, entretanto, são rejeitados.
O DynamoDB pode armazenar arrays?
Sim. O DynamoDB guarda arrays no tipo List (L), ordenado e de tipos mistos, aninhado até 32 níveis. Cerca de 11.070 strings UUID cabem em um item de 400 KB.
O DynamoDB consegue armazenar blobs?
Sim, com limites — o DynamoDB armazena objetos binários em atributos Binary (base64) abaixo de 400 KB. Para blobs maiores, a AWS recomenda o Amazon S3.
O DynamoDB pode armazenar imagens?
Sim, mas só pequenas — o DynamoDB armazena imagens como atributos Binary em base64 no limite de 400 KB por item. A AWS recomenda o Amazon S3 para maiores.
O DynamoDB consegue armazenar JSON?
Sim — o DynamoDB armazena JSON nos tipos de documento: map (M) para objetos e list (L) para arrays, aninhados até 32 níveis, no limite de 400 KB por item.
Quantos dados o DynamoDB consegue armazenar?
Uma tabela do DynamoDB não tem limite de tamanho e escala horizontalmente. Os limites reais são 400 KB por item e, só com um LSI, 10 GB por coleção de itens.
Qual é o tamanho máximo de item no DynamoDB?
400 KB, ou 409.600 bytes exatos, contando nomes de atributo e valores. O limite de tamanho de item do DynamoDB é fixo; objetos maiores vão para o S3.
Integrações e acesso do DynamoDB
O DynamoDB consegue exportar para o S3?
Sim — a exportação nativa para S3 grava snapshots completos ou incrementais em DynamoDB JSON ou Amazon Ion. Exige PITR e não consome capacidade de leitura.
O Power BI consegue se conectar ao DynamoDB?
O Power BI não tem conector nativo para DynamoDB. Faça a ponte pelo conector ODBC do Amazon Athena ou um driver como CData, e precifique cada refresh.
Dá para usar o DynamoDB fora da AWS?
Sim — o DynamoDB é acessível de qualquer lugar por HTTPS. Um app com credenciais AWS chama o endpoint regional de um notebook, servidor ou outra nuvem.
O DynamoDB tem triggers?
Sim. Os triggers do DynamoDB combinam Streams com Lambda, que lê o stream quatro vezes por segundo e roda a cada mudança de item. Não existe CREATE TRIGGER.
O DynamoDB suporta GraphQL?
Sim, via AWS AppSync — serviço GraphQL gerenciado que usa tabelas do DynamoDB como fontes de dados, com resolvers mapeando operações para chamadas DynamoDB.
Operações e consultas do DynamoDB
O DynamoDB faz auto scaling?
Sim. O auto scaling do DynamoDB busca utilização alvo de 20-90% na capacidade provisionada, mas abaixo de 28,9% de uso médio o on-demand sai mais barato.
Dá para rodar o DynamoDB localmente?
Sim — o DynamoDB Local é uma versão gratuita e baixável do DynamoDB que roda na sua máquina via Docker, um arquivo Java ou Maven, expondo a mesma API offline.
O DynamoDB tem backups?
Sim — backups on-demand para snapshots de longo prazo e point-in-time recovery (PITR) contínuo, restaurável a qualquer segundo dos últimos 35 dias.
O DynamoDB suporta busca de texto completo?
Não nativamente — o DynamoDB não tem ranking por relevância, stemming nem busca aproximada. A integração zero-ETL com o OpenSearch é a resposta da AWS.
O DynamoDB suporta consultas geoespaciais?
Nativamente não — o DynamoDB não tem tipo geográfico nem operadores de distância. Buscas geoespaciais usam chaves geohash/S2 consultadas por intervalo.
O DynamoDB suporta junções?
DynamoDB não tem JOIN e PartiQL rejeita imediatamente um SELECT de duas tabelas, então você desnormaliza. O DynoTable SQL Workbench executa junções reais no lado do cliente.
O DynamoDB suporta SQL?
Parcialmente. PartiQL cobre SELECT, INSERT, UPDATE e DELETE, mas rejeita JOIN, GROUP BY e COUNT. O DynoTable SQL Workbench executa isso em suas tabelas.
O DynamoDB suporta transações?
Sim. As transações do DynamoDB agrupam até 100 ações entre tabelas em uma operação tudo ou nada, ao dobro da capacidade de uma escrita normal.
O DynamoDB suporta TTL?
Sim — o DynamoDB suporta Time to Live. Use um atributo Number com a expiração em epoch Unix em segundos e o DynamoDB os exclui automaticamente, sem custo.
Quão rápido é o DynamoDB?
Rápido — o DynamoDB entrega latência de milissegundos de um dígito. O DAX, cache em memória, leva leituras com consistência eventual a microssegundos.
Quantas tabelas você pode ter no DynamoDB?
2.500 tabelas do DynamoDB por Região por padrão, até 10.000 sob solicitação. Sem limite de tamanho, mas cada tabela provisionada ociosa custa US$ 0,57/mês.
Como você conta itens no DynamoDB?
Use Select: COUNT em um Query ou Scan, pagine com LastEvaluatedKey e some o Count. Contar custa a mesma capacidade de leitura que retornar os itens.
Arquitetura e funcionamento interno do DynamoDB
O DynamoDB pode ser usado como cache?
Sim — as buscas por chave e o TTL do DynamoDB fazem dele um cache durável. Para leituras em microssegundos, use o DAX, um cache write-through em memória.
O DynamoDB suporta chaves estrangeiras?
Não. O DynamoDB não tem chaves estrangeiras, integridade referencial nem exclusão em cascata. Apague um pai e os filhos ficam. Você modela os relacionamentos.
O DynamoDB suporta índices secundários?
Sim. O DynamoDB tem Índices Secundários Globais (chave própria, consistência eventual, 20 por tabela) e Índices Secundários Locais (consistência forte).
O DynamoDB é multirregião?
Uma tabela padrão do DynamoDB vive em uma Região. Global tables replicam multiativas entre Regiões, até 99,999% de disponibilidade, e cobram cada cópia.
Quando você não deve usar o DynamoDB?
Pule o DynamoDB em cargas analíticas, padrões de acesso desconhecidos, consultas ad-hoc pesadas e schemas relacionais normalizados que dependem de joins.
Mais recursos de DynamoDB
Aprenda DynamoDB
Um currículo estruturado de DynamoDB, dos fundamentos até os detalhes internos.
Erros comuns do DynamoDB
Todos os erros comuns do DynamoDB com sua causa e a correção exata.
Exemplos de código DynamoDB
Trechos prontos para copiar e colar para cada operação — SDK v3, boto3 e a AWS CLI.
Blog de Engenharia
Como o DynoTable é construído — as histórias por trás do agente de IA e do servidor MCP.
Ferramentas do DynamoDB
Construtor de expressões, calculadoras de preço e de capacidade — direto no seu navegador.
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.