2.7 - Boas Práticas e Desempenho do MongoDB

2.7 - Boas Práticas e Desempenho do MongoDB

Mais do que armazenar informações, o seu banco de dados é responsável por processá-las com rapidez, portanto é importante que ele conte com espaço de armazenamento e capacidade de processamento.

Desempenho

Com os seus documentos semelhantes a JSON, o MongoDB é notável pelo dimensionamento horizontal e balanceamento de carga, que oferece aos desenvolvedores ferramenta de alto desempenho e um excelente equilíbrio de personalização e escalabilidade.

Problemas de desempenho podem indicar que o banco de dados não está funcionando tão bem quanto poderia e que otimizações específicas devem ser adotadas.

Para manter o bom desempenho, deve-se tomar nota dos seguintes tópicos: 

  1. Padrões de consulta e criação de perfil

      2 . Modelagem e indexação de dados

      3. Incorporação e referência

      4. Memória de dimensionamento

      5. Replicação e fragmentação

      6 . Transações e preocupações de leitura/gravação

      7. Configuração de hardware e SO

      8. Avaliação comparativa

Características fundamentais do MongoDB:
  1. Alto desempenho - As consultas ad hoc, indexação e agregação em tempo real fornecem maneiras poderosas de acessar dados. Ele é um banco de dados distribuído por padrão, que permite escalabilidade horizontal expansiva sem nenhuma alteração na lógica do aplicativo.
  2. Tempo de consulta Bem rápido. As consultas de chave primária ou índice devem levar apenas alguns milissegundos. As consultas sem índices dependem do tamanho da coleção e das especificações da máquina, etc.
  3. Espaço memória RAM - O banco precisa de RAM suficiente para manter seu conjunto de trabalho na memória. Sua resposta exata depende do tamanho dos dados e das cargas de trabalho. Você pode usar o MongoDB Atlas para dimensionamento automático.
  4. Dados ilimitados - é recomendado para grandes conjuntos de dados. O MongoDB Atlas pode lidar com consultas federadas em armazenamento de objetos (por exemplo, Amazon S3) e armazenamento de documentos.

5 Principais práticas para obter desempenho no MongoDB

1- Examinar padrões de consulta e criação de perfil - o desenvolvedor deve conhecer os padrões de consulta esperados e reais,  para projetar seu modelo de dados e selecionar os índices apropriados de acordo com a necessidade.

Para melhorar o desempenho, segue abaixo seus principais padrões de consulta:

*Armazenar os resultados de subconsultas frequentes em documentos para reduzir a carga de leitura
*Certificar-se de que você tenha índices em todos os campos que você consulta regularmente
*Examinando seus logs para identificar consultas lentas e, em seguida, verificar seus índices

2- Analise a modelagem e a indexação de dados - ao projetar seu modelo de dados, você deve decidir como modelar relacionamentos entre dados. Decidir quando incorporar um documento ou criar uma referência entre documentos separados em coleções diferentes, essa é uma consideração específica do aplicativo.

Usando o MongoDB, você também pode modelar:
- estruturas planas, tabulares e colunares, 
- pares de valores-chave simples,
-  dados geoespaciais
dados de séries temporais
- nós e arestas de estruturas de dados de grafos conectados, etc.

Tente incorporar e fazer referência - a incorporação permite evitar junções de aplicativos, o que minimiza consultas e atualizações.

Os dados com uma relação 1:1 devem ser incorporados em um único documento. No entanto, nem todos os relacionamentos 1:1 e 1:muitos são bons candidatos para incorporação em um único documento. É aí que entra a referência entre documentos em diferentes coleções.

A referência faz muito mais sentido ao modelar muitos: muitos relacionamentos. No entanto, sempre que fizer referência, seu aplicativo deverá emitir consultas de acompanhamento para solucionar eventuais referências. Isso, por sua vez, requer mais idas e voltas ao servidor.

Você deve considerar a referência quando:
  • Um documento é acessado com frequência, mas contém dados raramente usados. A incorporação só aumentaria os requisitos de memória, portanto, a referência pode fazer mais sentido.
  • Uma parte de um documento é atualizada com frequência e continua ficando mais longa, enquanto o restante do documento é relativamente estático.
  • O tamanho do documento excede o limite de documentos de 16 MB do MongoDB. Isso pode ocorrer ao modelar relacionamentos muitos:1, como revisões de produtos:produto, por exemplo. 
Determine o uso de memória - Como na maioria dos bancos de dados, o MongoDB funciona melhor quando o conjunto de trabalho de um aplicativo (por exemplo, índices e dados acessados com frequência) cabe na memória sem problemas. Enquanto outros fatores desempenham um papel no desempenho, o tamanho da RAM é obviamente a consideração mais importante para o dimensionamento da instância.

Quando o conjunto de trabalho de um aplicativo cabe na RAM, a atividade de leitura do disco deve ser baixa. Mas se o seu conjunto de trabalho exceder a RAM do tamanho da instância ou do servidor, a atividade de leitura começará a disparar. Se você perceber que isso está acontecendo, poderá resolver o problema movendo para uma instância maior com mais memória.

Monitorar replicação e fragmentação -  A replicação pode levar a um melhor desempenho e também oferece redundância, o que proporciona mais segurança.

A replicação é realizada por meio de conjuntos de réplicas que permitem aos desenvolvedores copiar dados de um servidor ou nó primário em vários secundários. Isso permite que seu aplicativo execute algumas consultas em secundários em vez do primário, evitando contenção e levando a um balanceamento de carga aprimorado.


Para mais informações, clique aqui.

Guia de práticas MongoDB, clique aqui



    • Related Articles

    • 5.1 - Boas Práticas e Desempenho Elasticsearch

      Elasticsearch é um software open source, que provê uma interface RESTful de pesquisa e análise de dados capaz de solucionar um número crescente de casos de uso. Ele suporta um grande volume de dados sem perder performance, pode ser implementado em ...
    • 2 - MongoDB - Introdução

      Banco de dados de documentos - Visão Geral Um registro no MongoDB é um documento, que é uma estrutura de dados composta de pares de campo e valor. Os documentos do banco são semelhantes aos objetos JSON. Os valores dos campos podem incluir outros ...
    • 2.3 - Instalar MongoDB Compass

      Compass MongoDB O MongoDB Compass é uma GUI poderosa para consultar, agregar e analisar seus dados do MongoDB em um ambiente visual. O Compass é gratuito para uso e fonte disponível e pode ser executado no macOS, Windows e Linux. Características ...
    • KPIs - Indicadores de Desempenho

      Os relatórios gerados pelo “PlantSuite Alarmes” foram elaborados para atender as exigências das normas EEMUA 191 e ANSI IAS-18.2-2009 e tem como principais funções:       • Incrementar a segurança do processo;       • Auxiliar na identificação de ...
    • 2.8 - Firewall - MongoDB

      Visão Geral Em sistemas Windows Server, o nestsh programa fornece métodos para gerenciar o Firewall do Windows.  Essas regras de firewall permitem que os administradores controlem quais hosts podem se conectar ao sistema e limitam a exposição ao ...