Você está na página 1de 18

Guia de Arquitetura

do MongoDB
Os conceitos fundamentais que sustentam a
arquitetura do MongoDB
Guia de Arquitetura
do MongoDB

Introdução
Dados e software estão no núcleo de todos os ° Cargas de trabalho transacionais,
negócios. Mas para muitas organizações, alcançar analíticas, de pesquisa e móveis
todo o potencial da economia digital continua anteriormente separadas estão
sendo um desafio significativo. Desde o início do convergindo para criar aplicativos ricos
MongoDB, entendemos que os maiores desafios orientados por dados e experiências do
que os desenvolvedores enfrentam estão cliente. No entanto, cada carga de
relacionados ao trabalho com dados: trabalho tem sido tradicionalmente
alimentada por seu próprio banco de
° As demandas por maior produtividade e dados, criando silos de dados duplicados
menor tempo de lançamento no unidos com pipelines ETL frágeis,
mercado estão sendo retidas por acessados por diferentes APIs de
modelos de dados relacionais rígidos que desenvolvedor.
não combinam com o código moderno e
impõem interdependências complexas Para enfrentar alguns desses desafios, bancos de
entre as equipes de engenharia. dados não tabulares (às vezes chamados de
° As organizações não conseguem trabalhar NoSQL ou não relacionais) foram rapidamente
ou extrair insights da enorme e crescente adotados na última década. Mas muitos desses
quantidade de dados gerados por bancos de dados NoSQL são simplesmente
aplicativos modernos, incluindo séries curativos, oferecendo um conjunto de
temporais, dados geoespaciais e funcionalidades de nicho.
polimórficos.
O problema é que os bancos de dados NoSQL
° Bancos de dados legados frágeis e
típicos fazem uma ou duas coisas bem. Eles
monolíticos estão inibindo a mudança de
podem oferecer mais flexibilidade no modelo de
atacadistas para sistemas distribuídos e
dados do que bancos de dados tradicionais ou
computação em nuvem que oferecem a
escalonar facilmente. Mas para fazer isso, eles
resiliência e a escala exigidas pelos
descartam os recursos mais valiosos dos bancos
negócios digitais e oferecem suporte para
de dados relacionais. Muitas vezes sacrificam a
novas demandas regulatórias de
privacidade de dados. integridade dos dados e a capacidade de
trabalhar com dados das maneiras necessárias
para criar aplicativos ricos e valiosos — sejam
eles novos pontos de contato digitais com os
clientes de uma organização ou processos de
negócios de back-end centrais modernizados.

2
Guia de Arquitetura
do MongoDB

O modelo de documento
O MongoDB foi lançado em 2009 como uma

Suporte aprimorado
classe completamente nova de banco de dados
de uso geral e rapidamente se estabeleceu
como um dos bancos de dados mais populares para dados de série
entre os desenvolvedores. O MongoDB retém os
melhores aspectos dos bancos de dados
temporal
relacionais e NoSQL enquanto fornece uma base Dados de série temporal são dados que
tecnológica que permite que as organizações representam como um sistema, um processo ou
atendam às demandas de aplicativos modernos. um comportamento muda ao longo do tempo. Ele
Ele consegue isso substituindo as rígidas tabelas pode ser capturado em intervalos de tempo
de bancos de dados relacionais por documentos constantes, como uma medição do dispositivo por
flexíveis que mapeiam a maneira como os segundo, ou em intervalos de tempo irregulares,
desenvolvedores pensam e codificam. Em vez como alertas e auditorias de eventos. Os dados de
de armazenar dados em colunas e linhas, os séries temporais são essenciais para aplicativos
bancos de dados de documentos podem modernos, em particular para IoT, negociação de
armazenar dados como JSON (Notação de ações,fluxo de cliques e redes sociais. Com a
Objetos em JavaScript). Um banco de dados de mudança de sistemas em lote para sistemas em
documentos pode armazenar qualquer tipo de tempo real, a eficiência da captura e da análise de
dados e a estrutura dos documentos pode ser dados de séries temporais permitem que as
facilmente modificada. Isso permite que os organizações detectem e respondam melhor a
desenvolvedores sejam muito mais produtivos e eventos antes de seus concorrentes, melhorem a
construam ou iterem seus aplicativos com mais eficiência operacional e reduzam custos e riscos.
rapidez. Você pode adicionar novos campos sem
afetar outros documentos na coleção, o Graças à flexibilidade do MongoDB, as equipes
equivalente do MongoDB de uma tabela em um utilizam o banco de dados para armazenar dados
banco de dados relacional. E você pode criar de séries temporais há anos. No entanto, criar
modelos de dados de qualquer maneira modelos dos dados de forma correta para obter
adequada ao aplicativo, por exemplo, como uma solução de alto desempenho nem sempre foi
pares de valor-chave , como bordas ou nós de direto. Com coleções de séries temporais — um
um gráfico ou como estruturas aninhadas que novo tipo de coleção introduzido com o MongoDB
representam relacionamentos. 5.0 — e novos recursos, como indexação em
cluster e funções de janela, as equipes podem
trabalhar e armazenar dados de séries temporais
sem precisar se preocupar com a otimização do
modelo de nível baixo. O MongoDB irá otimizar
automaticamente seu esquema para alta eficiência
de armazenamento, consultas de baixa latência e
análises em tempo real em relação a dados
temporais.

