Pular para o conteúdo principal

Amazon DynamoDB

Sobre o DynamoDB

Abrir tudo

O DynamoDB é um serviço de banco de dados NoSQL distribuído, sem servidor, totalmente gerenciado e com performance de um dígito em milissegundos em qualquer escala. O DynamoDB oferece gerenciamento zero de infraestrutura, manutenção sem tempo de inatividade, escalabilidade instantânea para qualquer demanda da aplicação e fatura conforme as solicitações. Não há inicializações a frio, atualizações de versão e janelas de manutenção. O DynamoDB é totalmente gerenciado, eliminando a carga pesada de tarefas indiferenciadas de gerenciamento de banco de dados, como backups, segurança, conformidade, monitoramento e muito mais. Para aplicações distribuídas globalmente, as tabelas globais do DynamoDB são um banco de dados multirregional e multiativo com disponibilidade de até 99,999% e oferece a maior resiliência do banco de dados. Ele é compatível com uma forte consistência multirregional, garantindo que suas aplicações estejam sempre disponíveis e sempre leiam os mesmos dados de qualquer região, permitindo que você crie aplicações de RPO zero. O DynamoDB tem um amplo conjunto de controles de segurança e padrões de conformidade criados para atender aos requisitos de governos, bancos globais e outras organizações de alta sensibilidade.

O DynamoDB permite que os clientes transfiram os encargos administrativos de operação e escalabilidade de bancos de dados distribuídos para a AWS. Dessa forma, os clientes não precisam se preocupar com provisionamento, instalação e configuração de hardware, planejamento de capacidade de throughput, replicação, aplicação de patches de software ou escalabilidade de clusters. Você pode implantar um banco de dados NoSQL distribuído em questão de minutos. O DynamoDB escala automaticamente a capacidade de throughput para atender às demandas das workloads. Além disso, altera o particionamento dos dados à medida que o tamanho da tabela aumenta. Além disso, o DynamoDB replica dados de forma síncrona em três zonas de disponibilidade (AZs) em uma região da AWS, oferecendo alta disponibilidade e durabilidade de dados.

Entre as vantagens exclusivas do DynamoDB estão o fato de ser um banco de dados sem servidor totalmente gerenciado, que pode ser escalável até zero, fornecendo performance de milissegundos de um dígito e disponibilidade de até 99,999%. Com uma performance consistente em grande escala, o DynamoDB também oferece a segurança, a durabilidade e a confiabilidade integradas, atendendo às necessidades de aplicações globais com os requisitos mais rigorosos. Com sua facilidade de uso, o DynamoDB é frequentemente escolhido tanto para novas aplicações de IA generativa e orientadas por dados quanto para aplicações estabelecidas em escala da Internet que buscam performance rápida e consistente com escalabilidade ilimitada.

Armazenamento

Abrir tudo

As classes de tabela do DynamoDB são opções de otimização de performance e custo para tabelas do DynamoDB. As duas classes de tabela disponíveis são DynamoDB Standard (classe de tabela padrão projetada para workloads que exigem o máximo de performance e é mais adequada para tabelas com workloads imprevisíveis) e DynamoDB Standard-Infrequent Access (classe de tabela otimizada para tabelas em que o armazenamento é o custo dominante e ideal para tabelas que armazenam dados acessados com pouca frequência). As tabelas Standard têm custos mais baixos para leituras e gravações, mas custos mais altos de armazenamento. As tabelas Standard-IA têm custos mais baixos de armazenamento, mas custos mais altos para leituras e gravações. Você pode alternar entre essas classes de tabela duas vezes em um período de 30 dias sem tempo de inatividade, permitindo a otimização dos seus custos com base nos padrões de uso da tabela. A escolha entre essas classes depende das necessidades específicas da sua aplicação e dos padrões de acesso dos seus dados.

