Um guia de introdução ao AWS DocumentDB

Em resposta a um número crescente de clientes que não podem executar o MongoDB em escala, a Amazon implementou a solução DocumentDB.

Você pode dimensionar facilmente de 10 GB a 64 TB com a ajuda do dimensionamento automatizado de dados no DocumentDB. Vamos ver como isso pode ser feito.

O que é DocumentDB?

O AWS DocumentDB é uma versão ampliada da versão anterior do MongoDB 3.6. A Amazon sentiu a necessidade de projetar sua solução para grandes volumes de dados e cargas de trabalho de missão crítica. O DocumentDB não usa nenhum código-fonte do MongoDB. Portanto, é uma implementação proprietária da Amazon.

O DocumentDB, assim como o MongoDB, é um mecanismo de armazenamento de documentos. AWS DocumentDB é um banco de dados NoSQL. O mecanismo de armazenamento de documentos normalmente é formatado em JSON. Ou seja, ele indexa estruturas de dados JSON. O Amazon DocumentDB é uma solução de descarte do MongoDB da AWS, mas diferente.

Antes de nos aprofundarmos no Amazon DocumentDB, é importante entender o NoSQL e por que ele é atualmente a próxima grande novidade.

O que é um banco de dados NoSQL?

Os bancos de dados NoSQL não possuem tabelas relacionadas entre si (também conhecidas como “não apenas SQL”). Na maioria das vezes, documentos e gráficos são os dois principais tipos de coisas que as pessoas usam. Eles podem lidar com muitos dados e muitas cargas de usuário.

O uso de bancos de dados NoSQL pelos desenvolvedores foi feito para desempenho, não para armazenamento. Os dados NoSQL são semiestruturados e polimórficos e armazenam facilmente grandes quantidades de dados não estruturados.

Além de os bancos de dados NoSQL serem mais consistentes do que os bancos de dados relacionais, eles também são mais fáceis de escalar e precisam de menos recursos. Ao contrário dos bancos de dados SQL, os bancos de dados NoSQL podem ser empilhados. Bancos de dados NoSQL sem esquema permitem várias estruturas de itens de banco de dados.

  Como usar o Google Tradutor diretamente no Planilhas Google

Mais desenvolvedores estão começando a hospedar programas e dados em nuvens públicas. Expandir em vez de expandir e geolocalizar dados de forma inteligente eram os principais requisitos. Esses são recursos do MongoDB.

Empresas em todos os lugares empregam NoSQL. Dados financeiros e de saúde, por exemplo, são casos de uso significativos (por exemplo, armazenar leituras de IoT de uma caixa de areia de gatinho inteligente).

O que levou ao DocumentDB?

A Amazon teve a ideia porque muitas pessoas estavam tendo problemas para executar o MongoDB em larga escala. A Amazon achava que nenhuma das soluções atuais, incluindo o MongoDB Atlas, poderia resolver os problemas de seus clientes, então eles criaram os seus próprios.

Por exemplo, o DocumentDB permite que você aumente seu banco de dados de 10 GB para 64 TB automaticamente, para que você não precise fazer nada. Antes do DocumentDB, era difícil desenvolver esse tipo de dados.

A solução da Amazon também possui tolerância a falhas integrada. Ele divide automaticamente seu espaço de armazenamento em pedaços de 10 GB espalhados por vários discos. Cada bloco de 10 GB do seu volume de armazenamento é replicado seis vezes em três zonas de disponibilidade para backup.

Até duas cópias de dados podem ser perdidas sem afetar a disponibilidade de gravação, e três documentos podem ser perdidos sem afetar a disponibilidade de leitura também. Ele também tem uma capacidade de armazenamento de auto-recuperação. Blocos de dados e discos são verificados quanto a erros e corrigidos automaticamente.

Como a Amazon hospeda o serviço, a maioria das regras é coberta. Ele atende a muitos padrões, incluindo PCI DSS e ISO 9001. Também atende a SOC 1, SOC 2, SOC 3 e HIPAA.

Benefícios do DocumentDB

#1. Compatível com MongoDB

O Amazon DocumentDB funciona com drivers MongoDB 3.6 e 4.0. Os clientes podem usar muitos dos mesmos aplicativos, drivers e ferramentas com o Amazon DocumentDB.

O Amazon DocumentDB emprega as APIs MongoDB 3.6 e 4.0 de código aberto Apache 2.0 para simular um servidor MongoDB. O desempenho, a escalabilidade e a disponibilidade exigidos pelos aplicativos MongoDB de missão crítica já estão disponíveis.

  Envie vídeo direto e mensagens de texto para qualquer pessoa

#2. Monitoramento

O Amazon DocumentDB fornece análises do Amazon CloudWatch para servidores de banco de dados em nuvem. Usando o Console de gerenciamento da AWS, você pode monitorar o desempenho do cluster em áreas como computação e memória. Taxa de transferência de consulta, contagens de operação do MongoDB e conexões ativas estão incluídas.

#3. Latência