3
Guia de Arquitetura
do MongoDB

Como os desenvolvedores experienciaram


diretamente os benefícios do modelo de dados
de documentos, ele se tornou a alternativa
mais popular ao modelo tabular utilizado pelos
bancos de dados relacionais tradicionais.
As três principais vantagens do modelo de
dados de documentos são:

1. Intuitivo: mais
rápido e fácil para Com o modelo de dados de documento, não
desenvolvedores há necessidade de decompor dados em
tabelas, executar JOINs caros ou integrar uma
Os documentos no banco de dados são mapeados camada de mapeamento objeto-relacional (ORM)
diretamente para os objetos em seu código, separada. Os dados que são acessados juntos
portanto, é muito mais natural para trabalhar com geralmente são armazenados juntos, portanto,
eles. você tem menos código para escrever e seus
usuários obtêm maior desempenho.
O exemplo a seguir de um documento JSON no
MongoDB evidencia como um objeto de cliente é
modelado em uma única estrutura de documento
com dados relacionados incorporados como
subdocumentos e arranjos. Essa abordagem reduz
o que de outra forma seriam sete tabelas pai-filho
separadas vinculadas por chaves estrangeiras em
um banco de dados relacional. “A parte mais bonita é
o modelo de dados. Tudo é
um documento JSON
natural. Portanto, para os
desenvolvedores, é fácil —
muito fácil — trabalhar
rapidamente. Eles estão
utilizando seu tempo na
criação de valor do negócio
em vez de modelagem de
dados.”
— Filip Dadgar, gerente de TI, Toyota
Material Handling Europe
4
Guia de Arquitetura
do MongoDB

2. Esquema flexível: de esquema, você pode aplicar padrões de


governança de dados a um esquema de documento
adapta-se enquanto mantém os benefícios de um modelo de
dinamicamente às dados flexível em desenvolvimento.

alterações
3. Universal: os
O esquema de um documento é dinâmico e
autodescritivo, portanto, você não precisa
documentos
predefini-lo no banco de dados. Os campos JSON estão em
podem variar de documento para documento, e toda parte
você pode modificar a estrutura a qualquer
momento, permitindo integrar constantemente Leve e independente do idioma, o JSON se tornou
novas funcionalidades de aplicativos sem lidar um padrão estabelecido para comunicação e
com migrações de esquema disruptivas. armazenamento de dados. Os documentos
Quando você precisa fazer alterações no modelo de permitem que você estruture os dados da maneira
dados, o banco de dados de documentos continua a que seu aplicativo precisar — objetos ricos, pares
armazenar os objetos atualizados sem a necessidade de valor-chave, tabelas, dados geoespaciais e de
de realizar operações caras de “ALTER TABLE séries temporais e os nós e bordas de um gráfico.
[ALTERAR TABELA]”, atualizar uma camada de Como resultado dessas propriedades, você pode
middleware de ORM separada e coordenar todas atender a muito mais classes de aplicativos com
essas alterações em múltiplos desenvolvedores, DBA um único banco de dados.
e equipe de operações. Os documentos permitem O MongoDB armazena dados como documentos
que várias versões do mesmo esquema existam no JSON em uma representação binária chamada
mesmo espaço de tabela. Aplicativos antigos e novos BSON (Binary JSON). Ao contrário da maioria dos
podem coexistir. bancos de dados que armazenam dados JSON
O MongoDB também oferece validação de esquema como cadeia de caracteres e números primitivos,
para que você possa aplicar regras que regem a a codificação BSON estende a representação
estrutura de seus documentos. Isso é útil à medida JSON para incluir tipos adicionais como int, long,
que seus aplicativos entram em produção, pois você date, float point e decimal128. Isso facilita muito
pode controlar seu esquema sem precisar escrever para os aplicativos que utilizam o MongoDB
controles na camada do aplicativo. Com a validação processar, classificar e comparar dados de
maneira confiável.

5
Guia de Arquitetura
do MongoDB

Trabalhando com dados de


