O MongoDB percorreu um longo caminho desde sua fundação em 2007. Muitas pessoas conheceram o MongoDB em seus primeiros anos. Eles formaram opiniões sobre o banco de dados com base em impressões de 2012 a 2014. No entanto, muita coisa mudou desde então.
Nos últimos onze anos, o MongoDB fez avanços significativos. O principal deles foi o lançamento do MongoDB Atlas em 2016. Ele colocou um foco importante na melhoria das quatro áreas críticas que mais importam para empresas e desenvolvedores: segurança, durabilidade, disponibilidade e desempenho.
Segurança: protegendo dados sensíveis contra acesso não autorizado e garantindo compliance regulatório.
Durabilidade: garante que os dados permaneçam intactos e confiáveis, mesmo durante falhas do sistema ou interrupções inesperadas.
Disponibilidade: reduzindo o tempo de inatividade e mantendo a operação do sistema, não importa o que aconteça.
Desempenho: entrega de tempos de resposta rápidos e consistentes do aplicativo e dimensionamento eficiente para atender à demanda crescente.
Esses avanços conquistaram a confiança de algumas das maiores empresas do mundo, incluindo Toyota, Cisco, Wells Fargo, Bosch e Verizon.
Ainda assim, apesar desse progresso, mitos obsoletos sobre o MongoDB persistem, especialmente nestas quatro áreas fundamentais. Neste blog, abordaremos esses equívocos diretamente e esclareceremos os fatos sobre a segurança, durabilidade, disponibilidade e desempenho do MongoDB. Vamos nos aprofundar.
Mito 1: “O MongoDB não é tão seguro quanto um banco de dados relacional”

Um dos mitos mais persistentes sobre o MongoDB é que ele não é seguro, certamente não tão seguro quanto os bancos de dados relacionais tradicionais. Esse equívoco provavelmente decorre de uma série de ataques de ransomware ocorridos em meados da década de 2010. Hackers exploraram bancos de dados não protegidos que careciam de autenticação adequada e foram deixados expostos em portas TCP padrão. Embora esses incidentes tenham destacado práticas de configuração inadequadas, eles lançaram injustamente uma sombra sobre as funcionalidades de segurança contemporâneas do MongoDB.
O MongoDB oferece recursos de segurança robustos e inteligentes projetados para proteger dados confidenciais em todas as etapas de seu ciclo de vida. O MongoDB criptografa os dados tanto em trânsito quanto em repouso, assim como outros importantes bancos de dados NoSQL e relacionais. No entanto, o que diferencia o MongoDB é sua capacidade de manter os dados criptografados enquanto estão em uso. Com Queryable Encryption, uma inovação pioneira no setor exclusiva do MongoDB, os dados confidenciais podem permanecer criptografados mesmo enquanto são consultados. Isso elimina a necessidade de descriptografar os dados e reduz a exposição a ameaças.
O MongoDB também oferece suporte a autenticação e autorização flexíveis que se integram perfeitamente a muitos sistemas de gerenciamento de identidade. Recursos como controle de acesso baseado em funções e permissões granulares garantem que os usuários acessem apenas os recursos para os quais estão autorizados. Simultaneamente, a configuração intuitiva torna esses controles fáceis de implementar.
Além da criptografia e do controle de acesso, o MongoDB inclui ferramentas poderosas de auditoria para monitorar a atividade do banco de dados e recursos avançados de segurança de rede, como listas de permissão de IP e rede privada. Juntas, essas funcionalidades oferecem proteção abrangente contra acesso não autorizado e ajudam as organizações a cumprir requisitos rigorosos de compliance.
O melhor de tudo é que esses recursos avançados de segurança estão incluídos por padrão tanto no MongoDB Atlas quanto no MongoDB Enterprise Advanced sem custo. A abordagem do MongoDB simplifica o gerenciamento de segurança enquanto minimiza despesas. Isso permite que as equipes se concentrem na criação de aplicativos com a confiança de que seus dados estão protegidos.
Mito 2: “As funcionalidades multinuvem do MongoDB não o diferenciam de outros bancos de dados”

