Menu Docs

Página inicial do DocsIniciar e gerenciar o MongoDBMongoDB Atlas

Notas de produção

Nesta página

  • Visão geral
  • Roles e responsabilidades
  • Gerenciamento de clusters
  • O Nível da Organização
  • O nível do Projeto
  • Convenções de Nomenclatura de Cluster
  • Clusters de Região Única e Multirregional
  • Informação sensível
  • Gerenciamento de Aplicativos
  • Clusters de Escala
  • Multi-locação
  • Descarregar e consultar dados arquivados
  • ETL com Data Lake e Federação de Query
  • Auditar Utilizadores de Banco de Dados Temporários
  • Crie uma função personalizada para auditoria.
  • Habilitar a auditoria do banco de dados.
  • Crie um usuário temporário.
  • Adicione uma entrada de lista de acesso IP temporária.
  • Baixe os registros.
  • Integrações opcionais de monitoramento e registro
  • Gerenciar volume de dados do cluster
  • Suporte

Com a plataforma de dados do MongoDB Atlas, você pode focar menos em tarefas operacionais e fluxos de trabalho rotineiras necessárias para criar e manter a infraestrutura de banco de dados, e mais em ajudar os engenheiros a agregar valor à empresa. Em vez de fazer a manutenção de hardware e acompanhar os patches de software no nível do sistema operacional, os engenheiros podem dedicar seu tempo e energia ao desenvolvimento de modelos de dados que atendam aos requisitos atuais e futuros da organização.

Este documento descreve algumas melhores práticas para estabelecer e manter uma implantação de produção bem-sucedida do MongoDB usando clusters MongoDB Atlas.

Dica

Veja também:

O MongoDB gerencia e opera a infraestrutura necessária para fornecer um Serviço de Banco de Dados MongoDB ao cliente. As responsabilidades do MongoDB incluem o seguinte:

  • Gerencie os clusters de banco de dados e a infraestrutura subjacente, garantindo a disponibilidade, a estabilidade e o desempenho do MongoDB, com o suporte de um 99.995% Contrato de Nível de Serviço (SLA) de tempo de atividade para clusters de tamanho M10 ou maior.

  • Garanta a integridade dos nós de computação subjacentes. Certifique-se de que eles estejam em execução, tenham conectividade de rede e tenham todos os patches recomendados no nível do sistema operacional para manter o SLA de Tempo de Atividade.

  • Gerencie a configuração do banco de dados MongoDB com base nas escolhas de design específicas do consumidor feitas por meio da interface do Atlas user ou da API REST.

  • Aplique todas as atualizações de manutenção do MongoDB automaticamente para garantir que as correções de erros mais recentes do produto estejam em uso.

  • Gerencie o perfil de segurança, incluindo o Controle de acesso baseado em roles, adicionando endereços IP a uma lista de acesso IP e emparelhando para maximizar a segurança do cluster de acordo com a orientação do consumidor.

  • Fornece serviços de backup e restauração.

O cliente continua desenvolvendo e implementando aplicativos que acessam o MongoDB, sem precisar gerenciar diretamente os recursos e/ou a infraestrutura do banco de dados subjacente.

Importante

O Atlas não suporta mover clusters de um projeto para outro. Em vez disso, execute uma migração live.

O MongoDB Atlas abstrai operações de banco de dados para que você possa focar em decisões de gerenciamento de altíssimo valor e nível. Você pode gerenciar o acesso aos seus Atlas clusters com o Atlas User Roles. Você pode aplicar estas permissões somente no nível da organização ou nível do projeto. Então, você deve planejar cuidadosamente a hierarquia de suas organizações e projetos.

Dica

Se você precisar criar mais do que o limite de organização do Atlas de 250 projetos, crie mais organizações para armazená-los. Para saber mais, consulte Organização do Atlas e Limites do Projeto.

Para criar uma hierarquia bem projetada de organizações e projetos dentro do Atlas, divida seus clusters em projetos que fazem sentido para seus casos de uso. Isso permite a máxima eficiência empresarial com o mínimo de conflito operacional.

Dica

Use o Faturamento entre Organizações para vincular várias organizações do Atlas e receber uma única fatura para todas elas. Para saber mais, consulte Casos de Uso de Faturamento Entre Organizações.