documentos
Algumas diferenças importantes entre os bancos de Isso continua sendo possível se você estiver
dados são a expressividade da linguagem de manipulando dados em um único documento ou com
consulta, a riqueza da indexação e os controles de a arquitetura escalável do MongoDB em vários
integridade dos dados. documentos e distribuídos geograficamente em
múltiplos fragmentos.
A API de consulta do MongoDB é abrangente e
expressiva. Consultas ad hoc, indexação e agregações Com forte consistência de dados, o MongoDB elimina
em tempo real fornecem maneiras poderosas de a complexidade do aplicativo imposta por sistemas
acessar, agrupar, transformar e analisar dados. Você NoSQL eventualmente consistentes. As garantias de
pode unir consultas em bancos de dados, dando consistência do MongoDB são totalmente ajustáveis,
suporte a cargas de trabalho transacionais e dados permitindo que você equilibre a atualização dos dados
arquivados em seu data lake utilizando a mesma API e em relação ao desempenho.
drivers de consulta, todos com uma única cadeia de
Para facilitar a ação das empresas sobre os dados em
caracteres de conexão.
tempo real, muitos desenvolvedores estão criando
O pipeline de agregação do MongoDB permite pipelines de dados orientados a eventos
transformar e analisar dados. Os documentos completamente reativos. O MongoDB vai além de
entram em um pipeline de múltiplas etapas que os muitos outros bancos de dados com recursos como
transforma em um resultado agregado. As etapas fluxos de alteração, que detecta e notifica
de pipeline mais básicas fornecem filtros que automaticamente os aplicativos consumidores sobre
funcionam como consultas e transformações de quaisquer modificações de dados no banco de dados.
documentos que modificam a forma do documento
A API de consulta do MongoDB livra os
de saída. Outras operações de pipeline fornecem
desenvolvedores de pesquisar, aprender e se
ferramentas para agrupar e classificar documentos
manter atualizados sobre várias maneiras de
por campos específicos, bem como ferramentas
trabalhar com dados em diferentes cargas de
para agregar o conteúdo de arranjos, incluindo os
trabalho. É mais natural de usar do que o SQL
de documentos. Além disso, as etapas do pipeline
porque parece uma extensão das linguagens de
podem utilizar operadores para tarefas como
programação que os desenvolvedores já usam.
calcular uma média ou concatenar uma cadeia de
Para acelerar ainda mais a produtividade do
caracteres. O pipeline fornece agregação de dados
desenvolvedor, o MongoDB fornece drivers
eficiente utilizando operações nativas no MongoDB
nativos para linguagens e estruturas de
e é o método preferencial para agregação de dados
programação populares. Os drivers compatíveis
no MongoDB.
incluem Java, JavaScript, C#/.NET, Go, Python,
Com as transações ACID, você pode manter as PHP, Scala, Rust, e muito mais. Todos os MongoDB
mesmas garantias de de isolamento tudo ou nada drivers suportados são projetados para serem
e instantâneo, assim como bancos de dados idiomáticos para a linguagem de programação
relacionais. fornecida. Isso elimina a necessidade de camadas
de abstração ORM complicadas e frágeis.

6
Guia de Arquitetura
do MongoDB

Arquitetura distribuída:
Escalável, resiliente e de
missão crítica
Por meio de conjuntos de réplicas e fragmentação ° Heartbeat e status de conectividade com a
nativa, o MongoDB permite escalonar seus aplicativos maioria dos outros membros do conjunto de
com disponibilidade sempre ativa. Você pode distribuir réplicas
dados para acesso de usuários de baixa latência
° Prioridades definidas pelo usuário atribuídas
enquanto aplica controles de soberania de dados para aos membros do conjunto de réplicas
regulamentos de privacidade de dados, como RGPD.
Ao estender a proteção de dados, os desenvolvedores
podem configurar conjuntos de réplicas para fornecer
Disponibilidade e proteção de durabilidade ajustável e de vários nós e
dados com conjuntos de reconhecimento geográfico. Por meio da preocupação
com a escrita do MongoDB, você pode garantir que as
réplicas operações de gravação se propaguem para a maioria
das réplicas em um cluster. Com o MongoDB 5.0, a
Os Conjuntos de réplicas do MongoDB permitem que você garantia de durabilidade padrão foi elevada à
crie até 50 cópias de seus dados, que podem ser preocupação com a escrita majoritária (w:majority). O
provisionadas em nós, centros de processamento de sucesso da gravação agora só será reconhecido no
dados e regiões geográficas separados. aplicativo depois que ele for confirmado e persistido
Os conjuntos de réplicas são projetados no disco na maioria das réplicas.
predominantemente para resiliência. Se um nó primário Escolher o novo padrão em comparação com o antigo
sofrer uma interrupção ou for removido para padrão w:1 permite uma garantia de durabilidade mais
manutenção, o cluster do MongoDB elegerá forte, onde os dados reconhecidos podem sobreviver a
automaticamente um substituto em alguns segundos, eleições de conjuntos de réplicas e falhas completas de
alternando as conexões do cliente e repetindo qualquer nós. A nova configuração padrão w:majority é totalmente
operação com falha para você. ajustável, para que você possa manter o padrão w:1
O processo de eleição do conjunto de réplicas é anterior ou qualquer preocupação de gravação
controlado por algoritmos sofisticados baseados em personalizada configurada anteriormente.
uma implementação estendida do protocolo de Você também pode criar preocupações de gravação
consenso Raft. Antes que uma réplica secundária seja personalizadas que visam membros específicos de um
promovida, os algoritmos de eleição avaliam uma série conjunto de réplicas, implantados localmente e em regiões
de parâmetros, incluindo: remotas.
° Análise de identificadores de eleição, registros
temporais e persistência de registro para
identificar os membros do conjunto de réplicas
que aplicaram as atualizações mais recentes da
réplica primária

7
Guia de Arquitetura
do MongoDB

Isso garante que os escritos sejam reconhecidos Com políticas sofisticadas, como leituras
apenas quando as políticas personalizadas forem protegidas, o cluster irá alternar
cumpridas, como gravar em pelo menos um automaticamente as consultas aos dois nós mais
primário e uma réplica em uma região, e pelo menos próximos (medidos pela distância de ping),
uma réplica em uma segunda região. Isso reduz o retornando os resultados da réplica mais rápida.
risco de perda de dados no caso de uma falha Isso ajuda a minimizar as consultas em espera em
regional completa. um nó que poderia estar ocupado, reduzindo a
latência de leitura do 95° e 99° percentual.
Além da resiliência, os conjuntos de réplicas
Observe que as leituras protegidas estão
também podem ser usados para escalonar as
disponíveis apenas em clusters compartilhados.
operações de leitura, alternando de forma
inteligente as consultas para uma cópia dos dados
fisicamente mais próxima do usuário.

