0

Diferenças entre banco relacional e NoSQL

#Banco de dados não relacional
Zandra Monteiro
Zandra Monteiro

No modelo relacional, cada uma das entidades do negócio está representada por uma tabela diferente e são necessárias muitas operações para criar, por exemplo, um relatório que demande informações de diversas entidades. 

A incompatibilidade de impedância é o problema que surge pelo fato de que os dados que estão armazenados em memória secundária (na forma de tabelas) estão em formatos diferentes dos dados armazenados em memória do computador, quando o programa está executando (objetos relacionados). Ou seja, o programa tem que ficar constantemente traduzindo o modelo relacional para o modelo de objetos associados. As ferramentas de ORM (Mapeamento Objeto Relacional) surgem para facilitar esse processo, ainda que com certa diminuição da performance. 


Para suportar um volume de dados e de acessos cada vez maior, é fundamental considerar a questão da infraestrutura. De modo geral, para aumentar o suporte de hardware, investir em escala horizontal pode ser mais interessante, isto é, adotar uma estrutura de cluster ou grid composta por vários computadores. Como vantagens estão o custo, a alta confiabilidade (mesmo que alguns computadores apresentem problemas, os demais continuam trabalhando), o crescimento menos limitado (o cluster pode crescer facilmente) e a virtualização. Porém, bancos de dados relacionais não foram projetados para executar bem em clusters. 


Esses dois problemas (incompatibilidade de impedância e a necessidade de se rodar muitos dados e com muitos acessos em cluster) foram fundamentais para o surgimento dos Bancos de Dados NoSQL, que possuem como características:

- Não utilização do modelo relacional

- Possuem boa execução em clusters

- Geralmente, são de código aberto

- As suas bases de dados não têm um esquema definido


Duas classes principais:

- Banco de dados orientados a agregados: agregado é um conjunto de objetos relacionados tratados como uma unidade, que estará salva como um bloco único em apenas um lugar do Banco de Dados. Ou seja, com um único acesso é possível recuperar um dado complexo (todos os dados de um agregado estão armazenados juntos e no mesmo nodo do cluster). Outra vantagem do agregado é que já possui a estrutura de objetos associados, então a incompatibilidade de impedância é minimizada. 

  - Modelo chave-valor (Ex.: Redis)

  - Modelo de documentos (Ex.: MongoDB)

  - Modelo família de colunas (Ex.: Cassandra)

 

- Banco de dados de grafos: usado para dados com relacionamentos complexos

  Ex.: Neo4j



Recomendo: https://www.youtube.com/watch?v=c6h5eR0TvfU

0
1

Comentários (3)

0
Thiago Guedes

Thiago Guedes

03/06/2021 11:31

Incrível artigo, Zandra!

Obrigado por contribuir tanto com a comunidade e nos inspirar!

💛🧡❤️

1
Paulo Junior

Paulo Junior

02/06/2021 19:38

Parabéns pelo artigo, muito bom!

1
Gabriel Santos

Gabriel Santos

02/06/2021 18:57

Belo resumo Zandra 👏👏

None

Brasil