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

MongoDB Vs BD Relacional Desnormalizado!

Assistindo as aulas entendi que a desnormalização sugerida na utilização do Mongo flexibiliza grandemente a criação de coleções generalistas como foi citado no exemplo do Produto dos marketplaces.

Vamos supor que eu não conheça MongoDB e que eu esteja criando o meu próprio marketplace. Trabalhar com um banco relacional desnormalizado me traria muitas desvantagens em relação ao MongoDB?

3 respostas
solução!

Oi Danilo, tudo bem? Não sou nenhum especialista na area, mas vou deixar minha contribuição. Espero que ajude.

Nesta comparação eu consigo ver dois pequenos problemas.

1 - Espaço em disco, uma serie de campos desnormalizados por mais que resolva seu problema, cresce mais em questão de armazenamento em disco por que o mesmo trabalha com alocação prévia de recursos, que podem ser utilizados ou não, há melhorias nestas areas, mas ainda é um fato. Esta alocação desnecessária não causa problemas de inserção, mas pode ter impacto nas leituras, visto que, como você não tem sempre certeza de quais campos então com valor ou não, você sempre estará lendo tudo.

2 - preso a schema, o banco de dados relacional é baseado em schemas que prendem o formato e os campos da tabela, qualquer alteração precisa ser feita manualmente e que pode trazer uma série de redundancias justamente por causa da desnormalização.

Vale avaliar. Bancos não relacionais que demonstram essa dinamicidade de guardar documentos de acordo com suas definições têm vantagens que podem não ser o que você precise - em alguns cenários essa dinamicidade pode ser um problema em vez de solução.

Wanderson, você realmente acha que espaço em disco hoje em dia pode ser avaliado como um problema? Entenda, eu até concordo que existe toda uma questão do uso eficiente dos recursos computacionais, e que isto inclui o uso do disco. Mas quando levamos em consideração todo o custo de manutenção ligado ao uso de um banco de dados relacional (e aqui eu incluo desde o custo do desenvolvimento, como o custo da evolução do schema e de todo o trabalho envolvido na hora de inserir e recuperar os dados) será que o espaço em disco não se torna um custo irrisório em uma época em que isto custa tão barato para manter?

A questão sempre depende Daniel, é bem verdade que o curso disso vá caindo cada vez mais, porém, quando me refiro a espaço em disco, não me refiro somente a capacidade do disco, existem outros fatores, querendo ou não, a fragmentação por exemplo, pode ser um problema latente dependendo da escala do uso.

É preciso fazer um balanço, tudo tem um malefício ou benefício.

Querendo ou não, eu não apontei a questão de disco como um problema, mas sim como uma diferença entre as formas. Isso impacta sim na forma de como as coisas funcionam, é por essas e outras que um administrador consegue diferir qual solução é melhor para o cenário em mãos.

Posso ter falado besteira, mas foi a minha impressão.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software