Escalabilidade vertical,
horizontal e ao longo de
camadas de armazenamento
Como a maioria dos bancos de dados, você pode Você também tem a flexibilidade de refinar ou
escalonar o MongoDB verticalmente movendo alterar sua chave de fragmentação — que determina
para tamanhos de instância maiores ou menores. como os dados são distribuídos em um cluster
Como um sistema distribuído, o MongoDB pode fragmentado — sob demanda sem afetar a
executar uma reinicialização contínua do conjunto disponibilidade do sistema. Conforme sua chave de
de réplicas, permitindo que você se mova entre fragmentação é modificada ou conforme você altera
diferentes instâncias sem tempo de inatividade do a topologia do cluster, o MongoDB reequilibrará
aplicativo. automaticamente os dados entre os fragmentos
conforme necessário, sem intervenção manual.
Por meio da fragmentação nativa, o MongoDB
também pode escalonar seu banco de dados em Com o simples hash de um valor-chave primário,
vários nós para lidar com cargas de trabalho de muitos bancos de dados distribuídos espalham dados
gravação intensiva e tamanhos de dados crescentes. aleatoriamente em um cluster de nós, impondo
A fragmentação com o MongoDB permite escalonar penalidades de desempenho quando os dados são
continuamente o banco de dados à medida que seus consultados ou adicionando complexidade ao
aplicativos crescem além dos limites de hardware de aplicativo quando você precisa localizar dados em
um único servidor, e isso sem adicionar uma região específica. Ao expor múltiplas políticas de
complexidade ao aplicativo. fragmentação aos desenvolvedores, o MongoDB
oferece uma abordagem melhor. Os dados podem ser
Para responder às demandas de carga de trabalho distribuídos de acordo com padrões de consulta ou
em evolução, você pode adicionar e remover requisitos de posicionamento de dados, oferecendo
fragmentos a qualquer momento. escalabilidade muito maior em um conjunto mais
diversificado de cargas de trabalho.

8
Guia de Arquitetura
do MongoDB

A fragmentação nativa do MongoDB oferece as o Fragmentação por zonas: Isso


seguintes opções: permite que os desenvolvedores
definam regras específicas que
regem o posicionamento de dados
o Fragmentação variada: Os documentos são
em um cluster fragmentado.
particionados em fragmentos de acordo com o
valor-chave de fragmento. Documentos com Além do escalonamento vertical e horizontal, o
valores-chave de fragmento próximos uns dos MongoDB também oferece escalonamento em
outros provavelmente serão colocados no camadas. Ao trabalhar na nuvem, o MongoDB
mesmo fragmento. Essa abordagem é Atlas Online Archive classificará automaticamente
adequada para aplicativos que precisam os dados antigos do banco de dados para o
otimizar consultas baseadas em intervalo, armazenamento de objetos na nuvem. Os dados
como colocalização de dados para clientes em arquivados permanecem totalmente acessíveis
uma região específica em um conjunto
com consultas unificadas que abrangem
específico de fragmentos.
armazenamento de objetos e banco de dados em
uma única cadeia de caracteres de conexão. Essa
o Fragmentação hash: Os documentos são abordagem permite escalonar o armazenamento
distribuídos de acordo com um hash MD5 do
de dados de maneira mais econômica, movendo-
valor-chave de fragmentação. Essa abordagem
o para uma camada de armazenamento de custo
garante uma distribuição uniforme de
gravações em fragmentos, o que geralmente é mais baixo sem perder o acesso aos dados e sem
ideal para ingerir fluxos de séries temporais e lidar com pipelines de ETL lentos e complexos.
dados de eventos.

Zona 4
Frankfurt

Zona 2
Norte da Zona 5
Zona 1
Virgínia Tóquio
Norte da
Califórnia

Zona 3
Latência de gravação aproximada São Paulo
Zona 6
Ideal (0 – 100ms) Sydney
Aceitável (101 – 249ms)
Aceitável (101 – 249ms)
Não Ideal (250ms+)

Figura 1: Atendendo aplicativos sempre ativos, distribuídos globalmente e de gravação em todos os lugares com o MongoDB Atlas Global Clusters

9
Guia de Arquitetura
do MongoDB