O Amazon DocumentDB oferece suporte a documentos JSON, vários tipos de dados e indexação rápida. Uma arquitetura na memória permite que o serviço avalie rapidamente as consultas em documentos grandes.

#4. Controle de acesso

O Amazon DocumentDB oferece suporte ao RBAC com funções integradas e definidas. O RBAC permite que você implemente o menor privilégio limitando o que os usuários podem fazer.

Como parte do AWS Identity and Access Management (IAM), você pode gerenciar o que os usuários e grupos do AWS IAM podem fazer com os recursos do Amazon DocumentDB, incluindo clusters, instâncias, snapshots e grupos de parâmetros. Você também pode marcar seus recursos do Amazon DocumentDB e regular seus usuários e grupos do IAM.

#5. Criptografia

Usando o AWS Key Management Service, você pode criptografar seus bancos de dados Amazon DocumentDB (KMS).

Os dados no armazenamento subjacente são protegidos, assim como backups, snapshots e réplicas automatizados em um cluster usando a criptografia do Amazon DocumentDB. As conexões de cliente para Amazon DocumentDB são criptografadas automaticamente com TLS.

#6. Certificações de conformidade

O Amazon DocumentDB foi desenvolvido de acordo com os mais altos padrões de segurança para ajudar você a atender às suas próprias necessidades regulatórias e de conformidade. O Amazon DocumentDB é compatível com PCI DSS, ISO 9001, 27001, 27017 e 27018, SOC 1, 2 e 3 e HIPAA.

#7. Clusters globais com alta disponibilidade

Os clusters globais do Amazon DocumentDB permitem leitura global e recuperação de catástrofes. Ele duplica seus dados em até cinco sites da AWS com um impacto mínimo no desempenho.

#8. Implantações Multi-AZ com réplicas

Com até 15 réplicas em três zonas de disponibilidade, o Amazon DocumentDB altera automaticamente as instâncias quando uma falha. Em caso de falha, o Amazon DocumentDB tentará criar um novo exemplo para um.

#9. Armazenamento tolerante a falhas e autocorretivo

O volume de armazenamento é copiado seis vezes em três AZs (AZs). O Amazon DocumentDB oferece armazenamento tolerante a falhas para gerenciar a perda de dados de até duas cópias sem afetar a disponibilidade de gravação. O armazenamento do Amazon DocumentDB também é autorrecuperável, substituindo blocos e discos de dados com falha.

  Como reproduzir arquivos em ordem alfabética ou numérica no VLC Player

Perguntas frequentes sobre o AWS DocumentDB

O AWS DocumentDB é o mesmo que o MongoDB?

Além de ser rápido, escalável e totalmente gerenciado, o Amazon DocumentDB (com compatibilidade com MongoDB) é um serviço de banco de dados de documentos totalmente gerenciado que pode ser usado com cargas de trabalho do MongoDB.

Os dados JSON podem ser armazenados no Amazon DocumentDB como um banco de dados de documentos. Você pode armazenar, pesquisar e indexar os dados com facilidade.

Os clientes podem usar o AWS Database Migration Service (DMS) gratuitamente por seis meses para mover de forma rápida e fácil seus bancos de dados não relacionais MongoDB no local ou Amazon Elastic Cloud (EC2) para o AWS Database Migration Service (DMS) com quase nenhum tempo de inatividade .

Como o Amazon DocumentDB funciona?

O Amazon DocumentDB interage com as APIs MongoDB 3.6 e 4.0 de código aberto do Apache 2.0 como um banco de dados de documentos. Como resultado, é possível usar os mesmos drivers, aplicativos e ferramentas do MongoDB com o Amazon DDocumentDB com pouca ou nenhuma alteração.

Como o Amazon DocumentDB é dimensionado?

O Amazon DocumentDB é um banco de dados em escala da web que pode ser dimensionado de 10 GB a 64 TB em incrementos de 10 GB. A capacidade de armazenamento e computação do Amazon DocumentDB pode ser dimensionada vertical e horizontalmente (para maior taxa de transferência de leitura) adicionando instâncias de réplica adicionais (até 15) ao cluster.

Em termos de design, quais são as principais coisas sobre o Amazon DocumentDB?

Uma arquitetura que prioriza a nuvem foi usada para criar o Amazon DocumentDB desde o início. Isso significa que as cargas de trabalho JSON podem ser facilmente dimensionadas.

Uma parte importante do design do DocumentDB é separar o armazenamento e o processamento, para que cada um possa crescer em seu próprio ritmo. O DocumentDB possui um sistema de armazenamento distribuído, tolerante a falhas e autorrecuperável. Cada cluster de banco de dados pode armazenar até 64 TB de dados sem dividi-los.

Conclusão

O DocumentDB é o único serviço compatível com MongoDB gerenciado da Amazon. A Amazon diz que o DocumentDB tem o dobro da taxa de transferência das soluções MongoDB atualmente disponíveis. A alternativa seria gerenciar bancos de dados em EC2/EBS, o que é um desafio.

Se você precisar dessas garantias, escolha DocumentDB ou fique com o MongoDB. Outro motivo para escolher o DocumentDB é manter tudo na AWS.