vários fatores a serem considerados ao escolher uma classe de tabela no DynamoDB. Os mais comuns a serem considerados são os padrões de acesso dos seus dados, as considerações de custo e a previsibilidade da workload. É possível alternar entre classes de tabela sem nenhuma codificação ou tempo de inatividade, para que você possa ajustar sua escolha se as necessidades mudarem com o tempo.

As tabelas DynamoDB Standard-IA (Infrequent Access) funcionam perfeitamente com os recursos existentes do DynamoDB. Elas usam as mesmas APIs das tabelas comuns do DynamoDB, para que você possa usá-las com aplicações existentes sem alterações no código. Elas oferecem suporte a tabelas globais para replicação multirregional, recuperação para um ponto no tempo (PITR), backups sob demanda, criptografia em repouso usando o AWS Key Management Service (KMS), DynamoDB Streams, tempo de vida para excluir itens automaticamente e operações transacionais de leitura e gravação. As tabelas Standard-IA são compatíveis com o DynamoDB Accelerator (DAX).

O Amazon DynamoDB armazena dados em partições. Uma partição é uma alocação de armazenamento para uma tabela que usa unidades de estado sólido (SSDs) e replica automaticamente em várias zonas de disponibilidade de uma região da AWS. O gerenciamento de partições é feito inteiramente pelo DynamoDB. Você nunca precisará gerenciar partições.

O tamanho máximo de um item que pode ser armazenado em uma tabela do DynamoDB é de 400 KB. Não há limites de armazenamento predefinidos.

Sim, o DynamoDB pode armazenar BLOB. No entanto, ele geralmente não é adequado para armazenar documentos ou imagens. Um padrão de arquitetura melhor é armazenar ponteiros para objetos do Amazon S3 em uma tabela do DynamoDB.

Por padrão, não há um prazo de expiração ou exclusão definido para os dados armazenados em uma tabela do Amazon DynamoDB. Os dados permanecerão na tabela indefinidamente, a menos que sejam explicitamente excluídos pelo cliente ou por meio de exclusões de tempo de vida (TTL), se esse recurso estiver habilitado.

Não há limite predefinido para o número de itens que podem ser armazenados em uma tabela do DynamoDB. O DynamoDB é capaz de escalar para centenas de terabytes ou mais de dados em qualquer número de itens.

Embora seja tecnicamente possível armazenar imagens no DynamoDB como dados binários (codificados em base64), existem algumas limitações e desvantagens devido ao limite de tamanho de 400 KB para os itens. Em vez de armazenar imagens diretamente no DynamoDB, uma opção melhor é armazenar as imagens no Amazon S3 (Simple Storage Service) e depois armazenar a chave ou o URL do objeto S3 no DynamoDB.

Para armazenar uma lista no DynamoDB, você precisa usar um dos tipos de dados de lista do DynamoDB (uma Lista ou um Conjunto). Ao gravar itens na tabela, o valor desse atributo pode ser uma matriz ou conjunto de tipos de dados escalares (não objetos), como strings, números etc. O DynamoDB se encarregará automaticamente de serializar os dados da lista e armazená-los de forma a manter a estrutura da lista. Depois disso, você poderá consultar o atributo da tabela para recuperar a lista completa. Adicionar, atualizar ou remover elementos da lista funciona da mesma forma que uma operação de gravação normal.

Sim, o DynamoDB tem suporte para o armazenamento de mapas como um atributo tipo de dados

Segurança

Abrir tudo

Sim, o DynamoDB oferece suporte a permissões do IAM. As permissões do IAM podem ser definidas em políticas baseadas em identidade, políticas baseadas em recursos ou outras políticas da AWS para controlar o acesso aos recursos do DynamoDB. Você pode anexar políticas do IAM a grupos, perfis e usuários do IAM e a tabelas e streams do DynamoDB e controlá-las conforme desejado.

