O que é MongoDB

MongoDB é um banco de dados não-relacional, baseado no conceito de NoSQL, que armazena dados em estruturas de documentos. O mongoDB não possui o conceito de chaves primárias e estrangeiras, o que impede a criação de relacionamentos.

logo_mongoDB

O MongoDB (assim como todos os bancos NoSQL) é indicado para uso em locais e/ou situações que não possuem dados estruturados. Desta forma, é altamente indicado para situações em que não temos dados estruturados. Segundo o site da DevMedia:

os dados não estruturados referem-se a dados que não podem ser organizados em linhas e colunas, como vídeos, comentários em redes sociais e e-mails, entre outros.

Portanto, estamos diante de um novo paradigma, onde precisamos mudar o modo de pensar. A maior parte dos profissionais da área de programação se acostumou (assim como eu) a pensar de modo relacional, normalizando as tabelas de dados, padronizando relacionamentos, de forma a estruturar o conhecimento da forma mais rígida possível.

Porém, este modo de pensar não deve mais ser válido (e até mesmo útil) em um mundo onde cada vez mais sensores irão disponibilizar dados coletados automaticamente, redes sociais irão produzir conteúdo diverso e produzir novas conexões não pensadas antes.

Desta forma, como pensar estruturadamente em um mundo não estruturado? Se tentarmos traduzir o mundo real (não estruturado) para um banco de dados estruturado vamos acabar com uma série de campos “NULL”, utilizados talvez uma vez em um banco com milhões ou bilhões de registros.

Como um banco relacional precisa (dependendo do SQL utilizado) analisar todos os registros do banco de dados, a performance é altamente prejudicada. Já em um banco de dados não relacional, esta varredura, imposta pela estruturação dos dados não existe, aumentando muito a performance.

Voltarei, em um futuro próximo, a falar sobre este novo paradigma que promete modificar bastante a forma de projetar aplicações, tanto online quanto offline. Confira aqui no AprendaMongoDB…