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
-
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.
-
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.
-
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.
-
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.
-
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
- 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.
- 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.
- 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
- 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.
- 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.
- 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
- 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
- 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.
- 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.
- 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.