Desenvolvimento

MongoDB – Banco de Dados Orientado a Documentos

Banco de dados relacionais vem sendo utilizados desde 1970, de lá pra cá aconteceram diversas mudanças no mundo da tecnologia, surgiram padrões de projeto, novas linguagens, métodos ageis, e inclusive mudanças de paradigma. A seguir apresento-lhes um novo tipo de banco de dados. Criado em 2007 o MongoDB é um jovem banco de dados que tem muito potencial a nos oferecer. Por mais que fique abismado, é meu caro, aqui não existe: “SELECT * FROM”, “CONSTRAINTS”, “JOINS”, “FUNCTIONS”, “TABLES”… pelo menos não exatamente com essas palavras.

Várias dessas funções não foram implementadas no mongo, pois a execução de cada uma requer processamento e um dos primórdios do mongo é a performance. Podemos fazer uma comparação entre os termos mais comuns conforme a tabela abaixo.

SQL / MongoDB (NoSQL)

DataBase

Database

Tables Collections
Rows Documents / Object
Fields Key Value Pair

Aqui temos algumas caracteristicas de bancos tradicionais SQLMONGO

  • SQL: é necessário definir a estrutura de dados antes de inserir, portanto todos os registros de uma tabela são homogêneos, ou seja, cada registro da tabela terá sempre os mesmos campos;
  • MONGO: aqui não definimos estrutura de collections (table em SQL), os documentos podem ter diferentes key values pair (Fields em SQL);
  • SQL: o id é utilizado incrementalmente, ou seja, o id de um novo registro será o id do registro anterior + 1;
  • MONGO: o id é gerado através de um algoritmo que utiliza 12-bytes. Mais uma vez o mongo visa a performance, imagine que seu banco recebeu dois pedidos de insert ao mesmo tempo, o que ocorre? Se estiver usando MONGO os dois são inseridos simultaneamente. Com SQL é necessário que os registros sejam salvos um após o outro;
  • MONGO:  o mongo também nos oferece o campo “_v” (o “_v” se refere a versionamento), assim é possível incrementarmos o documento caso ocorra modificações, deste modo deixamos salvo revisões no banco;
  • MONGO: os documentos são salvos em JSON, portanto a modelagem de informação se torna mais natural já que podemos utilizar os conceitos de agregação e composição;

Abaixo temos dois exemplos de estruturas de cada banco, observe que no mongo os campos destacados em vermelho não aparecem no registro anterior, ou seja, não há estrutura definida permitindo que os documentos sejam dinâmicos

 

Iai? gostou do mongo e quer saber mais? clique aqui e consulte a documentação oficial. Na próxima semana descomplicaremos o processo de instalação do mongo

Padrão

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s