Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Mongo ou MySQL

Senhores,

Ainda não tive tempo de fazer o curso de mongo da Alura, gostaria de ter uma idéia se o mongo não pode acabar me complicando ao invés de facilitando... por exemplo:

Imagina que eu terei alunos, pais e turmas no mysql fica tranquilo relacionar estas entidades, mas no caso do mongo eu posso criar três coleções e relaciona-las (a aplicação controlando o relacionamento) ou eu teria que criar a entidade aluno e colocar dentro dela? pais, turmas, etc...

Neste momento estou abstraindo o máximo possível e tentando deixar tudo genérico e dividindo as responsabilidades, cogito usar mysql + mongo se for o caso...

vlw

4 respostas

Assim o mongo ele não tem estrutura de tabela, por que a parte de estrutura não é o banco que fica responsável e sim o backend. É dificil de explicar recomendo que você faça o curso de mongo e depois o curso Javascript MEAN Stack, no back-end se usa uma biblioteca chamada monogoose, ela fica responsável por configurar a estrutura da tabela, por falar que determinado campo é string ou numero. É a través do mongoose que a estrutura é definida.

solução!

Oi Mauricio, tudo bem? Acho que depende muito da abordagem, o interessante do mundo Mongo é poder trabalhar com documentos e isso é uma coisa completamente diferente do mundo relacional. Exige um pensamento diferente na minha opinião.

A gente tem o costume de pensar relacionalmente, é o que a gente aprende primeiro, porém não é a única saída. No curso de mongo por exemplo, é utilizado o cenário de alunos, que possuem um endereço e participam de um curso, porém você não tem várias coleções representando isso. Poderia sim ter, mas não tem, depende da abordagem.

Pegou a ideia?

Você poderia ter apenas a coleção de alunos indicando em cada documento quem são seus pais e qual é a sua turma. O relacionamento entre coleções pode existir mas deve exigir algo que não possa ser diretamente escrito dentro do próprio registro.

Se o documento que descreve a turma é muito extenso, faz sentido separar, porém, se temos apenas um nome e um ano, seria tão ruim deixar isso dentro do documento do próprio aluno? Em alguns casos não.

Saquei a ideia, fazendo o curso de mean deu uma clareada, acabei de assistir a parte do DB, entendo que eu terei coleções e relaciono elas por um ID msm, como se estivesse trabalhando com relacional sem integridade referencial, isso ja resolve o meu problema, porém entendo que terei algumas vantagens que ainda não sei que existem... Vou de mongo msm...

Eu estava lendo sobre os bancos não relacionais e fiquei interessado no Cassandra, no momento atual pelo que conheço eu teria uma tendência a escolher ele pela forma que ele lida com as replicações, reconheço que sei pouco ainda... não achei nada de Cassandra na Alura :-(

Realmente não temos nada ainda de Cassandra na Alura Mauricio, mas você sempre pode sugerir, no rodapé da plataforma tem aqui um link "sugira um curso". Sempre que achar que aqui deveria ter um curso de algo legal, recomenda lá, assim o pessoal fica sabendo...