Sim, o DynamoDB oferece suporte a políticas baseadas em recursos para tabelas e streams. As políticas baseadas em recursos para cada tabela também abrangem as permissões de acesso aos índices da tabela (índices secundários globais e índices secundários locais). Com políticas baseadas em recursos, os clientes podem definir permissões de acesso refinadas para tabelas do DynamoDB e outros recursos, sem precisar conceder acesso total no nível da conta da AWS. Essas políticas permitem que os clientes controlem quais usuários, perfis e usuários federados podem realizar ações como ler, gravar ou excluir em tabelas, índices e streams específicos do DynamoDB. As políticas baseadas em recursos são anexadas e gerenciadas em cada recurso do DynamoDB.

As políticas baseadas em recursos oferecem suporte a integrações com o AWS Identity and Access Management (IAM) Access Analyzer e o Bloqueio de Acesso Público (BPA). O IAM Access Analyzer ajuda os clientes a refinar as permissões e se adequar aos privilégios mínimos. O BPA ajuda os clientes a impedir o acesso público às tabelas, índices e streams do DynamoDB e está sempre habilitado com o DynamoDB.
 

O DynamoDB oferece suporte ao controle de acesso baseado em atributos, que geralmente está disponível para tabelas e índices do DynamoDB.

Sim, você pode usar o Amazon DynamoDB usando endpoints da VPC. O DynamoDB oferece suporte a dois tipos de endpoints da VPC: endpoints de gateway e usando o AWS PrivateLink. Com um endpoint de gateway, você pode acessar o DynamoDB por meio da sua VPC, sem precisar de um gateway da Internet ou um dispositivo NAT para sua VPC. No entanto, os endpoints de gateway não permitem o acesso de redes on-premises, de VPCs emparelhadas em outras regiões da AWS ou por meio de um gateway de trânsito. Para esses cenários, você deve usar o AWS PrivateLink, que está disponível por um custo adicional.

O controle de acesso refinado (FGAC) oferece ao proprietário de tabela do DynamoDB um controle granular sobre os dados na tabela por meio de políticas e condições do AWS Identity and Access Management (IAM). O FGAC permite que o proprietário forneça permissões para acesso a itens ou atributos da tabela e ações associadas. O controle de acesso refinado é usado em conjunto com o AWS IAM, que gerencia as credenciais de segurança e as permissões associadas.

Sim, todos os dados de usuários no Amazon DynamoDB são totalmente criptografados em trânsito e em repouso.

O protocolo HTTPS é usado para proteger o tráfego de rede usando a criptografia Secure Sockets Layer.

A criptografia do DynamoDB em repouso usa chaves de criptografia armazenadas no AWS Key Management Service (AWS KMS). Os dados em repouso são criptografados usando o AES-256, o padrão de referência em que os mais altos níveis de segurança são necessários.

Os seguintes tipos de chave estão disponíveis para criptografar dados em repouso:
1. Chaves de propriedade da AWS: são gerenciadas inteiramente pela AWS e são usadas por padrão, se nenhuma outra opção for especificada. Elas são de uso gratuito e não requerem configuração adicional.
2. Chaves gerenciadas pela AWS: são chaves mestras do cliente (CMKs) armazenadas no AWS Key Management Service (KMS) que são criadas, gerenciadas e usadas em nome do cliente pela AWS. Elas oferecem recursos adicionais de controle e auditoria em comparação com as chaves de propriedade da AWS.
3. Chaves gerenciadas pelo cliente: são CMKs que você cria, possui e gerencia no AWS KMS. Elas oferecem o mais alto nível de controle sobre as chaves de criptografia, incluindo a capacidade de criar, alternar, desabilitar e definir controles de acesso.

Cada um desses tipos de chave fornece um equilíbrio diferente entre conveniência, controle e custo. As chaves de propriedade da AWS são as mais simples de usar, enquanto as chaves gerenciadas pelo cliente oferecem mais controle, mas exigem mais sobrecarga administrativa.

A criptografia em repouso ajuda a proteger os dados criptografando arquivos contendo informações confidenciais enquanto eles ficam inativos. Quando os dados são criptografados em repouso, as partes não autorizadas não têm acesso a conteúdo em texto sem formatação, mesmo que consigam obter acesso físico aos dispositivos que armazenam os dados. Isso fornece uma camada adicional de segurança para os dados, além dos controles de acesso, e ajuda a garantir que as informações confidenciais permaneçam privadas, mesmo se o dispositivo físico for perdido ou roubado.

