Banco de Dados NoSQL: Uma Evolução Natural

Atualmente existem vários modelos de bancos de dados e muito provavelmente você vai se deparar com algum que ainda não trabalhou. Mais cedo ou mais tarde, esse banco será um NoSQL. E sabe por quê? Porque segundo estudos, 80% do conteúdo produzido em uma empresa normal é em formato não estruturado.

O NoSQL abrange uma grande variedade de diferentes tecnologias de bancos de dados que foram criados em respostas a demandas apresentadas na construção de aplicações modernas. E também devido à variedade de dados gerados – características do big data.

Bancos de dados NoSQL (Not Only SQL) foram concebidos para armazenar, distribuir e acessar dados, usando métodos que diferem de banco de dados relacionais, os RMDBS.

A tecnologia NoSQL foi originalmente criada e usada por líderes da internet, como Facebook, Google, Amazon; que necessitavam de sistemas de gerenciamento de bancos de dados, que pudessem escrever e ler dados, em qualquer lugar no mundo; e que garantisse desempenho a grandes conjuntos de dados e milhões de usuários.

“NoSQL é uma tecnologia de banco de dados projetada para suportar os requisitos de aplicações em nuvem e arquitetado para superar em escala e desempenho as limitações de bancos de dados relacionais (RDBMS)”

Os principais bancos de dados NoSQL divididos em 4 categorias

Graph based: armazenam informações sobre gráficos, redes, como conexões sociais, mapas de estradas, links de transporte. Exemplos: Neo4J; FlockDB; GraphDB; ArangoDB.

Key-value store: Cada item é armazenado como um par de valores-chave. Os armazenamentos de valores-chave são o banco de dados mais simples entre todos os bancos de dados NoSQL. Exemplos: Oracle NoSQL DB; MemcacheDB; Redis; Voldemort.

Document database: Esses bancos de dados geralmente associam cada chave a uma estrutura de dados complexa, chamada de documento. Os documentos podem conter pares de matriz-chave ou pares de valor-chave ou até documentos aninhados. Exemplos: MongoDB; CouchDB; RavenDB; Terrastore

Column based: Esses tipos de bancos de dados são otimizados para consultas em grandes conjuntos de dados e, em vez de linhas, eles armazenam colunas de dados juntas. Exemplos: HBase; Cassandra; Hypertable; Acumulo.

E por que você deve aprender a usar um banco de dados NoSQL?

Banco de dados NoSQL representa uma evolução natural de banco de dados relacionais. Eles foram criados na era do big data,onde os dados não são gerados de forma estruturada.

Bancos NoSQL fornecem uma estrutura mais flexível para armazenamento de dados, gravando os dados da forma como eles são gerados. O que convenhamos faz mais sentido.

“Teremos dados de arquivos texto, excel, dados de bancos relacionais, dados de bancos NoSQL, dados de softwares estatísticos (SPSS, SAS), dados de HTML – isso é big data. Dados de formatos variados. E o grande desafio é colocar tudo isso junto e extrair informações e insights; fazer previsões”.

E aí? Compartilha com a gente. Qual banco de dados NoSQL você trabalha ou está estudando?