No nível da Organização, você pode implementar controles de segurança e criar usuários que trabalham em um ou mais Projetos. A cobrança do Atlas ocorre no nível da Organização.

Para controlar com eficiência o acesso e os privilégios dos usuários, é possível agrupá-los em equipes no nível da organização.

Os projetos oferecem um isolamento de segurança e um limite de autorização, portanto, normalmente são alocados pela equipe de aplicativos e pelo ambiente de aplicativos. Por exemplo, dentro de duas equipes de aplicativos pode haver seis projetos: um para cada equipe nos ambientes de Desenvolvimento, Preparação e Produção.

É possível criar usuários e funções Atlas em nível de projeto com acesso adequado aos diferentes ambientes de aplicativos de produção e desenvolvimento.

  • Os usuários com a função Project Read Only podem acessar o monitoramento em nível de projeto e os metadados de integridade do sistema sem ter acesso a quaisquer dados de coleta ou operações administrativas.

  • Os usuários com a função Project Cluster Manager podem escalar clusters e realizar outras operações administrativas, mas não têm acesso no nível dos dados.

Importante

Recursos indisponíveis em Instâncias sem Servidor

As instâncias sem servidor não são compatíveis com a maioria das seguintes responsabilidades. Para saber mais, consulte Limitações de Instância sem Servidor.

Outras responsabilidades no nível do projeto incluem:

Importante

Escolher a convenção de nomenclatura correta para seus clusters do Atlas é uma boa primeira etapa para executar um ambiente de produção bem-sucedido. Depois de nomear um cluster, não é possível renomeá-lo, portanto, é importante fazer isso corretamente na primeira vez. As sugestões a seguir podem tornar mais fácil analisar registros e diferenciar clusters.

  • Use nomes descritivos em minúsculas.

  • Evite caracteres especiais.

  • Junte palavras com hifens ou sublinhados. Evite espaços em branco entre as palavras.

  • Use uma convenção para saber se um cluster é para fins de produção, preparação ou desenvolvimento.

  • Não inclua informações confidenciais nos nomes de seus clusters.

Alguns exemplos de bons nomes de cluster:

  • prod-aws-website

  • staging-gcp-internal

  • dev-azure-analytics

Alta disponibilidade e durabilidade do cluster dependem da configuração de implantação geográfica do cluster. Os clusters distribuídos em uma única região estão espalhados pelas zonas de disponibilidade dessa região, para que possam suportar interrupções parciais na região sem interromper a disponibilidade de leitura ou gravação.

Opcionalmente, você pode optar por espalhar seus clusters em duas ou mais regiões para maior resiliência e isolamento do volume de trabalho.

A ordem das regiões determina a ordem de prioridade para o local do nó primário. Portanto, se você deseja direcionar as operações de gravação do banco de dados para uma região específica quando essa região estiver disponível, liste essa região primeiro. A segunda região da lista deve ser a segunda opção para onde as gravações devem ir se a primeira região estiver indisponível.

O exemplo a seguir, da UI do Atlas Criar um Cluster, mostra um cluster multirregional com nós elegíveis em três regiões diferentes, organizados por prioridade, da mais alta para a mais baixa:

Captura de tela dos nós elegíveis em três regiões
clique para ampliar

Se a região us-east-1 ficar indisponível, uma nova primary será eleita na região us-west-1.

Observação

Os clusters devem ter um número ímpar de nós para garantir a elegebilidade do primary. Para saber mais, consulte Eleições de Conjunto de Réplicas.

A implantação de um cluster em duas regiões garante que uma cópia dos dados sempre será mantida em mais de uma região. No entanto, uma perda da região que contém a maioria dos nós no cluster deixará a segunda região em um estado somente de leitura até que um administrador intervenha ou a região original fique disponível.

A implementação de um cluster em três ou mais regiões garante que o cluster possa resistir a uma interrupção total em nível de região, mantendo a disponibilidade de leitura e gravação, desde que a camada de aplicativos seja tolerante a falhas.

Se a manutenção das operações de gravação em sua região preferida for sempre uma prioridade alta, recomenda-se implantar o cluster de modo que pelo menos dois membros elegíveis estejam em pelo menos dois data centers em sua região preferida.