Privacidade e segurança
Com a crescente economia digital, vem um Com a criptografia no nível de campo (FLE) do
aumento na supervisão governamental de lado do cliente, você tem acesso a alguns dos
privacidade e segurança de dados. O MongoDB controles de proteção de dados mais avançados
inclui amplos recursos para defender, detectar e em qualquer lugar. A FLE torna ainda mais seguro
controlar o acesso aos dados: armazenar seus dados mais confidenciais na
nuvem porque é completamente inacessível para
° Autenticação: O MongoDB oferece um
qualquer pessoa que não tenha as chaves de
forte mecanismo de desafio-resposta
criptografia, incluindo aqueles que operam o
baseado em SCRAM-256, juntamente com
banco de dados para você.
integração à infraestrutura de segurança
corporativa, incluindo LDAP, Windows A FLE também facilita a conformidade com as
Active Directory, Kerberos, certificados condições de “direito ao esquecimento” nos
x.509 e AWS IAM. regulamentos de privacidade, como o RGPD e a
° Autorização: O controle de acesso CCPA. Simplesmente destrua a chave do cliente e
baseado em função (RBAC) permite os dados pessoais associados se tornarão inúteis.
configurar permissões granulares para um
Com a FLE, você pode criptografar seletivamente
usuário ou aplicativo com base nos
campos de documentos individuais, cada um
privilégios necessários para realizar seus
opcionalmente protegido com sua própria chave e
trabalhos.
descriptografado perfeitamente para o cliente. No
° Auditoria: Para conformidade regulatória,
MongoDB, a FLE é totalmente separada do banco
os administradores de segurança podem de dados, tornando-a transparente para o
utilizar o log de auditoria nativo do MongoDB
servidor. Em vez disso, é tratada exclusivamente
para registrar todas as atividades e alterações
dentro dos drivers MongoDB no cliente. Todos os
do banco de dados.
campos criptografados no servidor —
° Isolamento da rede: Para usuários que armazenados na memória, nos logs do sistema,
executam bancos de dados totalmente em repouso e em backups — são renderizados
gerenciados no MongoDB Atlas, os dados
como texto cifrado, tornando-os ilegíveis para
do usuário e os sistemas subjacentes são
qualquer parte que não tenha tanto o acesso de
totalmente isolados de outros usuários. Os
cliente quanto as chaves necessárias para
recursos de banco de dados são associados
a um grupo de usuários, que está contido descriptografar os dados. Essa é uma abordagem
em sua própria nuvem privada virtual diferente e mais abrangente do que a criptografia
(VPC). O acesso pode ser concedido de coluna usada em muitos bancos de dados
apenas por whitelist de IP ou relacionais. A maioria desses bancos de dados lida
emparelhamento da VPC. com a criptografia no lado do servidor, então os
dados ainda podem ser acessados pelos
° Criptografia em todo lugar: Os dados
do MongoDB podem ser criptografados administradores que têm acesso à própria
enquanto estão em trânsito na rede, em instância do banco de dados, mesmo que não
uso no banco de dados e em repouso, seja tenham privilégios de acesso de cliente.
em disco ou em backups.
10
Guia de Arquitetura
do MongoDB

Uma plataforma para todas


as suas cargas de trabalho
Com base no modelo de dados de documentos Em sua essência, o MongoDB Atlas fornece um banco
do MongoDB, API de consulta expressiva e DNA de dados de uso geral (Atlas Database) para
de sistemas distribuídos, a plataforma de dados aplicativos modernos. Quase todos os aplicativos
de aplicativos MongoDB Atlas oferece um precisam de um banco de dados rápido que possa
conjunto coeso e integrado de dados e serviços fornecer tempos de resposta de milissegundos de um
de banco de dados. O Atlas simplifica a forma dígito. E com seu modelo de dados de documento
como as equipes trabalham com dados, flexível, garantias transacionais, API de consulta rica e
especificamente no contexto da criação de expressiva e suporte nativo para escalonamento
software e sistemas que proporcionam vertical e horizontal, o Atlas Database pode ser
experiências em tempo real para clientes finais empregado para praticamente qualquer caso de uso,
e usuários internos. As principais características reduzindo a necessidade de bancos de dados
da plataforma de dados de aplicativos do especializados, mesmo quando as exigências mudam.
MongoDB incluem: O escalonamento automático de cluster ajusta a
computação e o armazenamento em resposta à carga
° Um plano de dados com a capacidade de
do aplicativo, eliminando a necessidade de monitorar
oferecer suporte a uma ampla variedade de
a utilização e reagir às necessidades de
tipos de aplicativos que podem ser
escalonamento.
desenvolvidos, implantados e evoluídos
independentemente para atender a uma O Atlas Database está disponível em mais de 80
ampla variedade de tipos de aplicativos e regiões na AWS, Google Cloud Platform e Azure.
casos de uso A melhor infraestrutura e automação de banco
° Uma experiência unificada e consistente de dados da categoria garante disponibilidade
para desenvolvedores, analistas de dados, contínua, escalabilidade elástica e conformidade
cientistas de dados e funções críticas de com os padrões de privacidade e segurança de
suporte, como equipes de operações, dados mais exigentes. O tempo de atividade é
equipes de segurança e engenheiros de respaldado por um acordo de nível de serviço de
dados 99,995%.
° Distribuição global de dados em multicloud
— construída na fragmentação nativa do
MongoDB — para dar suporte às exigências
de residência de dados e fornecer
flexibilidade de implantação
° Movimento transparente de dados entre
serviços e gerenciamento automatizado
do ciclo de vida dos dados

11
Guia de Arquitetura
do MongoDB

Além de oferecer bancos de dados MongoDB


totalmente gerenciados na nuvem, o Atlas
fornece serviços complementares adicionais que
permitem que as organizações ofereçam
suporte a uma ampla variedade de cargas de
trabalho de dados analíticos de aplicativos e em
tempo real.