Sim, o DynamoDB oferece suporte ao registro em log de auditoria para alterações no nível de itens nas tabelas. O DynamoDB é integrado ao AWS CloudTrail, um serviço que fornece um registro das ações tomadas por um usuário, perfil ou serviço da AWS no DynamoDB no nível de itens. Os dados de registro em log adicionais capturados incluem criações, atualizações, exclusões e quaisquer falhas de verificação condicional. Os clientes podem acessar esses registros em log armazenados no CloudWatch Logs e criar aplicações para analisar alterações no nível do item para auditoria, monitoramento ou outros fins. O registro em log de auditoria fornece visibilidade das alterações de dados em um nível granular sem afetar a performance normal de leitura/gravação da tabela do DynamoDB.

Sim, você pode usar o Amazon DynamoDB para criar aplicações em conformidade com a HIPAA e armazenar informações relacionadas à saúde, inclusive informações protegidas de saúde nos termos de um acordo de associado comercial (BAA) assinado com a AWS.

O DynamoDB obteve várias certificações de conformidade, incluindo qualificação para a HIPAA, FedRAMP, ISO 27001, SOC 1/SSAE 16/ISAE 3402 (anteriormente SAS 70) e SOC 2. Para obter mais informações, consulte Validação de conformidade do DynamoDB por setor. Os relatórios de conformidade da AWS estão disponíveis para download no AWS Artifact.

Alta disponibilidade e resiliência

Abrir tudo

As tabelas globais do Amazon DynamoDB são um banco de dados totalmente gerenciado, com tecnologia sem servidor, multirregional e multiativo. As tabelas globais fornecem 99,999% de disponibilidade, maior resiliência para aplicações e continuidade de negócios aprimorada. Elas replicam as tabelas do DynamoDB automaticamente nas regiões da AWS de sua preferência, para que você obtenha uma performance rápida e local de leitura e gravação. As tabelas globais usam as mesmas APIs das tabelas do DynamoDB de uma região única, para que você possa facilmente disponibilizar suas tabelas do DynamoDB globalmente sem alterações na aplicação.

Uma tabela global é uma coleção de uma ou mais tabelas de réplica que pertencem a uma única conta da AWS. Uma única tabela global do Amazon DynamoDB pode ter apenas uma tabela de réplica por região da AWS.

Você deve usar tabelas globais para melhorar a resiliência da sua aplicação em várias regiões. As tabelas globais também permitem que as aplicações mantenham a alta disponibilidade no caso improvável de isolamento ou degradação de uma região inteira.

Há duas versões de tabelas globais do DynamoDB disponíveis: versão de 21/11/2019 (atual) e versão de 29/11/2017 (legada). Os clientes devem usar a versão de 21/11/2019 (atual) para todas as novas tabelas globais, pois essa versão é mais eficiente e consome menos capacidade de gravação. Qualquer pessoa que usar a versão de 29/11/2017 (legada) deve atualizar suas tabelas globais para a versão de 21/11/2019 (atual).

Você pode atualizar a versão de uma tabela global com apenas alguns cliques no Console de Gerenciamento da AWS. A atualização da versão de 29/11/2017 (legada) para a versão de 21/11/2019 (atual) é uma ação única e não pode ser revertida. Antes da atualização, verifique se você analisou as diferenças de comportamento entre as versões e realizou todos os testes necessários. Para obter mais informações, consulte Atualização de tabelas globais do DynamoDB da versão de 29/11/2017 (legada) para a versão de 21/11/2019 (atual).