À primeira vista, a afirmação de que o MongoDB é multinuvem pode não parecer especial. Afinal, muitos bancos de dados estão disponíveis através de mais de um provedor de nuvem. No entanto, isso não deve ser confundido com todos eles serem multinuvem. A verdadeira multinuvem oferece suporte a implantações "entre nuvens", ou seja, a capacidade de implantar nós individuais de um único cluster em vários provedores de nuvem. Essa distinção é frequentemente ofuscada por aqueles fornecedores incapazes de executar seus clusters em tal configuração. O suporte para clusters multinuvem no Atlas tornou-se disponível de forma geral em outubro de 2020.
O MongoDB Atlas permite a implantação não apenas na Amazon Web Services (AWS), Microsoft Azure ou Google Cloud, mas também em todas as três nuvens simultaneamente com um único cluster. É possível configurar e definir implantações entre nuvens exclusivamente a partir do console de gerenciamento do Atlas. Nenhuma configuração adicional é necessária por meio dos provedores de nuvem individuais. Isso é mais do que apenas uma conveniência; é uma funcionalidade transformadora que elimina as fronteiras entre os provedores de nuvem. Com o MongoDB Atlas, é como se a AWS, o Azure e o Google Cloud operassem como um ambiente de nuvem unificado.
Por que isso importa?
Para começar, implantar um único cluster de banco de dados em várias nuvens remove a complexidade operacional de gerenciar a replicação e a migração de dados entre provedores. A mobilidade de dados perfeita pode ser alcançada. Mover os dados, a parte mais difícil em qualquer aplicativo, agora se torna a mais fácil.
A multinuvem também permite a criação de arquiteturas de aplicativo que aproveitam os melhores serviços de vários provedores de nuvem simultaneamente. Além disso, as implantações entre nuvens oferecem uma resiliência inigualável. Com o failover entre nuvens, no caso de uma interrupção, os dados podem ser alternados automaticamente para outro provedor de nuvem na mesma região geográfica. Garantindo, assim, um serviço ininterrupto.
Por fim, o MongoDB Atlas oferece a flexibilidade para atender às preferências regionais e de provedor de nuvem com facilidade. O Atlas abrange mais de 115 regiões suportadas em todos os três principais provedores de nuvem. Isso facilita atender às demandas dos clientes ou cumprir as regulamentações locais usando um único banco de dados.
O Atlas MongoDB nos dá a capacidade de executar nosso banco de dados em várias nuvens através do mesmo serviço. Com Atlas, temos a liberdade de cada cliente poder escolher onde se sente mais confortável para hospedar seus dados.
”Mito 3: “Eu entendo que o MongoDB foi criado para dimensionamento horizontal, mas é muito difícil dimensionar”

O dimensionamento horizontal, também conhecido como scale-out, é um ponto forte fundamental do MongoDB. Ele permite que as cargas de trabalho sejam distribuídas adicionando mais nós à medida que os dados e os aplicativos se expandem. No entanto, algumas crenças perpetuaram a ideia de que dimensionar o MongoDB é difícil e complexo. A realidade? O MongoDB torna o dimensionamento não apenas possível, mas perfeito; seja dimensionando horizontalmente ou verticalmente.
Com o MongoDB Atlas, o dimensionamento vertical, ou scale-up, é simples. Ao habilitar o dimensionamento automático, o MongoDB Atlas ajusta dinamicamente os recursos do cluster para atender às demandas de carga de trabalho. A adição de mais RAM, CPU ou capacidade de armazenamento pode ser realizada automaticamente e sob demanda. Isso garante um desempenho ideal sem intervenção ou supervisão manual contínua.
Se você precisar ir além do dimensionamento vertical, o MongoDB oferece três maneiras flexíveis de dimensionar horizontalmente:
Fragmentação com hash: os dados são distribuídos aleatoriamente entre os nós usando uma chave de fragmento com hash. Isso garante uma distribuição uniforme de dados e cargas de trabalho para evitar gargalos.
Fragmentação por intervalos: os dados são distribuídos com base em intervalos de um campo específico. Isso possibilita controle refinado sobre como os dados são divididos. Essa abordagem é especialmente útil para evitar hotspots em cargas de trabalho.
Fragmentação de zonas: os dados são distribuídos geograficamente. Isso habilita o compliance com os requisitos de residência de dados e reduz a latência ao manter os dados mais próximos dos usuários.
O que acontece se a estratégia inicial de fragmentação não sair como planejado? O MongoDB aborda esse desafio com a capacidade de refinar chaves de fragmento e refragmentar uma coleção com tempo de inatividade zero. Isso garante que as estratégias de distribuição de dados possam se adaptar à medida que as necessidades evoluem, tudo sem interromper aplicativos ou usuários.
Mito 4: “Como o MongoDB é criado para oferecer flexibilidade, ele não deve ter um bom desempenho”

