Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Selecione um serviço de banco de dados para suas aplicações baseadas em Lambda

Modo de foco
Selecione um serviço de banco de dados para suas aplicações baseadas em Lambda - AWS Lambda

Muitas aplicações com tecnologia sem servidor precisam armazenar e recuperar dados. A AWS oferece várias opções de banco de dados que funcionam com funções do Lambda. Duas das opções mais populares são o Amazon DynamoDB, um serviço de banco de dados NoSQL, e o Amazon RDS, uma solução tradicional de banco de dados relacional. As seções a seguir explicam as principais diferenças entre esses serviços ao usá-los com o Lambda e ajudam você a selecionar o serviço de banco de dados certo para sua aplicação com tecnologia sem servidor.

Para saber mais sobre os outros serviços de banco de dados oferecidos pela AWS e entender seus casos de uso e suas desvantagens de forma mais geral, consulte Como escolher um serviço de banco de dados da AWS. Todos os serviços de banco de dados da AWS são compatíveis com o Lambda, mas nem todos podem ser adequados ao seu caso de uso específico.

Quais são suas opções ao selecionar um serviço de banco de dados com o Lambda?

A AWS oferece vários serviços de banco de dados. Para aplicações com tecnologia sem servidor, duas das opções mais populares são o DynamoDB e o Amazon RDS.

  • O DynamoDB é um serviço de banco de dados NoSQL totalmente gerenciado e otimizado para aplicações com tecnologia sem servidor. Ele fornece ajuste de escala perfeita e desempenho consistente de milissegundos de um dígito em qualquer escala.

  • O Amazon RDS é um serviço gerenciado de banco de dados relacional que oferece suporte a vários mecanismos de banco de dados, incluindo MySQL e PostgreSQL. Ele fornece recursos SQL familiares com infraestrutura gerenciada.

Recomendações se você já conhece seus requisitos

Se você já sabe quais são seus requisitos, estas são as nossas recomendações básicas:

Recomendamos o DynamoDB para aplicações com tecnologia sem servidor que precisam de desempenho consistente de baixa latência, ajuste de escala automática e não exigem junções ou transações complexas. É especialmente adequado para aplicações baseadas em Lambda devido à sua natureza com tecnologia sem servidor.

O Amazon RDS é a melhor opção quando você precisa de consultas SQL complexas, junções ou tem aplicações existentes usando bancos de dados relacionais. No entanto, esteja ciente de que conectar as funções do Lambda ao Amazon RDS requer configuração adicional e pode afetar os horários de inicialização a frio.

O que considerar ao selecionar um serviço de banco de dados

Ao escolher entre o DynamoDB e o Amazon RDS para suas aplicações Lambda, considere estes fatores:

  • Gerenciamento de conexões e inicializações a frio

  • Padrões de acesso aos dados

  • Complexidade das consultas

  • Requisitos de consistência de dados

  • Características de ajuste de escala

  • Modelo de custo

