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

Como projetar um banco de dados não relacional

Gostaria de saber se existem técnicas e ferramentas específicas para isso, exemplo projetar um banco que será em mongodb, posso estar me equivocando em alguns termos, mas sou novo no assunto, e gostaria de saber se existem diferenças entre um projeto de banco relacional e não relacional.

2 respostas
solução!

Olá Thiago blz?

Existe sim diferença entre a modelagem. (Eu desconheço uma ferramenta para isso)

Modelagem para banco NoSql vai depender do modelo de banco você está usando.

Existem diversos modelos de bancos NoSQL por exemplo: Orientado a Documentos, Chave e Valor, Orientado a colunas, Orientado a Grafos e mistos (Multi Model).

Cada um deles requer uma modelagem específica e para cada um existem estratégias específicas.

Por exemplo o mongoDb é um banco que trabalha com o modelo orientado a documentos.

Um documento tem uma estrutura equivalente à um json, com isso todas as relações (que teríamos num modelo relacional) podem ser convertidas para um array dentro do documento. (Digo podem pois nada impede de ver mais de um documento e relaciona-los como fazemos num modelo relacional)

Dessa forma com uma única consulta podemos retornar todos os dados necessários para uma instancia do documento.


Já o redis é um banco que trabalha com o modelo chave e valor.

A estrutura de um banco de dados chave e valor é equivalente à um mapa/dicionário (estrutura de dados), onde temos uma associação entre uma chave e um valor.

Esse modelo de banco de dados comumente é utilizado para cache. Imagine que temos que calcular a quantidade de produtos cadastrados num banco de dados no modelo relacional.

Para isso podemos escrever uma query: select count(*) from produtos. Só que toda vez que alguém acessar a tela que exibe o total de produtos cadastrados precisamos executar essa query que calcula o total de produtos.

Se não temos muitas inserções de produtos poderíamos fazer a query uma vez e depois só consultar o valor retornado por ela (eliminando o fato de ter que calcular nas próximas vezes que alguém acessar).

Para isso podemos usar o redis para guardar essa informação da quantidade de produtos cadastrados nele.


Acho que deu para pegar a ideia.

Espero ter ajudado

[]s

Muito show cara, valeu pela resposta!!