Um equívoco comum sobre o MongoDB é que sua flexibilidade e versatilidade devem ocorrer às custas do desempenho. Afinal, um banco de dados tão ágil, desenvolvido para que os desenvolvedores modelem os dados da forma que desejarem, consegue realmente oferecer a velocidade e a eficiência de uma solução projetada com foco em desempenho? O MongoDB foi projetado para oferecer ambos: flexibilidade inigualável e desempenho excepcional, tudo isso mantendo os custos baixos.
O desempenho do MongoDB decorre de sua arquitetura inteligente e recursos poderosos. Queries ad hoc, indexação e agregações em tempo real facilitam o acesso e a análise rápida de dados. Qual é a velocidade das queries? Queries com chave primária ou indexadas normalmente são executadas em milissegundos. Mesmo queries complexas que não são indexadas permanecem eficientes. O desempenho geralmente depende de fatores como o tamanho da coleção e as especificações da máquina.
E quanto a cargas de trabalho como pesquisa e análise? Alguns desenvolvedores podem presumir que estas competiriam por recursos e degradariam o desempenho em tarefas operacionais. No entanto, o MongoDB resolve isso com isolamento de carga de trabalho. Este recurso garante que as cargas de trabalho operacionais e não operacionais sejam separadas. Isso habilita cada uma a ser executada com desempenho máximo sem exigir processos de extração, transformação e carga (ETL) dispendiosos e demorados.
Latência de rede? Para aplicações distribuídas globalmente, as leituras distribuídas do MongoDB permitem que os nós de réplica mais próximos sejam lidos em vez de aguardar uma resposta de nós distantes. Isso reduz a latência e garante que as aplicações permaneçam altamente responsivas.
O desempenho do MongoDB no mundo real é respaldado por casos de uso incríveis:
Amadeus processa 630 milhões de reservas por ano.
Idealo suporta 200.000 queries e 60.000 atualizações por segundo.
Temenos atinge 150.080 transações por segundo.
Isso foi antes do lançamento do MongoDB 8.0, a versão mais performática do banco de dados até agora. O MongoDB 8.0 entregou:
Leituras 36% mais rápidas
Leituras e atualizações 32% mais rápidas
Inserções em massa 56% mais rápidas
Uma melhoria impressionante de 200% para queries de séries temporais
O MongoDB Atlas não apenas resolve nossos problemas de desempenho. Ele facilita a vida dos desenvolvedores web, que podem criar e manter códigos mais simples e diretos.
”MongoDB hoje
O MongoDB evoluiu muito além dos mitos perpetuados durante seus primeiros anos. O MongoDB 8.0 oferece funcionalidades robustas em segurança, durabilidade, disponibilidade e desempenho. Ele criptografa dados confidenciais durante todo o seu ciclo de vida e habilita implantações perfeitas entre nuvens. Ele simplifica o dimensionamento horizontal e vertical, e impulsiona alguns dos aplicativos mais exigentes do mundo. Essas funcionalidades reforçam a posição do MongoDB como o banco de dados preferido para aplicativos modernos.
Leia sobre mais mitos e equívocos do MongoDB em nossas duas publicações anteriores desta série:
Não se deixe limitar por equívocos desatualizados. Experimente a inovação e o desempenho do MongoDB. Comece a usar o MongoDB Atlas gratuitamente hoje mesmo. Ou, para aprender mais sobre o MongoDB, acesse a MongoDB University e faça nosso curso de Introdução ao MongoDB gratuito.