Implantar um Banco de Dados MongoDB
O MongoDB é um programa de banco de dados orientado a documentos. O MongoDB é classificado como um programa de banco de dados NoSQL e usa documentos semelhantes ao JSON com esquema.
Arquitetura
Esta arquitetura de referência implanta três nós MongoDB e um MongoDB Ops Manager no Oracle Cloud Infrastructure.
O diagrama a seguir ilustra essa arquitetura de referência.

Descrição da ilustração mongodb-oci.png
A arquitetura tem os seguintes componentes:
- Região
Uma região do Oracle Cloud Infrastructure é uma área geográfica localizada que contém um ou mais data centers, chamados domínios de disponibilidade. As regiões são independentes de outras regiões e grandes distâncias podem separá-las (entre países ou mesmo continentes).
- Rede virtual na nuvem (VCN) e sub-rede
Um VCN é uma rede personalizável definida por software que você configura em uma região do Oracle Cloud Infrastructure. Como as redes tradicionais de data center, as VCNs oferecem controle total sobre seu ambiente de rede. Um VCN pode ter vários blocos CIDR não sobrepostos que você pode alterar depois de criar o VCN. Você pode segmentar uma VCN em sub-redes, que podem ter escopo para uma região ou para um domínio de disponibilidade. Cada sub-rede consiste em uma faixa contígua de endereços que não se sobrepõem às outras sub-redes na VCN. Você pode alterar o tamanho de uma sub-rede após a criação. Uma sub-rede pode ser pública ou privada.
- Gateway de roteamento dinâmico (DRG)
A DRG é um roteador virtual que fornece um caminho para o tráfego de rede privada entre uma VCN e uma rede fora da região, como uma VCN em outra região Oracle Cloud Infrastructure, uma rede local ou uma rede em outro provedor de nuvem.
- Tabela de roteamento
As tabelas de roteamento virtuais contêm regras para rotear o tráfego de sub-redes para destinos fora de uma VCN, geralmente por meio de gateways.
- Lista de segurança
Para cada sub-rede, você pode criar regras de segurança que especifiquem a origem, o destino e o tipo de tráfego que deve ser permitido dentro e fora da sub-rede.
- Gateway de Internet
O gateway de internet permite o tráfego entre as sub-redes públicas em uma VCN e a internet pública.
- Domínio de disponibilidade
Os domínios de disponibilidade são data centers independentes e independentes em uma região. Os recursos físicos em cada domínio de disponibilidade são isolados dos recursos nos outros domínios de disponibilidade, o que fornece tolerância a falhas. Os domínios de disponibilidade não compartilham infraestrutura, como energia ou resfriamento, ou a rede de domínio de disponibilidade interna. Portanto, é improvável que uma falha em um domínio de disponibilidade afete os outros domínios de disponibilidade da região.
- Domínio de falha
Um domínio de falha é um agrupamento de hardware e infraestrutura dentro de um domínio de disponibilidade. Cada domínio de disponibilidade tem três domínios de falha com energia e hardware independentes. Quando você distribui recursos entre vários domínios de falha, seus aplicativos podem tolerar falhas físicas do servidor, manutenção do sistema e falhas de energia dentro de um domínio de falha.
- Gerenciador de Ops
O Ops Manager gerencia a implantação do MongoDB. Ele fornece recursos que permitem otimizar clusters e reduzir riscos operacionais.
- Nó MongoDB
Estes são os nós do serviço Compute que executam o MongoDB.
- Volume em blocos
Com volumes de armazenamento em blocos, você pode criar, anexar, conectar e mover volumes de armazenamento e alterar o desempenho do volume para atender aos requisitos de armazenamento, desempenho e aplicativo. Depois de anexar e conectar um volume a uma instância, você pode usar o volume como um disco rígido regular. Você também pode desconectar um volume e anexá-lo a outra instância sem perder dados.
Você pode usar a mesma arquitetura em uma região com vários domínios de disponibilidade.
Recomendações
Seus requisitos podem ser diferentes da arquitetura descrita aqui. Use as recomendações a seguir como ponto de partida.
- Formato do Compute, Ops Manager
Use uma forma VM.Standard2.24 ou superior (pelo menos duas placas de interface de rede virtual ou VNICs) para obter um throughput mais alto. Essa configuração fornece CPU e memória suficientes para hospedar eficientemente o Ops Manager.
- Formato de computação, nó MongoDB
Use uma forma VM.DenseIO2.24, que fornece armazenamento anexado localmente para operações de E/S mais altas por segundo (IOPS) e até 24.6 Gbps de largura de banda de rede. Use a configuração RAID (RAID 10) para melhor proteção de dados em discos conectados localmente.
- Volume em blocos
Além do armazenamento conectado localmente, use pelo menos três volumes em blocos (32 TB) usando o recurso de vários anexos. Esta adição fornece mais armazenamento.
- VCN
Ao criar uma VCN, determine o número de blocos CIDR necessários e o tamanho de cada bloco com base no número de recursos que você planeja anexar a sub-redes na VCN. Use blocos CIDR que estejam dentro do espaço de endereço IP privado padrão.
Selecione blocos CIDR que não se sobreponham a nenhuma outra rede (no Oracle Cloud Infrastructure, seu data center local ou outro provedor de nuvem) para a qual você pretenda configurar conexões privadas.
Ao projetar as sub-redes, considere o fluxo de tráfego e os requisitos de segurança. Anexe todos os recursos em uma camada ou função específica à mesma sub-rede, que pode servir como um limite de segurança.
Após criar um VCN, você pode alterar, adicionar e remover seus blocos CIDR.
Use sub-redes regionais para sua implantação, independentemente do número de domínios de disponibilidade.
- Listas de segurança
Use listas de segurança para definir regras de entrada e saída que se aplicam a toda a sub-rede.
Por exemplo, essa arquitetura permite ICMP internamente para toda a sub-rede privada.
- Grupos de segurança de rede (NSGs)
Você pode usar NSGs para definir um conjunto de regras de entrada e saída que se aplicam a VNICs específicas. Recomendamos o uso de NSGs em vez de listas de segurança, porque os NSGs permitem separar a arquitetura de sub-rede da VCN dos requisitos de segurança da sua aplicação.
- Zonas de Segurança
Para recursos que exigem segurança máxima, a Oracle recomenda que você use zonas de segurança. Uma zona de segurança é um compartimento associado a uma receita definida pela Oracle de políticas de segurança baseadas nas melhores práticas. Por exemplo, os recursos em uma zona de segurança não devem ser acessíveis pela internet pública e devem ser criptografados usando chaves gerenciadas pelo cliente. Quando você cria e atualiza recursos em uma zona de segurança, o Oracle Cloud Infrastructure valida as operações em relação às políticas na receita da zona de segurança e nega operações que violem qualquer uma das políticas.
Considerações
- Desempenho
Para obter o melhor desempenho, escolha a forma correta do Compute com largura de banda apropriada.
- Disponibilidade
Considere usar uma opção de alta disponibilidade com base em seus requisitos de implantação e região. As opções incluem o uso de vários domínios de disponibilidade em uma região e domínios de falha.
- Custo
Uma instância do DenseIO fornece maior desempenho nas operações de E/S por um custo mais alto. Avalie seus requisitos para escolher a forma de Computação apropriada.
- Monitorização e alertas
Configure o monitoramento e alertas sobre o uso da CPU e da memória para seus nós, para que você possa ampliar ou reduzir a forma conforme necessário.