As tabelas globais do DynamoDB usam replicação multiativa entre regiões, em que todas as tabelas de réplica em todas as regiões em uma tabela global oferecem suporte ao tráfego de leitura e gravação. Uma tabela global não tem uma região primária e, portanto, nenhum failover do banco de dados é necessário ao direcionar o tráfego de leitura e gravação para uma região diferente. No caso improvável de uma região da AWS ficar isolada ou degradada, sua aplicação pode simplesmente ler e gravar com base em uma tabela de réplica em uma região que não foi afetada. Para obter mais informações, consulte Práticas recomendadas para o design de tabelas globais do DynamoDB.

Uma tabela de réplica é uma única tabela do DynamoDB. Cada tabela de réplica armazena o mesmo conjunto de itens de dados, tem o mesmo nome de tabela e o mesmo esquema de chave primária. Quando uma aplicação grava dados em uma tabela de réplica em uma região, o DynamoDB replica a gravação nas outas tabelas de réplica de outras regiões da AWS.

Sim, as tabelas globais do DynamoDB reforçam a continuidade dos negócios, pois aumentam a resiliência da aplicação e proporcionam forte consistência para uma única região. Com a consistência sólida em várias regiões, é possível desenvolver aplicações com RPO zero e os maiores níveis de resiliência.

É possível criar uma tabela global usando o console do DynamoDB, a AWS CLI ou o AWS CloudFormation com este guia detalhado.

Antes de adicionar outra réplica em uma região diferente a uma tabela global do DynamoDB, a tabela deve ter o DynamoDB Streams habilitado, ter o mesmo nome de todas as outras réplicas, ter a mesma chave de partição de todas as outras réplicas, ter as mesmas configurações de capacidade de gravação especificadas.

Todas as tabelas de réplica de uma tabela global do DynamoDB devem ter o mesmo nome.

De forma semelhante a outros bancos de dados, o DynamoDB armazena dados em tabelas. A tabela é uma coleção de itens, e cada item é uma coleção de atributos. O DynamoDB usa chaves primárias para identificar de forma exclusiva cada item de uma tabela e tem índices secundários para fornecer mais flexibilidade de consulta.

Sim, você pode habilitar a recuperação para um ponto no tempo em cada réplica de uma tabela global do DynamoDB.

Integrações

Abrir tudo

Sim, o DynamoDB oferece suporte à captura de dados de alterações (CDC), que é implementada usando um modelo de streaming que permite que as aplicações capturem alterações no nível do item em uma tabela do DynamoDB quase em tempo real como um fluxo de registros de dados. O fluxo de registros de dados da CDC permite que as aplicações processem e respondam com eficiência às modificações de dados na tabela do DynamoDB. O DynamoDB oferece dois modelos de streaming para CDC: DynamoDB Streams e Kinesis Data Streams para DynamoDB. Para ajudar você a escolher a solução certa para sua aplicação, consulte as opções de streaming para a captura de dados de alterações.

Um stream do DynamoDB é um fluxo ordenado de informações sobre alterações em itens em uma tabela do DynamoDB. O DynamoDB Streams captura uma sequência desduplicada em ordem temporal das modificações em nível de item em uma tabela e armazena essas informações em um log por até 24 horas. O DynamoDB Streams escala a capacidade automaticamente, liberando você da capacidade de provisionamento e gestão. Com base na configuração do DynamoDB Streams, você pode visualizar os itens de dados conforme eles aparecem antes e depois de serem modificados. Você pode criar aplicações que consomem esses eventos de streams e invocar fluxos de trabalho com base no conteúdo do stream de eventos.

O DynamoDB Streams é útil quando você quer responder às alterações de dados com gatilhos usando a integração nativa com o AWS Lambda, rastrear e analisar interações com clientes ou monitorar a performance de aplicações quase em tempo real, capturar sequências ordenadas de eventos e melhorar a resiliência de aplicações por meio da replicação de dados transacionais no nível de item.