Para obter o melhor desempenho do banco de dados em uma implantação mundial, os usuários podem configurar um cluster global que usa fragmentação com reconhecimento de localização para minimizar a latência de leitura e escrita. Usuários com requisitos de armazenamento geográfico também podem garantir que os dados sejam armazenados em uma área geográfica específica.

Não forneça informações confidenciais, como informações de identificação pessoal (PII) ou Informações de Saúde Protegidas (PHI), para os seguintes itens:

As responsabilidades em nível de aplicativo incluem:

  • Projeto de esquema, incluindo otimização de query e índices.

  • Seleção de camada do cluster e topologia. A escolha do tamanho e da topologia adequados do cluster(conjunto de réplicas ou cluster fragmentado), juntamente com a capacidade de armazenamento e o IOPS, é crucial para o desempenho ideal do banco de dados.

  • Provisionamento de clusters não produtivos. Os backups de produção podem ser restaurados em clusters que não são de produção com a UI do Atlas ou a API.

  • Planejamento de capacidade. Determinar quando é necessária capacidade computacional adicional, normalmente usando a telemetria de monitoramento fornecida pelo Atlas. Capacidade adicional pode ser adicionada sem tempo de inatividade do aplicativo, e você pode, opcionalmente, habilitar o auto-scaling para responder automaticamente aos picos de uso.

  • Decidir quando implementar uma atualização de versão do banco de dados principal.

  • Implementação e teste de um plano de backup e restauração.

  • Garantir que os aplicativos lidem normalmente com failover de cluster por meio de testes.

  • Configuração de serviços de análise de dados com ferramentas como BI Connector e Charts.

O MongoDB Atlas oferece dois métodos para dimensionamento, vertical e horizontal.

O escalonamento vertical envolve o aumento da capacidade de armazenamento, da capacidade de computação e/ou da taxa de IOPS de um cluster. O dimensionamento vertical pode ser realizado rapidamente e é útil em períodos de pico de uso. A escalabilidade vertical a partir de clusters compartilhados (M2 e M5) exige alguns minutos de inatividade, enquanto a escalabilidade entre clusters dedicados (M10 e superiores) ocorre sem tempo de inatividade.

Ao escalar verticalmente, clusters M30 e superiores são recomendados para ambientes de produção. Você pode usar as seguintes camadas de cluster como ambientes de produção para aplicativos de baixo tráfego, mas estas camadas são recomendadas para ambientes de desenvolvimento:

  • M2 e clusters compartilhados M5

  • M10 e clusters dedicados M20

O dimensionamento horizontal envolve a implementação de fragmentação ou a adição de fragmentos em um cluster fragmentado existente. O dimensionamento horizontal requer planejamento e execução cuidadosos e faz parte de uma estratégia de crescimento de longo prazo para clusters de M30+ . Você também pode reduzir o número de fragmentos em um cluster fragmentado.

Importante

Quando você remove um fragmento, o Atlas utiliza o comando movePrimary para mover quaisquer bancos de dados não compartilhados neste fragmento para um fragmento restante.

Todas as coleções fragmentadas permanecem online e disponíveis durante o processo de remoção de fragmentos. No entanto, as operações de leitura e escrita para coleções não fragmentadas durante a movePrimary operação pode resultar em comportamento inesperado, incluindo falha de migração ou perda de dados.

Recomendamos mover o fragmento primário para quaisquer bancos de dados que contenham coleções não compartilhadas antes de remover o fragmento.

Para obter mais informações, consulte Remover fragmentos de um cluster compartilhado existente.

A fragmentação vertical e horizontal pode ser combinada no Atlas. Por exemplo, um cluster fragmentado pode ser escalado verticalmente por um período de pico, aumentando a capacidade de armazenamento e o poder de computação dos nós individuais do cluster fragmentado.

Por padrão, o Atlas dimensiona verticalmente o armazenamento em cluster automaticamente até o limite de tamanho da camada do cluster configurado.

Você pode configurar o Atlas para escalar automaticamente a camada do cluster e a capacidade de armazenamento do cluster em resposta ao aumento do uso do cluster, permitindo uma resposta rápida e automatizada à necessidade de maior capacidade de computação de armazenamento.