Modelo de
documento
Pares de valor-
Geoespacial
chave

Relações Gráficos

Objetos

Interface unificada Análise em


Transacional tempo real

Pesquisa Móvel

Arquitetura
Segurança distribuída

Multicloud

Figura 2: Plataforma de dados de aplicativos do MongoDB

12
Guia de Arquitetura
do MongoDB

Análise em tempo real


O Atlas Database permite que você implante um
A melhor maneira de executar
nó de análise somente para leitura para atender a o MongoDB na nuvem
consultas de análise mais intensivas em recursos.
Você pode direcionar facilmente os nós de análise O Atlas Database oferece o MongoDB como um serviço
configurando a preferência de leitura, garantindo de pagamento por utilização, cobrado por hora. Para
efetivamente que as consultas de análise que implantá-lo, você pode usar uma GUI ou a API de
aproveitam o pipeline de agregação integrado do administração para selecionar o provedor de nuvem
MongoDB nunca disputem por recursos de banco pública, a região, o tamanho da instância e os recursos
de dados com suas cargas de trabalho necessários. O Atlas Database fornece:
operacionais. Os nós analíticos, como todos os nós
somente para leitura em um cluster do MongoDB, o Provisionamento automatizado de banco
não participam de eleições e nunca podem ser de dados e infraestrutura junto com
eleitos para o cluster primário. escalonamento automático, para que as
equipes possam obter os recursos de
banco de dados de que precisam, quando
Atlas Search precisarem, e escalar elasticamente em
resposta às demandas do aplicativo.
O Atlas Search é integrado ao MongoDB Atlas, o Segurança sempre ativa para proteger
facilitando a criação de recursos de pesquisa de os dados, incluindo isolamento de rede,
texto completo e rápidos sobre seus dados do controles de acesso refinados, auditoria
MongoDB, sem a necessidade de aprender uma e criptografia de ponta a ponta até o
API diferente ou implantar uma tecnologia de nível de campos individuais.
pesquisa separada. O Atlas Search é construído o Certificações com padrões globais para
com base no Apache Lucene, a biblioteca padrão suporte à conformidade, incluindo ISO
do setor. Os índices de pesquisa são executados ao 27001, SOC 2, e muito mais. O Atlas
mesmo tempo que o banco de dados e são Database pode ser usado para cargas
mantidos sincronizados automaticamente. Os de trabalho sujeitas a HIPAA, PCI-DSS
recursos de pesquisa suportados incluem pesquisa ou RGPD.
difusa, preenchimento automático, facetas e o Replicação integrada dentro e entre
filtros, pontuação personalizada, analisadores para regiões para disponibilidade sempre
mais de 30 idiomas e muito mais. ativa, mesmo em caso de interrupções
regionais completas.
Atlas Data Lake o Clusters globais para bancos de dados
totalmente gerenciados e distribuídos
O Atlas Data Lake é um serviço de consulta sob globalmente que fornecem leituras e
demanda que permite analisar dados no gravações responsivas e de baixa
armazenamento de objetos em nuvem (Amazon latência para usuários em qualquer
S3) usando a API de consulta do MongoDB. Não lugar,
há infraestrutura para configurar ou gerenciar. Continua na próxima página »

13
Guia de Arquitetura
do MongoDB

O Atlas Data Lake paraleliza automaticamente as com fortes controles de soberania de


operações rompendo as consultas e dividindo o dados para conformidade regulatória. Os
trabalho em múltiplos nós de computação. O Atlas clusters globais permitem que você
Data Lake também pode otimizar automaticamente as implemente rapidamente a fragmentação
cargas de trabalho utilizando a computação na região por zonas utilizando uma interface do
mais próxima de seus dados. Isso é útil para a usuário visual ou a API de administrador
residência de dados, oferecendo a capacidade de Atlas. Cada zona faz parte do mesmo
especificar a região na qual seus dados devem ser cluster, portanto, podem ser consultadas
processados. globalmente, mas os dados são fixados em
fragmentos em regiões específicas com
O suporte para consultas centralizadas permite base nas políticas de localização de dados.
combinar e analisar dados no S3 e nos clusters do Atlas
o Os clusters multicloud permitem
Database, em uma única consulta. Além disso, você distribuir os dados em um único banco
pode persistir facilmente os resultados das agregações de dados lógico entre múltiplos
no armazenamento de objetos ou no banco de dados provedores de nuvem para redundância
na nuvem. Os formatos de dados suportados incluem entre nuvens, alcance geográfico ainda
JSON, BSON, CSV, TSV, Avro, ORC e Parquet. mais amplo e migrações ininterruptas
entre provedores de nuvem. Os clusters
Atlas Charts de multicloud também podem ser usados
para alavancar facilmente os melhores
Atlas Charts é um serviço de visualização de dados serviços de cada provedor de nuvem em
que oferece suporte nativo a dados JSON seus dados operacionais em tempo real
ricamente estruturados. Crie facilmente tabelas, — por exemplo, os usuários que operam
principalmente na AWS podem criar
gráficos e painéis em uma interface de arrastar e
rapidamente uma réplica no Google
soltar e compartilhe-os com outros usuários para
Cloud para aproveitar a IA/serviços de
colaboração ou incorpore-os diretamente em seus
ML mais recentes do Google.
aplicativos para criar experiências de usuário com
alto engajamento. O Atlas Charts pode ser o Backups totalmente gerenciados com
configurado para ler análises ou nós secundários, recuperação em um momento específico
para proteção contra corrupção de dados
garantindo ausência de impacto nas cargas de
e a capacidade de consultar backups no
trabalho operacionais. As fontes de dados com
local sem restaurações completas
suporte incluem uma ou mais implantações de
banco de dados Atlas, Atlas Data Lake ou uma o Monitoramento refinado, métricas em
combinação de ambos. tempo real, criador de perfil de consulta
e alertas personalizáveis para visibilidade
abrangente do desempenho.
Realm Sync
O Realm Sync fornece sincronização de dados
bidirecional entre os clusters do Atlas Database e o
Realm, um banco de dados móvel leve e de código
aberto.
Continua na próxima página »

