Começando a entender as opções do mercado
A tecnologia de bancos de dados está mudando.
Houve um tempo em que tudo o que podíamos gravar num banco de dados eram caracteres simples (letras, números e os símbolos mais comuns). No início da era da computação corporativa, o objetivo principal era fazer comércio e, para isso, letras e números eram suficientes.
A tecnologia foi evoluindo e, aos poucos, os bancos de dados relacionais foram se consolidando como a tecnologia mais “segura” para fazer transações comerciais. Ainda hoje esta é a tecnologia mais usada e recomendada no mundo. (Veja, no site especializado DB-Engines, a lista dos bancos mais usados e a tecnologia que usam.)
Mas os profissionais de TI perceberam que trabalhar só com letras e números não atendia todos os tipos de aplicação. E, então, foram criadas novas tecnologias com a finalidade de tratar estes novos dados.
Algumas pessoas atribuem esta virada ao fenômeno causado pela popularização da internet. Eu tenho uma opinião diferente. Eu entendo que a razão de tudo isso foi o avanço das técnicas de armazenamento de dados.
Antigamente era muito caro armazenar dados. Mas a tecnologia avançou de forma tão rápida que antes da virada do milênio já se falavam em bancos de dados com tamanhos na casa dos terabytes. Em dado momento, armazenar dados ficou tão barato que não era mais problema gravar qualquer tipo de dado, mesmo que não se resumissem a poucos bytes, como é o caso de letras e números.
Isso abriu espaço para o armazenamento de qualquer tipo de mídia: arquivos texto, mapas, imagens, arquivos áudio, vídeo etc. De um jeito ou de outro, a internet se aproveitou dessa nova possibilidade e, então, passamos a ter acesso a todo tipo de mídia.
Este novo cenário abriu espaço para inúmeras empresas criarem novas tecnologias de bancos de dados. Desde grandes corporações em busca de soluções para seus próprios problemas, como Amazon e Google, até empresas startups, muita gente começou a investir na criação de bancos de dados especializados.
O resultado é que hoje temos dezenas de novas tecnologias, que são, de modo geral, embrulhadas num mesmo pacote, conhecido como bancos NOSQL. Este nome traz certa controvérsia, porque teoricamente seria traduzido como “não-SQL”, em referência aos bancos relacionais, que usam a famosa linguagem SQL. Mas eu também já vi a interpretação “Not Only SQL” (algo como “não apenas SQL”).
Sob o nome de NOSQL, encontramos tecnologias muito distintas, entre elas:
-
Bancos do tipo chave-valor
-
Bancos de documentos
-
Bancos de dados geográficos
-
Bancos de colunas grandes (“wide column store”)
-
Bancos de grafos, que tratam de relacionamentos complexos
-
Bancos de séries temporais
Grande parte das tecnologias NOSQL é voltada para a manipulação de grandes volumes de dados em ambientes distribuídos. E, neste aspecto, conseguem oferecer uma capacidade de processamento e uma performance dificilmente igualada por um banco relacional.
Isso não quer dizer que bancos NOSQL sejam superiores aos relacionais, mas, sim, que trabalham de forma diferente dos bancos relacionais. Por exemplo: não adianta querer usar um banco relacional para tratar de uma mídia social e esperar os mesmos resultados de um banco NOSQL. Em contrapartida, não adianta esperar que um sistema de e-commerce com banco NOSQL tenha o mesmo nível de segurança e confiabilidade dos bancos relacionais.
Bancos relacionais não são bons para lidar com tipos de dados complexos. E bancos de dados NOSQL, até onde eu conheço, não lidam com transações do tipo ACID. São soluções complementares, não concorrentes. Ponto final.
Tendo estas diferenças em mente, é interessante notar que os bancos NOSQL estão cada vez mais populares no mundo corporativo. O site DB-Engines publica, periodicamente, um ranking dos bancos de dados mais usados no mundo e, segundo ele, atualmente temos três bancos NOSQL entre os 10 bancos mais usados no mundo. Reproduzo, a seguir, os resultados divulgados pelo DB-Engines.
Ainda mais interessante é notar que há três anos (outubro/2013) este mesmo site identificava apenas um banco NOSQL entre os TOP 10. (Veja esta postagem do blog JOOQ, que mostra uma foto deste ranking naquela data). Isso demonstra como cresceu o uso destas soluções neste período!
⇒ Leia também: MySQL x SQL Server x MongoDB x PostgreSQL ? qual banco de dados escolher?
No fim das contas, o que importa, para nós de TI, é o seguinte:
-
Hoje temos tecnologias robustas para um leque muito maior de aplicações.
-
Não existe bala de prata; escolha o seu banco de dados conforme os requisitos de sua aplicação.
-
Como divulgadores de tecnologia, é nossa obrigação profissional conhecer as qualidades e limitações de cada tipo de banco de dados, assim como para quais tipos de aplicação eles são indicados.
-
Paixões pessoais por esta ou aquela tecnologia não devem interferir na sua escolha.
-
Para todos os efeitos, seu cliente não compra tecnologia; ele apenas quer resolver os problemas dele; cabe a você indicar o caminho.