Ao compreender esses fatores, você pode selecionar a opção que melhor atenda às necessidades do seu caso de uso específico.

  • O DynamoDB usa uma API HTTP para todas as operações. As funções do Lambda podem fazer solicitações imediatas sem manter conexões, resultando em melhor desempenho de inicialização a frio. Cada solicitação é autenticada usando credenciais da AWS sem sobrecarga de conexão.

  • O Amazon RDS exige o gerenciamento de pools de conexões, pois usa conexões de banco de dados tradicionais. Isso pode impactar as inicializações a frio, pois novas instâncias do Lambda precisam estabelecer conexões. Você precisará implementar estratégias de agrupamento de conexões e, potencialmente, usar o Amazon RDS Proxy para gerenciar conexões de forma eficaz. Observe que o uso do Amazon RDS Proxy incorre em custos adicionais.

  • O DynamoDB usa uma API HTTP para todas as operações. As funções do Lambda podem fazer solicitações imediatas sem manter conexões, resultando em melhor desempenho de inicialização a frio. Cada solicitação é autenticada usando credenciais da AWS sem sobrecarga de conexão.

  • O Amazon RDS exige o gerenciamento de pools de conexões, pois usa conexões de banco de dados tradicionais. Isso pode impactar as inicializações a frio, pois novas instâncias do Lambda precisam estabelecer conexões. Você precisará implementar estratégias de agrupamento de conexões e, potencialmente, usar o Amazon RDS Proxy para gerenciar conexões de forma eficaz. Observe que o uso do Amazon RDS Proxy incorre em custos adicionais.

  • O DynamoDB funciona melhor com padrões de acesso conhecidos e designs de tabela única. É ideal para aplicações do Lambda que precisam de acesso consistente de baixa latência aos dados com base em chaves primárias ou índices secundários.

  • O Amazon RDS oferece flexibilidade para consultas complexas e padrões de acesso variáveis. É mais adequado quando suas funções do Lambda precisam realizar consultas exclusivas e personalizadas ou junções complexas em várias tabelas.

  • O DynamoDB funciona melhor com padrões de acesso conhecidos e designs de tabela única. É ideal para aplicações do Lambda que precisam de acesso consistente de baixa latência aos dados com base em chaves primárias ou índices secundários.

  • O Amazon RDS oferece flexibilidade para consultas complexas e padrões de acesso variáveis. É mais adequado quando suas funções do Lambda precisam realizar consultas exclusivas e personalizadas ou junções complexas em várias tabelas.

  • O DynamoDB se destaca em operações simples baseadas em chaves e padrões de acesso predefinidos. As consultas complexas devem ser projetadas em torno de estruturas de índice, e as junções devem ser tratadas no código da aplicação.

  • O Amazon RDS oferece suporte a consultas SQL complexas com junções, subconsultas e agregações. Isso pode simplificar o código da sua função do Lambda quando operações de dados complexas são necessárias.

  • O DynamoDB se destaca em operações simples baseadas em chaves e padrões de acesso predefinidos. As consultas complexas devem ser projetadas em torno de estruturas de índice, e as junções devem ser tratadas no código da aplicação.

  • O Amazon RDS oferece suporte a consultas SQL complexas com junções, subconsultas e agregações. Isso pode simplificar o código da sua função do Lambda quando operações de dados complexas são necessárias.

  • O DynamoDB oferece opções de consistência eventual e forte, com consistência forte disponível para leituras de um único item. As transações são aceitas, mas com algumas limitações.

  • O Amazon RDS fornece conformidade total com atomicidade, consistência, isolamento e durabilidade (ACID) e suporte a transações complexas. Se suas funções do Lambda exigirem transações complexas ou consistência forte em vários registros, o Amazon RDS pode ser mais adequado.

  • O DynamoDB oferece opções de consistência eventual e forte, com consistência forte disponível para leituras de um único item. As transações são aceitas, mas com algumas limitações.

  • O Amazon RDS fornece conformidade total com atomicidade, consistência, isolamento e durabilidade (ACID) e suporte a transações complexas. Se suas funções do Lambda exigirem transações complexas ou consistência forte em vários registros, o Amazon RDS pode ser mais adequado.

  • O DynamoDB escala automaticamente com sua workload. Ele pode lidar com picos repentinos no tráfego das funções do Lambda sem pré-provisionamento. Você pode usar o modo de capacidade sob demanda para pagar somente o que usar, combinando perfeitamente com o modelo de ajuste de escala do Lambda.

  • O Amazon RDS tem capacidade fixa com base no tamanho da instância que você escolher. Se várias funções do Lambda tentarem se conectar simultaneamente, você poderá exceder sua cota de conexão. Você precisa gerenciar cuidadosamente os pools de conexões e, potencialmente, implementar a lógica de novas tentativas.

  • O DynamoDB escala automaticamente com sua workload. Ele pode lidar com picos repentinos no tráfego das funções do Lambda sem pré-provisionamento. Você pode usar o modo de capacidade sob demanda para pagar somente o que usar, combinando perfeitamente com o modelo de ajuste de escala do Lambda.

  • O Amazon RDS tem capacidade fixa com base no tamanho da instância que você escolher. Se várias funções do Lambda tentarem se conectar simultaneamente, você poderá exceder sua cota de conexão. Você precisa gerenciar cuidadosamente os pools de conexões e, potencialmente, implementar a lógica de novas tentativas.

  • Os preços do DynamoDB se alinham bem com aplicações com tecnologia sem servidor. Com a capacidade sob demanda, você paga somente pelas leituras e gravações reais executadas pelas funções do Lambda. Não há cobranças por tempo ocioso.

  • O Amazon RDS cobra pela instância em execução, independentemente do uso. Isso pode ser menos econômico para workloads esporádicas que podem ser comuns em aplicações com tecnologia sem servidor. No entanto, pode ser mais econômico para workloads de alto throughput com uso consistente.

  • Os preços do DynamoDB se alinham bem com aplicações com tecnologia sem servidor. Com a capacidade sob demanda, você paga somente pelas leituras e gravações reais executadas pelas funções do Lambda. Não há cobranças por tempo ocioso.

  • O Amazon RDS cobra pela instância em execução, independentemente do uso. Isso pode ser menos econômico para workloads esporádicas que podem ser comuns em aplicações com tecnologia sem servidor. No entanto, pode ser mais econômico para workloads de alto throughput com uso consistente.

Introdução ao serviço de banco de dados escolhido

Agora que você conhece os critérios para escolher entre o DynamoDB e o Amazon RDS, bem como as principais diferenças entre eles, poderá selecionar a opção que melhor atende às suas necessidades e usar os recursos a seguir para ajudar a começar a usá-lo.

DynamoDB
Conceitos básicos para usar o DynamoDB com os recursos abaixo
  • Para uma introdução ao serviço DynamoDB, leia O que é o DynamoDB? no Guia do desenvolvedor do Amazon DynamoDB.

  • Siga o tutorial Uso do Lambda com API Gateway para ver um exemplo do uso de uma função do Lambda para realizar operações CRUD em uma tabela do DynamoDB em resposta a uma solicitação de API.

  • Leia Programação com o DynamoDB e os AWS SDKs no Guia do desenvolvedor do Amazon DynamoDB para saber mais sobre como acessar o DynamoDB de dentro da sua função do Lambda usando um dos SDKs da AWS.

Amazon RDS
Conceitos básicos para usar o Amazon RDS com os recursos abaixo
Conceitos básicos para usar o DynamoDB com os recursos abaixo
  • Para uma introdução ao serviço DynamoDB, leia O que é o DynamoDB? no Guia do desenvolvedor do Amazon DynamoDB.

  • Siga o tutorial Uso do Lambda com API Gateway para ver um exemplo do uso de uma função do Lambda para realizar operações CRUD em uma tabela do DynamoDB em resposta a uma solicitação de API.

  • Leia Programação com o DynamoDB e os AWS SDKs no Guia do desenvolvedor do Amazon DynamoDB para saber mais sobre como acessar o DynamoDB de dentro da sua função do Lambda usando um dos SDKs da AWS.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.