[Mongo DB] Dúvidas

Bom o autor não deixou nenhum contado então vou postar algumas duvidas por aqui espero que ele passe de vez em quando por aqui.

01-) Acho que o primeiro é um ponto de vista que gostaria de ver do autor e das demais pessoas que leram o livro. Bem em um dos capítulos onde fala de relacionamento vincula na categoria os livros e nos livros todas as categorias, é bem interessante esse forma de manipulação de informação mas não aumente exponencialmente o tamanho do banco de dados ?

02-) Seguindo os exemplos, se tivesse um sistema simples, com Cliente , Pedido e NotaFiscal, posso tratar cada um como um documento. E no relacionamento teria todas as notas de um cliente dentro do mesmo ? essa é a ideia ? Ou apenas uma referencia para outra coleção ?

03-) Sobre a instalação e configuração do MongoDB o escritor comenta que não precisa de configuração e o banco entende que pode usar todo o recurso da maquina, sugerindo até usar um servidor a parte ou uma VM, mas não existe a possibilidade de ter uma configuração para desenvolvedor, ou seja uma configuração que se faça para rodar localmente na maquina sem utilizar 100% dos recursos ?

Olá Gilberto, eu sou o autor do livro, não deixei nenhum contato para as dúvidas se concentrarem aqui no fórum mesmo. :slight_smile:

No geral, gostou do livro ? Sentiu falta de alguma coisa ?

Respondendo:

  1. É uma consequência esperada que aumente o tamanho, já que o MongoDB favorece uma desnormalização das informações, mas o aumento não será exponencial não, mas ele com certeza será um pouco maior, o que é algo aceitável dado os benefícios que ele nos dá.

  2. Depende de sua aplicação. Separar tudo é um pensamento de modelo relacional (querendo aplicar as 3 formas normais) . Do ponto de vista do MongoDB você pode colocar tudo dentro de uma collection, mas talvez isso não seja interessante se o seu sistema tiver muitos pedidos e você precisar fazer várias buscas de pedidos diferentes (exemplo: últimos 2 pedidos ou pedidos de janeiro), ficando tudo em uma collection você centraliza tudo, mas perde o benefício de usar a busca com os índices (pois tudo está em único registro). Pensando em um sistema que com o tempo um cliente terá milhares de pedidos , cada um com suas notas fiscais, talvez a abordagem mais interessante seria usar 2 collections, uma de cliente e outra de pedido.

  3. O MongoDB vai usar todos os recursos se precisar apenas, mas não conheço nenhuma opção para limitar esse comportamento. Para usar na sua máquina, você perceberá alguma lentidão se fizer uma operação pesada (como criar um índice) em collections grandes, com milhares de registros.

Opa, gostei sim do livro, parabéns pela publicação!
Não senti falta de nada, achei que fez uma passagem por vários pontos importantes sobre esse banco. Minha vivencia profissional toda foi com banco de dados relacional por isso essa visão bem forte ainda nesta estrutura.

Obrigado pelas informações.

Que bom que gostou Gilberto, nós trabalhamos com bases relacionais nos projetos nos últimos 20 anos, é normal pensar da forma relacional, depois do seu primeiro projeto pensando em documento a sua forma de pensar já muda… é quase como mudar da programação estruturada para a orientada a objetos, você encontra diferentes caminhos para resolver um problema.