14
Guia de Arquitetura
do MongoDB

O Realm é uma alternativa mais amigável ao o Recomendações inteligentes de


desenvolvedor para armazenamentos de dados esquema e índice com o Performance
incorporados, como SQLite ou Core Data. Essa Advisor, que analisa registros de
solução conjunta ajuda a resolver os desafios consultas lentas de suas coleções de
exclusivos de criar aplicativos offline para banco de dados e fornece sugestões
dispositivos móveis, simplificando o classificadas por impacto no
armazenamento de dados no dispositivo — desempenho de seu banco de dados.
permitindo acesso a dados, mesmo quando o Correções automatizadas e
offline — e habilitando atualizações bidirecionais atualizações com um clique para novas
quando uma conexão é estabelecida. Os SDKs do versões principais do banco de dados,
Realm oferecem aos desenvolvedores as permitindo que você aproveite os
ferramentas necessárias para acessar dados recursos mais recentes do MongoDB.
armazenados no MongoDB Atlas diretamente do o Arquivamento automático de dados
cliente e interagir com o conjunto mais amplo de antigos de seus clusters de banco de
serviços da plataforma. dados em tempo real para
armazenamento de objetos em nuvem
GraphQL totalmente gerenciado com o Online
Archive. A consulta centralizada
Gere automaticamente um esquema JSON para permite que você analise os dados do
suas coleções do MongoDB e habilite o GraphQL seu banco de dados operacional e
para seus aplicativos do MongoDB com um dados históricos no armazenamento de
simples clique. Ao consultar um único terminal objetos junto e no local com uma única
para obter exatamente os dados de que você consulta para obter insights mais
precisa, você pode criar aplicativos de alto rápidos. As consultas são roteadas
desempenho. Quando você usa o GraphQL junto automaticamente para o serviço de
dados apropriado sem ter que pensar
a outros recursos de desenvolvimento de
em movimentação de dados,
aplicativos do MongoDB — como autenticação
replicação ou ETL.
integrada e controle de acesso a dados —
também é simples proteger seu aplicativo. o Migração em tempo real para mover
um banco de dados MongoDB
autogerenciado para o serviço Atlas ou
Arquitetura orientada a para mover bancos de dados Atlas
eventos entre provedores de nuvem.
o Uma camada gratuita perpétua de
Parte dos serviços mais amplos disponíveis para os 512 MB.
usuários do Atlas, as funções permitem que você
defina e execute a lógica do lado do servidor sem O Atlas Database atende a uma ampla variedade
precisar provisionar ou gerencia-lo, facilitando a de cargas de trabalho para startups, empresas da
integração com serviços em nuvem, criação de APIs lista Fortune 500 e agências governamentais,
e muito mais. Atlas Triggers permite que você incluindo aplicativos de missão crítica que lidam
execute funções automaticamente em tempo real, com dados altamente confidenciais em setores
em resposta a alterações no banco de dados ou regulamentados.
eventos de autenticação de usuário, ou em
intervalos predefinidos.
15
Guia de Arquitetura
do MongoDB

MongoDB para aplicativos de


missão crítica em seu centro de
processamento de dados
Se você precisar executar o MongoDB em sua Com o Ops Manager, você pode automatizar a
própria infraestrutura autogerenciada para implantação, monitoramento, backup e
requisitos de negócios ou regulatórios, o escalonamento do MongoDB. Você também pode
MongoDB Enterprise Advanced é um pacote de gerenciar o ciclo de vida completo de seus bancos
software avançado, suporte, certificações e de dados MongoDB por meio de uma GUI potente
outros serviços que podem ajudar. O Enterprise ou programaticamente com APIs para permitir a
Advanced pode ser usado para alimentar um integração com suas ferramentas de
banco de dados MongoDB por trás de um único infraestrutura como código (IaC).
aplicativo ou para criar seu próprio serviço de
Os usuários do Kubernetes podem utilizar o
banco de dados privado e expô-lo às suas
MongoDB Enterprise Operator para Kubernetes,
equipes de desenvolvimento.
que se integra ao MongoDB Ops Manager para
Como parte da assinatura do MongoDB Enterprise automatizar e gerenciar clusters do MongoDB. Ele
Advanced, o MongoDB Enterprise Server é uma oferece controle total sobre sua implantação do
versão do software de banco de dados que inclui MongoDB a partir de um único plano de controle
um mecanismo de armazenamento na memória do Kubernetes. Você pode utilizar o operador com
para alto rendimento e baixa latência previsível; Kubernetes a montante ou com qualquer
opções avançadas de segurança, como controles distribuição popular, como Red Hat OpenShift ou
de acesso LDAP e Kerberos; auditoria abrangente; Pivotal Container Service (PKS).
e um mecanismo de armazenamento
O MongoDB Connector para BI permite que você
criptografado para proteger os dados em repouso.
utilize o MongoDB como uma fonte de dados
O MongoDB Ops Manager simplifica as tarefas para suas plataformas de BI e análises baseadas
de administração associadas à execução do em SQL, como Tableau, Microstrategy, Looker e
MongoDB no local ou em uma nuvem privada. muito mais. Ele está incluído no MongoDB
Enterprise Advanced e disponível em um modelo
de pagamento por utilização para clusters da
base de dados Atlas.