O Kinesis Data Streams captura modificações em nível de item em qualquer tabela do DynamoDB e as replica em um fluxo de dados do Kinesis. Suas aplicações podem acessar esse fluxo e visualizar as alterações no nível de item quase em tempo real. Com o Kinesis Data Streams, é possível desenvolver aplicações personalizadas que processam ou analisam dados de streaming para necessidades específicas. Diferentemente do DynamoDB Streams, o Kinesis Data Streams para o DynamoDB não oferece garantias de ordenação de registros nem de desduplicação. A ordenação de registros e a desduplicação devem ser implementadas pelas aplicações clientes, usando o campo ApproximateCreationDateTime no registro em nível de item.

O Kinesis Data Streams para o DynamoDB é útil se você precisar de integração com recursos mais amplos do Kinesis (como a Kinesis Client Library, o Amazon Managed Service for Apache Flink ou o Amazon Data Firehose), maior retenção de dados e capacidade de reprodução (até 365 dias) e gerenciamento personalizado de fragmentos para consumo downstream e analytics de streaming.

Quando um stream do DynamoDB ou um fluxo de dados do Kinesis é habilitado em uma tabela do DynamoDB, a tabela envia um registro de dados que captura todas as alterações nos dados dessa tabela. Esse registro de dados inclui a hora específica em que um item foi criado, atualizado ou excluído recentemente, a chave primária desse item, uma imagem do item antes da modificação e uma imagem do item após a modificação

Você pode habilitar ou desabilitar streams em uma tabela existente do DynamoDB usando o Console de Gerenciamento da AWS, o AWS SDK, a AWS Command Line Interface (AWS CLI) ou a Kinesis Client Library (KCL).

Escolha o DynamoDB Streams quando precisar monitorar especificamente as alterações em uma tabela do DynamoDB. Escolha o Kinesis Data Streams para necessidades mais amplas de streaming, maiores requisitos de throughput ou quando você precisar de períodos de retenção de dados mais longos.

O recurso tempo de vida (TTL) do Amazon DynamoDB exclui automaticamente itens expirados que não são mais relevantes de uma tabela, reduzindo assim o uso do armazenamento e diminuindo os custos. Com o TTL, você pode definir um carimbo de data/hora por item para determinar quando um item não é mais necessário, e o DynamoDB exclui automaticamente o item da sua tabela sem consumir nenhum throughput de gravação. Sempre que um item é criado ou atualizado, você pode calcular o tempo de expiração e salvá-lo no atributo TTL. O TTL é útil se você armazena itens que perdem a relevância após um período específico.

O DynamoDB oferece suporte a operações GET/PUT usando uma chave primária definida pelo usuário. A chave primária é o único atributo exigido para os itens em uma tabela. Você especifica a chave primária durante a criação da tabela. Essa chave identifica unicamente cada item. Além disso, o DynamoDB fornece consultas flexíveis ao possibilitar a consulta de atributos de chaves não primários usando índices secundários globais e índices secundários locais.

Uma chave primária pode ser uma chave de partição composta por um único atributo ou uma chave de classificação de partição composta. Uma chave de partição composta por um único atributo pode ser, por exemplo, UserID. Essa chave de partição de atributo único permite ler e gravar rapidamente dados para cada item associado a um determinado ID do usuário.

O DynamoDB indexa uma chave composta de partição e ordenação como um elemento de chave de partição e um elemento de chave de ordenação. Essa chave de várias partes mantém uma hierarquia entre o primeiro e o segundo valor de elemento. Por exemplo, uma chave de classificação de partição composta pode ser uma combinação entre UserID (partição) e Timestamp (classificação). Um elemento de chave de partição constante permite pesquisar no elemento de chave de classificação para recuperar itens. Com essa pesquisa, você pode usar a API Query para, por exemplo, recuperar todos os itens de um único UserID ao longo de um intervalo de carimbos de data/hora.

O DynamoDB oferece suporte a chaves primárias compostas por até oito atributos em índices secundários globais (GSIs), com até quatro atributos cada para as chaves de partição e classificação.

Depois de criar uma tabela usando o console do DynamoDB ou a API CreateTable, você poderá usar as APIs PutItem ou BatchWriteItem para inserir itens. Em seguida, você pode usar GetItem, BatchGetItem ou, se as chaves primárias compostas estiverem habilitadas e em uso na tabela, a API Query para recuperar os itens que você adicionou à tabela.

