fbpx
MongoDB – Importantes features pouco comentadas
Publicado em: domingo, 26 de nov de 2017

O que é o MongoDB? um banco de dados NoSQL baseado em documentos e disparado um dos mais usados no mundo! Essa resposta está certa, embora incompleta. Há uma infinidade de recursos legais que deveriam ser levados em consideração na hora de explicar o projeto/produto.

Nesse post, que tentarei fazê-lo bem curto, vou apontar diversos links para a documentação do MongoDB. Sim, isso é um RTFM!!!

Read The Fucking Manual
Read The Fucking Manual

MongoDB é:

  • Um banco NoSQL
  • Baseado em Documentos
  • Altamente escalável e performático
  • Oferece 2 modelos de consulta extremamente eficientes
  • Possui Scripts ou Procedures
  • E oferece um modelo especial de collections chamado GridFS

Onde quero chegar com esses dados:

Você já ouviu falar em Firebase? Se sim, então te convido a conhecer o projeto RESTHeart ele transforma o MongoDB em algo bem parecido com o que o firebase já foi. Hoje o firebase cresceu muito, mas no passado já foi simplesmente um backend para apps. O RestHeart não entragará a parte de analytics do Firebase, mas é open source, tem imagem docker e é extremamente interessante para PoC’s, ou mesmo aplicações de produção. Sua configuração é simples e te dá muita liberdade.

Se você está preocupado com escalabilidade e distribuição de carga, você deve conhecer Replicaset e Sharding, esses são os elementos que juntos farão o MongoDB escalar. Replicaset é a parte que envolve maior custo, mas sharding keys é o que mais irá lhe tomar tempo, essa é a decisão mais complexa.

Você está pensando em armazenar arquivos? MongoDB também tem uma feature super interessante chamada GridFS (Grid File System). O GridFS oferece um tipo especial de collection destinado ao trabalho com arquivos, na prática ele usa 2 coleções. É bom ler a documentação oficial (o link está acima) para compreender suas recomendações. Você precisa conhecer essa feature para compreender o trade-off na hora de escolher uma solução para armazenar arquivos e já entrego o spoiler: Não cabe bem para tudo, há implicações negativas quando estamos falando de grandes arquivos.

Não vou aprofundar mais, era só isso que eu queria apresentar: Features não comentadas, que são muito úteis e salvam seu projeto. 

Então, você conhecia essas features, sabia de sua existência? Comenta aí! Quero saber se foi útil ou se essas features podem te ajudar, de repente eu crio alguma coisa que detalhe esses elementos, caso haja demanda.

O Cloud Native .NET é meu principal projeto.

Onde empenho energia para ajudar, acompanhar, direcionar Desenvolvedores, Líderes Técnicos e jovens Arquitetos na jornada Cloud Native.

Conduzo entregando a maior e mais completa stack de tecnologias do mercado.

Ao trabalhar com desenvolvedores experientes, eu consigo usar seu aprendizado com .NET, banco de dados, e arquitetura para encurtar a jornada.

Ao restringir à desenvolvedores .NET eu consigo usar do contexto de tecnologias e problemas do seu dia-a-dia, coisas que você conhece hoje, como WCF, WebForms, IIS e MVC, por exemplo, para mostrar a comparação entre o que você conhece e o que está sendo apresentado.

É assim que construímos fundamentos sólidos, digerindo a complexidade com didática, tornando o complexo, simples.

É assim que conseguimos tornar uma jornada densa, em um pacote de ~4 meses.

Eu não acredito que um desenvolvedor possa entender uma tecnologia sem compreender seus fundamentos. Ele no máximo consegue ser produtivo, mas isso não faz desse desenvolvedor um bom tomador de decisões técnicas.

É preciso entender os fundamentos para conseguir tomar boas decisões.

0 comentários

Enviar um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Luiz Carlos Faria

Mensagem do Autor

Espero que goste desse post. Não deixe de comentar e falar o que achou.

Se acha que esse post pode ajudar alguém que você conheça, compartilhe!

 

Lives

Fique de olho nas lives

Fique de olho nas lives no meu canal do Youtube, no Canal .NET e nos Grupos do Facebook e Instagram.

Aceleradores

Existem diversas formas de viabilizar o suporte ao teu projeto. Seja com os treinamentos, consultoria, mentorias em grupo.