PRIMERS: MongoDB

MongoDB, que vem da palavra “humongous”, é um banco-de-dados NoSQL open-source que armazena documentos no formato JSON. Ele é o líder no segmento de bancos NoSQL com base na quantidade de pesquisas feitas no Google e vagas postadas em sites como Indeed.com.

... e aqui, temos umas das quebras de paradigma mais fortes que essa pilha introduz!

Mongo vs. MYSQL

LAMP, que usa MYSQL, tem sido o Stack mais utilizado por vários anos até agora. O que ajudou a popularizar o MYSQL que é classificado como um banco-de-dados relacional.

Um banco-de-dados relacional armazenas não apenas os dados, mas também o relacionamento entre eles.

Bancos de Documentos

O MongoDB, por outro lado, é classificado como um banco-de-dados não relacional, ou mais especificamente como um banco-de-dados orientado a documentos. Isso significa que você define a sua estrutura de dados como quiser. Você faz a estrutura de dados corresponder a sua aplicação e então executa as queries. Você pode persistir objetos complexos facilmente em seu banco usando JSON, XML, BSON ou vários outros formatos semelhantes que forem mais adequados a sua aplicação. Podendo até armazenar PDF em alguns casos quando necessário.

O Banco-de-Dados Orientado a Documentos é um tipo de Banco NoSQL que persiste dados em um documento semi-estruturado (ao contrário das tabelas em bancos relacionais).

A modelagem de dados no MongoDB é extremamente flexível. Uma maneira de persistir dados é criando documentos separados e adicionando referências para conectar informações. Como você pode ver o documento "Dev Info" tem as informações básicas e é referenciado pelo documento "Dev Address".

Dev Info

{
  "id": "1234",
  "name": "Antonio Milesi Bastos",
  "age": "36",
  "type": "expert"
}

Dev Address Book

{
  "dev_id": "1234",
  "city": "rio",
  "state": "rj"
}

Outra maneira é incluir a informação de endereço dentro do documento "Dev Info" e agora temos apenas um documento para cada Dev, o que exige menos operações de escrita para atualizar informações sobre um Dev o que é mais performático, assumindo que o seu documento não é muito grande.

{
     "id": "1234",
     "name": "Antonio Milesi Bastos",
     "age": "36",
     "type": "expert",
     "address": {
          "city": "rio",
          "state": "rj"
     }
}

Quando você começa a persistir informações sobre vários Devs, cada um dos documentos pode ser classificado como um item da Coleção de Devs. Uma coleção é um grupo de elementos relacionados e nesse caso, todos terão os mesmos campos com diferentes valores.

Então, vamos para a última parte desse DevStack (provavelmente o meu favorito)!

results matching ""

    No results matching ""