Sim. O DynamoDB é um serviço gerenciado na nuvem que é acessado através de uma API. Aplicações executadas em qualquer sistema operacional (como Linux, Windows, iOS, Android, Solaris, AIX e HP-UX) podem usar o DynamoDB. É recomendável usar os AWS SDKs para começar a usar o DynamoDB.

A Integração ETL zero do DynamoDB com o OpenSearch Service reduz a complexidade operacional na orquestração da replicação de dados de um datastore transacional para um datastore de pesquisa. Os pipelines de dados usados para manter os datastores transacionais e de pesquisa sincronizados podem ser desafiadores e caros de criar e gerenciar, além de sofrerem erros intermitentes que são difíceis de rastrear. 

Essa integração permite que os clientes do DynamoDB obtenham resultados de pesquisa quase em tempo real a partir de seus dados transacionais, oferecendo uma solução totalmente gerenciada para disponibilizar dados transacionais do DynamoDB no OpenSearch Service poucos segundos depois de serem gravados. Os clientes simplesmente escolhem as tabelas do DynamoDB contendo os dados que desejam analisar com o OpenSearch Service, e a Integração ETL zero replica perfeitamente o esquema e os dados no OpenSearch Service usando pipelines do OpenSearch Ingestion. Os clientes podem replicar dados de várias tabelas do DynamoDB em um único domínio gerenciado do OpenSearch Service ou coleção sem servidor para obter insights holísticos em várias aplicações e, ao mesmo tempo, consolidar seus principais ativos de análise, obtendo economias significativas de custos e eficiências operacionais. 

Os clientes podem começar usando o Console de Gerenciamento da AWS para DynamoDB, o OpenSearch Service, a AWS CLI, o SDK da AWS ou o AWS CloudFormation. Para habilitarem uma integração, os clientes escolhem primeiro a tabela do DynamoDB cujos dados precisam ser replicados. Em seguida, os clientes escolhem Fluxos do DynamoDB para replicação quase em tempo real ou Exportações incrementais do DynamoDB para replicação atrasada como o mecanismo de CDC para manter os dados em sincronia entre os dois sistemas. 

Essa Integração ETL zero configura um pipeline do OpenSearch Ingestion na conta do cliente que se encarrega de replicar os dados em um cluster gerenciado do OpenSearch Service ou em uma coleção sem servidor. O OpenSearch Ingestion compreende a estrutura das tabelas do DynamoDB e cria um domínio gerenciado equivalente do OpenSearch Service ou uma coleção sem servidor e inicializa o destino com os dados existentes das tabelas do DynamoDB. Opcionalmente, os clientes podem especificar um esquema para os índices que serão criados no OpenSearch Service. 

Essa Integração ETL zero fornece um painel no qual você pode monitorar o estado de sua integração de ponta a ponta com métricas e logs em tempo real do Amazon CloudWatch. É possível configurar alertas em caso de violação dos limites definidos pelo usuário. Essa integração também monitora continuamente o estado das tabelas do DynamoDB e dos índices do OpenSearch Service e notifica imediatamente os usuários em caso de regressões com qualquer uma dessas entidades.

Para garantir que o OpenSearch Ingestion tenha as permissões necessárias para replicar dados em ambos os sistemas, a Integração ETL zero do DynamoDB com o OpenSearch Service cria um perfil do IAM com as permissões necessárias para ler dados das tabelas do DynamoDB e gravar em um domínio ou coleção do OpenSearch. Esse perfil é então assumido por pipelines do OpenSearch Ingestion para garantir que a postura de segurança correta seja sempre mantida ao mover os dados da origem para o destino.

A Integração ETL zero usa os recursos nativos de transformação de dados dos pipelines do OpenSearch Ingestion para agregar e filtrar os dados enquanto eles estão em movimento. Ao mover os dados de uma tabela do DynamoDB, os clientes podem querer eliminar alguns campos ou criar novos campos com base nas agregações entre os campos existentes. 

