Bancos de dados NoSQL: conhecendo modelos de dados

Este artigo apresenta os modelos de banco de dados NoSQL, realizando um comparativo com o modelo relacional de banco de dados, mostrando as características de cada modelo e diferenciando as linguagens utilizadas nos bancos de dados estudados.

Fique por dentro
Este artigo apresenta os modelos de banco de dados NoSQL, realizando um comparativo com o modelo relacional de banco de dados, mostrando as características de cada modelo e diferenciando as linguagens utilizadas nos bancos de dados estudados. A tecnologia NoSQL está dividida em quatro modelos principais: família de colunas, documentos, grafos e chave-valor. Para esse artigo, foram realizados testes nos principais comandos de definição e manipulação de dados em um banco de dados de cada modelo. Comandos semelhantes foram aplicados no SBGD PostgreSQL, objetivando diferenciar seus comandos dos propostos pela tecnologia NoSQL. O conhecimento aqui apresentado é útil para aqueles que tenham interesse em conhecer um pouco mais sobre a tecnologia NoSQL e seus principais modelos.
Autores: Gustavo Veloso Tomio e Simone de Almeida

A utilização em grande escala de bancos de dados relacionais nas últimas décadas mostra por si só sua importância, sendo que o mesmo garante ao utilizador a recuperação de falhas, integridade, concorrência, rapidez em consultas, segurança de acesso aos dados, entre outros benefícios. Apesar da constante evolução tecnológica, esse modelo ainda domina os projetos quando o assunto é persistência.

O modelo de banco de dados orientado a objetos tem na sua essência o objetivo de estruturar as informações em objetos. Esses só podem ser acessados por métodos específicos, os quais são impostos pela classe na qual o objeto está associado. A criação desse modelo tem sido uma tendência ao se trabalhar com dados mais complexos, por isso é bastante usado nas áreas científicas, espaciais e de telecomunicações.

Para unir a estabilidade obtida do modelo relacional e os benefícios das linguagens e dos bancos de dados orientados a objetos, deu-se a criação do banco de dados objeto-relacional. Nele foram combinadas as principais e melhores características dos dois modelos, criando praticamente uma tecnologia nova. Os benefícios desse modelo trazem um significativo aumento nas funções do sistema gerenciador, como na consistência, permitindo definições de padrões e o reuso de código.

Uma nova forma de armazenamento de dados é o modelo ,NoSQL, termo que surgiu no final dos anos 90. Entretanto, o conceito que é visto hoje foi reformulado em 2009, trazendo quatro modelos de dados: o chave-valor, documentos, famílias de colunas e grafos. Ele surgiu em meio à necessidade de se trabalhar com grandes volumes de dados semiestruturados ou desestruturados juntamente com clusters. Entre suas principais características estão o não uso do modelo relacional, sendo que seu código na maioria das vezes é aberto, não possuem esquema definido e são usados para propriedades Web.

O modelo de chave-valor é como uma tabela Hash, ele é considerado útil quando o acesso ao banco de dados se dá por meio da chave primária, a qual pode se fazer uma analogia com uma tabela comum em um gerenciador relacional. O modelo de documentos tem uma certa semelhança com o primeiro, pois ele armazena documentos na parte do valor, tem uma estrutura de dados que se assemelha a árvore, vindas de mapas, coleções e valores escalares. O terceiro modelo, famílias de colunas, permite ao usuário armazenar seus dados em chaves mapeadas para valores, sendo que estes são agrupados em diversas famílias de colunas, como um mapa. No banco de dados de grafos, os nodos são conhecidos como entidades, as arestas do grafo são os relacionamentos e, para percorrer a estrutura do grafo, é realizada uma consulta nos nodos.

A dificuldade de se utilizar dados desestruturados é um fator que leva os modelos de banco de dados relacionais a não serem recomendados quando se precisa trabalhar com um volume exorbitante de informação. Por essa razão surge a tecnologia NoSQL, pois é um modelo considerado flexível e que exige menor custo computacional, estando já otimizado para se trabalhar com processamento paralelo, de forma a atender uma maior demanda de dados existentes.

As ferramentas analisadas neste artigo possuem licença gratuita, pois essa concepção de software livre facilita o estudo e concede maior liberdade para o usuário explorar mais detalhes da aplicação. Além disso, a documentação para sua instalação e utilização é mais explorada em artigos e em fóruns, facilitando a realização de testes, no qual o objetivo principal do artigo é comparar a linguagem dos bancos de dados NoSQL selecionados com a linguagem SQL do modelo relacional.

O NoSQL é dividido em quatro modelos distintos, dessa forma, utilizou-se um banco de dados de cada um dos modelos para serem comparados com o modelo relacional. Assim, o representante do modelo de chave-valor foi o BerkeleyDB, para documentos o MongoDB, famílias de colunas o Cassandra e para modelos de grafos o Neo4J. Além disso, esses sistemas gerenciadores foram escolhidos devido ao fato deles implementarem somente um único modelo NoSQL, diferente de outras ferramentas dessa tecnologia. E para o modelo relacional foi utilizado o "

[...] continue lendo...

Artigos relacionados