Você pode implementar a multilocação com o Atlas para que uma única instância de um aplicativo atenda a vários locatários. Suas decisões iniciais de design para uma arquitetura multilocatária podem ter efeitos não intencionais ao longo do tempo, à medida que os requisitos evoluem ou as expectativas de escalabilidade mudam. Para saber mais, consulte Criar uma arquitetura multilocatária.

Como parte do ciclo de vida dos dados, se você precisar mover dados frios para um nível de armazenamento diferente, poderá configurar uma regra do Atlas Online Archive para mover os dados com base em uma data ou em critérios personalizados. Depois que o Atlas arquivar seus dados acessados com pouca frequência, você terá uma visão unificada dos dados do Atlas e do Online Archive por meio de uma instância do banco de dados federado somente para leitura.

Você pode usar o Atlas Data Lake para tirar snapshots consistentes dos dados do cluster e extraí-los em um armazenamento totalmente gerenciado otimizado para consultas analíticas. Esses conjuntos de dados fornecem uma imagem estática do cluster ao longo do tempo no armazenamento de objetos de alto desempenho que são adequados para executar agregações complexas com pouco custo.

Você pode utilizar a Atlas Data Federation para consultar dados no local em uma infraestrutura diversificada ou mover dados entre vários sistemas. Você pode usar o aggregation pipeline em dados de várias fontes para extrair insights de seus dados ou transformá-los para outros fins. Por exemplo, você pode utilizar $out para S3 e $out para Atlas para mover dados entre níveis de armazenamento. Você também pode utilizar $out para S3 para transformar facilmente dados do seu Atlas cluster em JSON, BSON, CSV, TSV, Avro, Parquet e ORC, bem como aterrissá-lo na AWS S3 para alimentar sistemas downstream que precisam de acesso.

Habilitar a auditoria para todos os usuários de banco de dados, incluindo usuários do serviço de aplicativo, pode afetar gravemente o desempenho do cluster. Se você precisar auditar as ações de um usuário de banco de dados temporário, poderá criar uma função personalizada direcionada para auditoria, criar um usuário temporário com privilégios elevados e conceder a esse usuário a função personalizada para auditar suas ações.

Para auditar as ações de um utilizador de banco de dados temporário:

1

Crie uma função personalizada direcionada para auditoria.

2

Para auditar operações CRUD para o role que você criou, habilite a auditoria de banco de dados."

3

Para auditar suas ações, crie um usuário temporário.

Atribua ao usuário a função personalizada que você criou para auditoria. Ao criar o usuário, selecione a opção Save as temporary user e, em seguida, selecione o período de tempo que deseja que o usuário exista. Decorrido esse período, o Atlas exclui o usuário.

4

Adicione uma entrada temporária da lista de acesso IP para limitar o acesso do usuário temporário aos clusters do Atlas.

Ao criar a entrada da lista de acesso IP para o usuário temporário, selecione a opção Save as temporary access list e, em seguida, selecione o período de tempo que deseja que a entrada da lista de acesso exista. Quando esse período termina, o Atlas exclui a entrada da lista de acesso.

5

Para auditar as ações do usuário do banco de dados temporário, baixe os registros.

Você pode configurar integrações de monitoramento baseadas em push para o Atlas com DataDog. Você também pode extrair dados de monitoramento com a API de Administração do Atlas.

Você pode configurar integrações de registro baseadas em pull com o jSonar, que pode enviar por push para outros serviços, como Splunk e SumoLogic. Você também pode extrair dados de registro a cada 5 minutos com a API de Administração do Atlas.

O Atlas oferece as seguintes ferramentas integradas para ajudá-lo a gerenciar o volume de dados do cluster:

Além dessas ferramentas, consulte o guia de dimensionamento de cluster para saber como ajustar o tamanho do cluster para cima ou para baixo. Você também pode pausar um cluster para economizar custos desligá-lo temporariamente enquanto preserva os dados por até 30 dias.

Diferentes níveis de suporte estão disponíveis, incluindo opções para consumidores em desenvolvimento e empresariais.

Possíveis áreas de suporte incluem:

  • Problemas e preocupações com os clusters MongoDB sob gerenciamento.

  • Consultas relacionadas ao desempenho.

  • Consulta do lado do aplicativo e do driver .

← Obter ajuda com o Atlas