sexta-feira, 20 de novembro de 2009

Bancos de dados NoSQL

Dados estão em todos os lugares, como nunca visto antes. E já foram os dias nos quais “SQL” e “banco de dados” eram compatíveis, já que os sistemas antigos não conseguem lidar com a quantidade de informações dos aplicativos Web 2.0.

Os maiores websites usam terabytes de dados com poucas semelhanças em relação às colunas e linhas com números de um departamento financeiro. As informações de tráfego são armazenados em amplos arquivos e analisados por cron jobs durante à noite.

Qualquer coisa pode se adaptar ao modelo clássico de banco de dados, mas além de precisar de muito trabalho, isso significa pagar por todos os mecanismos sofisticados de segurança e backup desenvolvidos para o setor financeiro. A não ser que seja extremamente necessário, não há motivo para gastar tanto ou sofrer quedas de desempenho.

A solução está nos bancos de dados NoSQL, que são pares de chave/valor, unidos a uma chave com uma série de atributos. Não há tabelas com colunas em branco, nem problemas em adicionar marcações ad hoc ou valores para cada item.

As propostas de hoje incluem o Projeto Voldemort, Cassandra, Dynamite, HBase, Hypertable, CouchDB e MongoDB, cada uma com uma forma diferente de acessar os dados.

Pares simples de chave/valor são apenas o começo. O Neo4J, por exemplo, oferece um banco de dados em gráfico, que usa pedidos de rotinas para uma rede. Se você quiser os nomes dos cachorros de todos os amigos de um amigo, a requisição tem apenas algumas linhas de código.

Todos esses novos projetos são os últimos a redescobrirem a velocidade que pode ser alcançada ao relaxar os requerimentos. A tendência é mais ajustes que tornam as regras flexíveis, além de melhoras na compatibilidade e facilidade de uso, resultando em uma nova era de processamento de dados.

Nenhum comentário: