Segurança, monitoramento e monitoramento do MongoDB; Backup (Mongodump)

Índice:

Anonim

Um dos principais conceitos do MongoDB é o gerenciamento de bancos de dados. Aspectos importantes como segurança, backup, acesso a bancos de dados são conceitos importantes quando se trata de administração de banco de dados.

Neste tutorial, você aprenderá -

  • Visão geral da segurança do banco de dados
  • Procedimentos de backup - mongodump
  • Monitoramento Mongodb
  • Indexação e considerações de desempenho

Visão geral da segurança do MongoDB

O MongoDB tem a capacidade de definir mecanismos de segurança para bancos de dados. Por padrão, não se desejaria que todos tivessem acesso aberto a todos os bancos de dados no MongoDB, portanto, o requisito de ter algum tipo de mecanismo de segurança no MongoDB é importante.

A seguir estão as melhores práticas ao implementar segurança em bancos de dados

  1. Habilitar controle de acesso - Crie usuários de forma que todos os aplicativos e usuários sejam obrigados a ter algum tipo de mecanismo de autenticação ao acessar bancos de dados no MongoDB.

  2. Configure o controle de acesso baseado em funções - às vezes, pode haver um agrupamento lógico de permissões que podem ser necessárias, que podem ser distribuídas em funções. Os usuários podem então ser atribuídos a essas funções.

  3. Tente configurar o MongoDB para usar algum tipo de protocolo de criptografia, como TLS ou SSL. Esses protocolos podem ser usados ​​para criptografar o tráfego que flui entre o cliente e o ambiente de banco de dados mongo.

  4. Configure a auditoria - os administradores normalmente precisam saber quem está fazendo o quê, o que ajuda a analisar problemas posteriormente. A melhor maneira é habilitar a auditoria no MongoDB.

  5. Execute a instância do servidor MongDB com um ID de usuário separado que tenha acesso aos recursos necessários no ambiente do servidor.

Procedimentos de backup do Mongodb - mongodump

Ao trabalhar com o MongoDB, é importante sempre garantir que um procedimento de backup esteja em vigor, caso os dados no MongoDB sejam corrompidos por qualquer motivo.

Abaixo estão os mecanismos de backup disponíveis no MongoDB

  1. Backup copiando arquivos de dados subjacentes - Este é provavelmente o mecanismo mais fácil, tudo o que precisa ser feito é copiar os arquivos de dados nos quais o MongoDB reside e copiá-los para outro local que, idealmente, deveria ser outro servidor.
  2. Faça backup de um banco de dados com mongodump - A ferramenta mongodump lê dados de um banco de dados MongoDB e cria arquivos BSON de alta fidelidade. O que precisa ser levado em consideração é que se o conjunto de dados for grande em volume, então o mongodump pode consumir muitos recursos, então para mitigar este problema, o utilitário deve ser executado em um servidor secundário.
  3. MongoDB Cloud Manager Backup - O MongoDB Cloud Manager faz backup continuamente dos conjuntos de réplicas e clusters fragmentados do MongoDB lendo os dados oplog do ambiente MongoDB. O MongoDB Cloud Manager pode criar uma recuperação pontual armazenando dados de oplog para que possa criar uma restauração a qualquer momento para um determinado conjunto de réplicas ou cluster fragmentado.

Monitoramento Mongodb

O monitoramento é uma das atividades administrativas mais críticas no MongoDB. Isso ocorre porque você pode ser mais proativo monitorando o ambiente em busca de possíveis problemas que possam surgir.

Abaixo estão alguns dos exemplos para implementação de monitoramento

  1. O mongostat lhe dirá quantas vezes as operações do banco de dados, como inserir, consultar, atualizar, excluir, etc., realmente ocorrem no servidor. Isso dará uma boa ideia de quanto a carga o servidor está lidando e indicará se você precisa de recursos adicionais no servidor ou talvez de servidores adicionais para distribuir a carga.
  2. mongotop rastreia e relata a atividade atual de leitura e gravação de uma instância do MongoDB e relata essas estatísticas por coleção.
  3. O MongoDB fornece uma interface da web que expõe informações de diagnóstico e monitoramento em uma página da web simples. Pode-se navegar até o URL abaixo em seu servidor local para abrir o utilitário de administração da web http: // localhost: 28017
  4. O comando serverStatus, ou db.serverStatus () do shell, retorna uma visão geral do status do banco de dados, com detalhes sobre o uso do disco, uso da memória, conexões estabelecidas com o ambiente MongoDB, etc.

Indexação do MongoDB e considerações de desempenho

  1. Os índices são muito importantes em qualquer banco de dados e podem ser usados ​​para melhorar a eficiência das consultas de pesquisa no MongoDB. Se você está continuamente realizando pesquisas em seu documento, então é melhor adicionar índices nos campos do documento que são usados ​​nos critérios de pesquisa.
  2. Tente sempre limitar o número de resultados da consulta retornados. Suponha que você tenha 2 nomes de campo em um documento, mas deseja apenas ver 2 campos do documento. Em seguida, certifique-se de que sua consulta se destina a exibir apenas os 2 campos necessários e não todos os campos.
  3. Se você deseja visualizar determinados valores de campo, use apenas esses campos na consulta. Não consulte todos os campos da coleção se eles não forem obrigatórios.

Resumo:

  • É muito importante implementar segurança em bancos de dados para garantir que os dados no banco de dados sejam mantidos seguros.
  • Os usuários podem ser criados no banco de dados com o comando createUser. Funções específicas podem ser atribuídas aos usuários para dar a eles permissões específicas no próprio banco de dados.
  • Administradores podem ser adicionados para todos os bancos de dados, apenas para bancos de dados específicos. Isso é obtido atribuindo a função userAdmin ou userAdminAnyDatabase.
  • Sempre faça backup de seu ambiente MongoDB para que, em caso de algum desastre, os dados sejam facilmente recuperáveis.
  • Sempre monitore seu ambiente MongoDB para ser mais proativo e veja os problemas antes que eles ocorram.