Este website está em conformidade com a Lei Geral de Proteção de Dados (LGPD) e utiliza cookies para oferecer uma melhor experiência ao visitante.

Ao navegar em nosso site, você consente com a utilização de cookies e com nossa Política de Privacidade.

Artigo: Bancos de Dados NoSQL

  • Home
  • Blog
  • Bancos de Dados NoSQL

2013

5/jun

img Bancos de Dados NoSQLBancos de dados NoSQL desempenham um importante papel em aplicações de Big Data. Apesar desta tecnologia não ser tão recente, ela ainda é pouco difundida em termos de uso no mercado corporativo. Vamos descrever resumidamente do que se trata e como esta tecnologia se integra nas soluções de Big Data.

Para entendermos melhor o que são bancos NoSQL, vamos primeiro falar sobre os sistemas gerenciadores tradicionais de bancos de dados relacionais (RDBMS). Eles estão presentes no mundo corporativo há várias décadas e desempenham um papel tecnológico importantíssimo ao gerenciar os dados de forma consistente e segura. A utilização principal desses gerenciadores de bancos de dados está ligada aos sistemas transacionais (OLTP) e aos sistemas de suporte à decisão (OLAP) e, para tal, devem atender a requisitos associados a consistência, integridade e relacionamentos, tais como:

  • controle transacional, consistência para cada sessão, o que podemos resumir com o termo ACID (Atomicidade, Consistência, Isolamento e Durabilidade);
  • chaves estrangeiras e primárias, integridade rígida;
  • linguagem SQL, relacionamentos e joins, possibilidade de realizar a leitura de várias tabelas ao mesmo tempo;
  • consistência em todos os nós do cluster, em qualquer momento.

Existem alguns estudos, entre eles o teorema CAP (CAP Theorem), que estabelecem uma relação antagônica entre consistência e disponibilidade em sistemas distribuídos, ou seja, quanto maior for uma, menor será a outra. Pois bem, diferentemente dos bancos de dados relacionais, os bancos NoSQL privilegiam a disponibilidade em detrimento da consistência com o objetivo de facilitar a escalabilidade em um cluster distribuído de baixo custo. Fica a cargo da aplicação preocupar-se com a integridade dos dados.

Os bancos NoSQL geralmente trabalham com estruturas de dados do tipo chave-valor, nas quais o valor pode assumir o formato JSON (utilizado por diversas redes sociais), XML, BLOBs (imagens, vídeos etc) ou formatos customizados. Geralmente, esses bancos não oferecem SQL nem joins. Essa forma de trabalho possibilita que a tecnologia tenha performance e escalabilidade muitíssimo superiores para consulta e inserção de dados, trabalhando com facilidade enormes volumes, o que a torna uma ferramenta importante quando falamos de Big Data, principalmente em casos de uso Real-Time.

Muitos sites na Internet estão gerenciando os perfis dos consumidores utilizando essa tecnologia, armazenando dados cadastrais e históricos de interações com o usuário. Programas específicos podem então trabalhar esses dados, gerando recomendações personalizadas para o consumidor. Sites de busca e redes sociais também estão entre os grande usuários de bancos de dados NoSQL.

Existem diversas opções open-source e comerciais de bancos de dados NoSQL no mercado. Podemos relacionar algumas: HBase (que utiliza o armazenamento em Hadoop/HDFS), Cassandra, Aerospike, DynamoDB, MongoDB, Couchbase (muito utilizado com aplicações Mobile) e Oracle NoSQL (que possui versões Community e Enterprise).

Big Data é um assunto bastante abrangente e complexo. Estarei postando, sempre que possível, novas matérias sobre o tema. Fique a vontade para comentar meus artigos e para sugerir temas para os próximos posts.

Equipe Triscal

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Contato

Download de arquivo

* Todos os campos são obrigatórios.