[lead2]Uso de novas ferramentas e conceitos relacionados ao armazenamento de dados. Neste artigo é apresentado o noSQL, um movimento que engloba diversas ferramentas de armazenamento de dados não relacionais.

Ferramentas noSQL fornecem meios mais eficientes de armazenamento de grandes volumes de dados e/ou mecanismos de pesquisa de baixa latência, fatores importantes que precisam ser considerados durante a escolha de uma solução de armazenamento de dados.

Bancos de dados relacionais nem sempre são a melhor opção em cenários onde é necessário armazenar estruturas dinâmicas, tratar grandes volumes de dados ou lidar com estruturas não convencionais como grafos. Em contrapartida, as tecnologias noSQL oferecem diversas maneiras de tratar estes pontos, inclusive, de forma a trabalhar em conjunto com bancos de dados relacionais.

[/lead2]

noSQL é um movimento que promove soluções de armazenamento de dados não relacionais. Ele é composto por diversas ferramentas que, de forma particular e específica, resolvem problemas como tratamento de grandes volumes de dados, execução de consultas com baixa latência e modelos flexíveis de armazenamento de dados, como documentos XML ou JSON.

As tecnologias noSQL não têm como objetivo substituir os bancos de dados relacionais, mas apenas propor algumas soluções que em determinados cenários são mais adequadas. Desta forma, é possível trabalhar com tecnologias noSQL e banco de dados relacionais dentro de uma mesma aplicação.

O termo noSQL é bastante abrangente, pois envolve diversas ferramentas, tecnologias, estruturas de dados e arquiteturas. Esta nova buzzword representa muito mais um movimento, ou uma nova escola de pensamento, do que alguma tecnologia em particular.

Escrever sobre este tema não é uma tarefa simples, pois além desta abrangência, é necessário lidar com dois pontos antagônicos: de um lado a desconfiança e o ceticismo sobre algo novo, do outro a excitação gerada por uma nova tecnologia.

Esta é a primeira parte de uma série de três artigos sobre noSQL, que irão apresentar, de forma consciente, clara e objetiva, o que de fato é noSQL. Neste artigo, será apresentado o conteúdo teórico, abordando os temas: história, modelos de dados alternativos ao relacional e arquitetura. Esta parte teórica é de extrema importância para compreensão do movimento como um todo, e fundamental para entender e nortear as escolhas das ferramentas classificadas como noSQL.

Um pouco de história

Antes de falar sobre noSQL, vamos entender um pouco da história dos sistemas de gerenciamento de dados desde seu surgimento até o aparecimento deste movimento chamado noSQL. Esta visão histórica é importante porque, como escreveu o filósofo George Santayana, “aqueles que não podem lembrar o passado, estão condenados a repeti-lo”.

Nos últimos 30 anos temos vivido a “ditadura” do modelo relacional, porém, é importante lembrar que os primeiros sistemas de gerenciamento de bancos de dados (ou SGBDs) não eram baseados em estruturas relacionais, e sim hierárquicas (IMS-DB, final dos anos 1960) ou baseados em grafo (CODASYL – anos 1970). O modelo relacional só seria apresentado por “Ted” Codd no início dos anos 1970 e realmente adotado apenas no final dos anos 1980.

Entretanto, após o modelo relacional ter se estabelecido, e sido largamente adotado, poucas iniciativas tentaram propor um modelo alternativo, e as poucas alternativas que surgiram não tiveram muito sucesso (como os bancos de dados orientados a objeto ou bancos xml).

Um ponto interessante e comum a cada nova proposta de modelos alternativos (isso desde o início, lá nos anos 1960) é a tentativa de invalidar e substituir por completo o modelo dominante, isso até agora...

O movimento noSQL

O movimento noSQL teve sua origem em junho de 2009, para nomear um encontro promovido por Johan Oskarsson e Eric Evans, que teve como objetivo discutir o crescente surgimento de soluções open source de armazenamento de dados distribuídos não relacionais. Em outubro do mesmo ano, foi realizada a conferência “no:sql(east)”, que redefiniu o uso do termo noSQL para descrever soluções de armazenamento de dados não relacionais.

Podemos considerar noSQL como uma nova onda de SGBDs, pois propõe algumas alternativas ao modelo relacional, porém com uma grande diferença histórica: o movimento noSQL não tem como objetivo invalidar ou promover a total substituição do modelo relacional, e sim o fim do modelo relacional como bala de prata, como a única solução correta ou válida. Inclusive, é importante entender que noSQL não significa “no SQL” (não ao SQL), mas sim “not only SQL” (não só SQL).

Com isso, temos, pela primeira vez na história, uma nova onda surgindo sem o objetivo de substituir por completo o modelo atual (relacional).

Nota: Ao que tudo indica o termo noSQL foi criado em 1998 por Carlo Strozzi para nomear seu projeto open source, que tinha como objetivo ser uma implementação mais leve de um banco de dados relacional, porém sua principal característica era não expor a interface SQL.

Portanto é bem irônico usar o termo noSQL, criado para nomear um banco de dados relacional, para classificar soluções de armazenamento de dados não relacionais.

...
Quer ler esse conteúdo completo? Seja um assinante e descubra as vantagens.
  • 473 Cursos
  • 10K Artigos
  • 100 DevCasts
  • 30 Projetos
  • 80 Guias
Tenha acesso completo