No decorrer desse ano, iniciei diversos projetos utilizando MongoDB. Fiquei realmente surpreso com a facilidade em criar aplicações, com a performance e facilidade de administração oferecida por esse poderoso NoSQL. No meu caso, foi uma escolha muito feliz.

Tenho recebido contato de outros desenvolvedores que estão iniciando seus trabalhos com MongoDB, solicitando dicas e orientações específicas para evitar erros em seu uso. Abaixo algumas dicas importantes para quem está iniciando e quer assegurar o máximo de performance e segurança:

Utilize um servidor 64bits

O MongoDB funciona bem em 32bits, mas tem um limite de 2.5GB para dados armazenados. Para a maioria das pessoas, é um limite considerável e poderá não ser ultrapassado. Mas se está trabalhando em alguma aplicação grande, considere iniciar seus trabalhos já em 64bits. Atualmente está muito fácil e barato comprar máquinas ou encontrar um datacenter que ofereça (mesmo que em VPS) servidores em 64bits, assim você evita problemas e necessidade de reinstalar toda sua aplicação futuramente.

Faça replicação dos dados

Configurar um slave com MongoDB é muito simples e uma ação altamente recomendada. Se acontecer algum problema no servidor principal, a base pode ser corrompida. Embora o MongoDB ofereça várias ferramentas para correção da base, outras para fazer dump ou restore, ter uma réplica do MongoDB em outro servidor é essencial para aplicações em missão crítica e reduzir possível downtime de sua aplicação. As técnicas mais avançadas, como sharding não são complicadas para configurar e muitas vezes você não precisa mudar nada em sua aplicação.

Monitore e faça backups constantes

Isso nem precisa ser explicado, é tarefa obrigatória de quem mantém serviços em produção. O MongoDB possui ferramentas que auxiliam a monitoração do banco, uso de recursos e demais informações. Além de acompanhar sempre o uso de recursos do sistema operacional (uso de disco, memória, processamento), analise com frequência a saúde do banco de dados. E também, backups, são indispensáveis.

Segurança

Por padrão, o MongoDB aceita conexões sem necessidade de autenticação, mas isso pode ser configurado para melhorar e aumentar a segurança de acesso ao banco. Outra coisa importante é verificar se a porta 27017 (padrão) está ativa em todas as interfaces. É importante certificar que esta porta esteja fechada para o mundo e aberta somente para sua rede confiável. Utilize um firewall ou siga recomendações de segurança e autenticação do MongoDB. Os pacotes do Debian e Ubuntu oferecidos pela 10Gen já configuram a conexão para 127.0.0.1, evitando assim ouvir todas as interfaces.

Essas são algumas dicas que todo o iniciante deve considerar. Esse post foi inspirado no MongoDB gotchas for the unaware user, com algumas adaptações feitas por mim, considerando os pontos que julgo mais importantes.

Na dúvida, consulte sempre a documentação oficial e os vídeos e apresentações disponibilizadas pela 10Gen.

Confira o treinamento MongoDB presencial em Porto Alegre!