16
Guia de Arquitetura
do MongoDB

Execute o MongoDB
gratuitamente com nossas
ferramentas
O MongoDB Community Server é a versão gratuita Também ajuda a identificar problemas antes
e disponível no código-fonte do software de banco que se tornem emergências e agilizar as
de dados. Ele foi baixado centenas de milhões de operações. Com o Cloud Manager, você pode
vezes e inclui todas as principais funcionalidades monitorar tendências, ver características de
de banco de dados — modelo de documento carga de trabalho em tempo real, configurar
flexível, API de consulta expressiva, replicação e alertas e obter sugestões de otimização de
fragmentação — para oferecer suporte à criação desempenho.
de uma ampla variedade de aplicativos.

Conectores
MongoDB Compass
O MongoDB Connector para Apache Spark expõe
Você pode interagir facilmente com seus dados todas as bibliotecas do Spark, incluindo Scala, Java,
do MongoDB utilizando o MongoDB Compass, a Python e R. Os dados do MongoDB são
GUI do MongoDB. Por meio do Compass, você materializados como DataFrames e Datasets para
pode explorar e manipular dados, criar consultas análise com aprendizado de máquina, gráfico,
e pipelines de agregação visualmente a partir da streaming e APIs de SQL.
GUI e exportá-los como código para seu
Com o MongoDB Connector para Apache Kafka,
aplicativo, visualizar e criar índices, criar regras
você pode criar pipelines de dados robustos que
de validação de esquema e muito mais.
movem eventos entre sistemas em tempo real,
utilizando o MongoDB como fonte e coletor para
Cloud Manager Kafka. O conector é suportado pelo MongoDB e
verificado pelo Confluent.
O Cloud Manager é a plataforma de Você pode utilizar qualquer distribuição de
gerenciamento baseada em nuvem que Kubernetes para gerenciar o ciclo de vida
permite implantar, monitorar, fazer backup e completo de seus clusters do MongoDB, onde
escalonar o MongoDB. Ele permite automatizar quer que você escolha executá-los, desde a
tarefas de administração como implantação, infraestrutura local até a nuvem pública. Com as
monitoramento e alertas, escalonamento, integrações de Kubernetes do MongoDB, você
atualizações, backup e otimização de pode executar e escalonar seus clusters com
desempenho. facilidade, independentemente da topologia de
infraestrutura escolhida.

17
Guia de Arquitetura
do MongoDB

Iniciando
Todos os setores estão passando por uma Neste guia, exploramos os conceitos
transformação digital. Muitas empresas não fundamentais que sustentam a arquitetura do
conseguem realizar todo o potencial de seus MongoDB. Outros guias sobre tópicos como
investimentos porque não modernizam sua desempenho, operações e práticas recomendadas
arquitetura de dados. Conforme você cria ou de segurança podem ser encontrados em
refaz sua empresa para o mundo digital, a MongoDB.com.
velocidade, medida pela rapidez com que você
cria aplicativos, escalona-os e obtém insights Você pode começar agora com o MongoDB da
dos dados que eles geram, é importante. Essas seguinte forma:
são as chaves para aplicativos que 1. Revisar o whitepaper de orientação de
proporcionam melhores experiências ao cliente: caso de uso para identificar casos de
permitir insights mais profundos e orientados uso aplicáveis para o MongoDB.
por dados e possibilitar novos produtos ou 2. Ativar um cluster do MongoDB
modelos de negócios. O MongoDB permite que totalmente gerenciado na camada
você atenda às demandas de aplicativos gratuita do Atlas ou baixando o
modernos com uma plataforma completa de MongoDB para desenvolvimento local.
dados de aplicativos que inclui todos os serviços
3. Revisar os manuais e tutoriais do MongoDB
complementares que os desenvolvedores em nossa documentação.
precisam.

Porto Seguro
O lançamento e tempo de quaisquer recursos ou recursos descritos para os nossos produtos permanecem a
nosso exclusivo critério. Essas informações destinam-se apenas a delinear nossa direção geral do produto e
não devem ser consideradas na tomada de decisão de compra nem são um compromisso, promessa ou
obrigação legal de entregar qualquer material, código ou funcionalidade.

© 2021 MongoDB, Inc. MongoDB e o logotipo da MongoDB são marcas


registradas da MongoDB, Inc. Publicado em novembro de 2021.

18

Você também pode gostar