Opcionalmente, os clientes também podem escrever uma lógica personalizada para o OpenSearch Ingestion de forma a obter uma capacidade de transformação personalizada. Para outros usuários, que desejam apenas mover seus dados inteiros da origem para o coletor, a integração ETL zero fornecerá esquemas do OpenSearch Ingestion prontos para uso, para que eles possam realizar as integrações com apenas alguns cliques de botão.

A Integração ETL zero oferece aos clientes opções para especificar seu esquema de dados personalizado junto com mapeamentos de índice usados pelo OpenSearch Ingestion ao gravar dados do DynamoDB no OpenSearch Service. Essa experiência é adicionada ao console da interface do usuário no DynamoDB, para que os clientes tenham controle total sobre o formato dos índices criados no OpenSearch Service.

Não há custo adicional para usar a Integração ETL zero do DynamoDB com o OpenSearch Service além do custo dos componentes subjacentes existentes. A Integração ETL zero usa o OpenSearch Ingestion para ler dados em tabelas do DynamoDB e os replica no OpenSearch Service. O custo envolvido no uso da Integração ETL zero do DynamoDB com o OpenSearch Service é o custo das unidades de computação (OCUs) do OpenSearch necessárias para o OpenSearch Ingestion replicar os dados nos sistemas. Além disso, os clientes têm a opção de escolher fluxos do DynamoDB ou exportações incrementais como opção de CDC. Para exportações incrementais, há um custo associado à gravação de dados em buckets do S3. Para streams do DynamoDB, os clientes pagam as taxas padrão de uso de streams do DynamoDB.

A integração ETL zero do DynamoDB com o OpenSearch Service está disponível em todas as regiões nas quais a Ingestão do OpenSearch está disponível atualmente.

Faturamento

Abrir tudo

Sim, você pode adquirir um Savings Plans para o uso do Amazon DynamoDB e reduzir seus custos em até 18% ao se comprometer com um volume consistente de uso durante um período de um ano. Informações adicionais sobre o uso qualificado podem ser encontradas na página de preços de Savings Plans para bancos de dados.

Sim, o DynamoDB oferece um generoso nível gratuito com 25 GB de armazenamento e 25 unidades de capacidade de gravação provisionadas (WCU) e 25 unidades de capacidade de leitura provisionadas (RCU), o que é suficiente para lidar com 200 milhões de solicitações por mês.

O DynamoDB é um banco de dados não relacional totalmente sem servidor. Em comparação com outros bancos de dados que cobram com base em várias métricas, como armazenamento, o DynamoDB pode ser escalado para zero, ou seja, quando os clientes utilizam o modo sob demanda, eles pagam apenas pelos recursos ativos consumidos.

Simplificando, o modo sob demanda é mais adequado para clientes que preferem pagar apenas pelo que usam ou que têm workloads imprevisíveis. A capacidade provisionada é popular entre clientes com aplicações que demonstram tráfego consistente ou previsível e preferem prever os requisitos de capacidade para controlar os custos.

O DynamoDB é exclusivo por ser um banco de dados sem servidor que oferece aos clientes a opção de pagar somente pelos recursos que consomem, ao mesmo tempo em que é escalado para zero quando não está em uso com preços sob demanda. Quando o banco de dados está em uso, unidades de solicitação de gravação e unidades de solicitação de leitura são usadas para calcular as cobranças.

O DynamoDB inclui um amplo conjunto de opções que podem ser adicionadas ao serviço. Uma lista parcial inclui:

  • Backup sob demanda que faz backups instantâneos em momentos específicos
  • Tabelas globais para replicação multirregional e multiativa
  • O DynamoDB Accelerator (DAX), um serviço de cache compatível com o Amazon DynamoDB, reduz a latência por meio do cache em memória
  • O DynamoDB transmite sequências ordenadas por tempo de alterações em nível de item em uma tabela