menu EXPLORAR
history NOVIDADES

Banco de dados não relacional ou NoSQL

Hoje temos dois principais sistemas de gerenciamento de dados: bancos de dados relacionais e não relacionais . Cada um destes sistemas oferece certas vantagens, por isso conhecê-los bem é vital para utilizar o mais adequado em cada situação.

Neste artigo daremos uma introdução aos bancos de dados que utilizam o modelo não relacional. Você aprenderá o que são, quais as vantagens que oferecem e quais as diferenças em relação àqueles que utilizam o modelo relacional.

Fique e descubra!

O que são bancos de dados não relacionais?

Um banco de dados não relacional ou NoSQL é um sistema de armazenamento e gerenciamento de dados que não utiliza o modelo relacional ou a linguagem SQL para realizar consultas. Isto oferece certas vantagens, como flexibilidade, escalabilidade ou otimização de recursos.

Bancos de dados não relacionais não permitem operações de agregação como JOIN ou GROUPBY, mas são permitidas por gerenciadores SQL.

Além disso, não podemos garantir que os princípios ACID (Atomicidade, Consistência, Isolamento e Durabilidade) sejam atendidos.

Embora isso possa parecer uma desvantagem, na verdade traz muitas outras vantagens, pois melhora muito a velocidade de processamento e a escalabilidade.

Por esta razão, os sistemas de bases de dados NoSQL cresceram graças à necessidade de grandes empresas como Twitter, Facebook ou Google consultarem dados de forma rápida e escalável.

Recursos do banco de dados NoSQL

  • Banco de dados projetado para armazenar dados não estruturados, como imagens, vídeos ou documentos.
  • Bancos de dados NoSQL não usam a linguagem SQL para lidar com consultas. No entanto, em algumas ocasiões pode ser usado como funcionalidade extra.
  • Os dados normalmente são armazenados em coleções em um formato de valor-chave. Como veremos mais adiante, também existem outros tipos, como bancos de dados orientados a documentos ou orientados a gráficos.
  • Projetado para suportar grandes volumes de informações.
  • Projetado para projetos que necessitam de grande escalabilidade horizontal.

Vantagens e desvantagens do modelo não relacional

O modelo NoSQL oferece certas vantagens e desvantagens. É importante ficar atento a eles para não utilizar esse tipo de BD em projetos que não sejam necessários.

Algumas das vantagens que os sistemas de gerenciamento NoSQL oferecem são:

  • Alta escalabilidade
  • Eles oferecem grande flexibilidade
  • Permite armazenamento de dados não estruturados
  • Eles permitem uma estrutura distribuída: Apache Cassandra ou Apache HBase são exemplos de sistemas de gerenciamento de banco de dados distribuídos

Porém, nem tudo que reluz é ouro. Existem também certas desvantagens que é importante saber:

  • Não cumprem o princípio do ACID (Atomicidade, Consistência, Isolamento e Durabilidade) pelo que podem existir problemas de coerência dos dados
  • Eles não possuem uma linguagem padronizada, diferentemente dos bancos de dados relacionais que possuem SQL
  • Os dados não são armazenados em tabelas nem permitem o uso de funções de agregação
  • Não possui um sistema padronizado e a comunidade é menor que no SQL por estar no mercado há menos tempo

Tipos de bancos de dados NoSQL

Existem diferentes tipos de bancos de dados não relacionais. A seguir mostramos uma descrição dos mais utilizados no setor de tecnologia.

Orientado a documentos

Os bancos de dados orientados a objetos usam registros encontrados em documentos de texto, JSON ou XML para armazenar informações. Um banco de dados de documentos muito famoso é o MongoDB.

Permitem armazenar informações semiestruturadas ou não estruturadas, que podem ser manipuladas através das funções básicas do CRUD (Criar, Ler, Atualizar e Excluir).

Valor chave

O modo de banco de dados de valor-chave Permite-nos associar uma chave única a cada valor que queremos armazenar, o que nos permite aceder ao mesmo. É um tipo de banco de dados NoSQL amplamente utilizado em diversos projetos. Um dos bancos de dados mais conhecidos que usam o sistema chave-valor é o Redis.

Orientado a gráficos

Gráficos são objetos matemáticos compostos de nós e arestas. A matemática gráfica nos permite estudar as relações entre os nós.

As bancos de dados não relacionais orientados a gráficos Eles permitem usar essas ferramentas matemáticas para estabelecer relações entre dados que não são permitidas em bancos de dados relacionais.

Modelar informações como graus permite, por exemplo, estabelecer conexões, caminhos, fatores de influência e outras propriedades que ajudam a realizar análises muito mais profundas do que os bancos de dados NoSQL e SQL convencionais.

Diferenças entre SQL e NoSQL

Uma das principais características dos bancos de dados relacionais é que as informações são armazenadas na forma de tabelas. Além disso, relacionamentos podem ser estabelecidos entre tabelas no mesmo banco de dados usando o que é conhecido como chave primária e chave estrangeira.

Isso não acontece em bancos de dados não relacionais. Nestes, as informações são armazenadas em coleções e sua estrutura costuma ser mais simples, melhorando a flexibilidade e o desempenho do gerenciamento de dados.

Bancos de dados não relacionais não utilizam a linguagem SQL para realizar consultas. A padronização do uso de bancos de dados NoSQL ainda é necessária, pois que são bastante novos em comparação com há quanto tempo os SQLs existem.

Outra diferença notável é que os bancos de dados relacionais concentram-se em dados estruturados. Porém, os bancos de dados que utilizam o modelo não relacional estão focados em dados semiestruturados e não estruturados.

Quando usar bancos de dados não relacionais

Os bancos de dados não relacionais são projetados para projetos que exigem grande escalabilidade de dados porque podem suportar grandes volumes de dados.

Eles também são ideais para armazenar dados não estruturados ou semiestruturados.

É importante lembrar que este modelo não relacional não cumpre os princípios ACID, por isso é importante que a coerência e consistência da informação não seja um pilar fundamental do projeto.