Riak – Um NoSQL que me surpreendeu

Riak

Riak

   Estou trabalhando com Python e MongoDB desde 2009 e essa combinação sempre atendeu muito bem minhas expectativas e necessidades. Os projetos foram desenvolvidos com sucesso, cliente feliz e desenvolvedor mais feliz ainda.

Como sou grande fã de NoSQL, bigdata e busca de informações, resolvi dar uma espiada em outros bancos além do MongoDB. Passei pelo CouchDB e atualmente estou me divertindo com DynamoDB e Riak. Esse último me despertou um interesse muito grande e uma surpresa bastante agradável, tirando algumas noites de sono (no sentido de ficar empolgado e querer estudar mais).

O Riak é um NoSQL desenvolvido pela Basho, é inspirado no DynamoDB e está sendo utilizado em produção por empresas como Mozilla, SEOMoz e Comcast. Como a maioria dos outros NoSQL, o Riak simplifica bastante o desenvolvimento, permitindo que o desenvolvedor tenha maior controle sobre as informações.

Foi desenvolvido basicamente em Erlang e C, mas contém um pouco de JavaScript. Fornece biblioteca para a maioria das linguagens de programação (Python, PHP, Node.JS, Java, Ruby, etc) e um poderoso mecanismo de busca textual, que também permite o uso de conceitos e sintaxe do Lucene e Sorl. Esse foi um dos pontos que mais me chamou a atenção. Possui uma tolerância a falhas bastante avançada, baseada no teorema de CAP, que evita um ponto único de falhas. Inclui também uma API HTTP bastante completa, facilitando o desenvolvimento de AJAX sem ter a necessidade de passar para uma aplicação.

Trabalha com conceitos de buckets e keys para armazenar informações e  links e metadata, para referenciar (e agregar) informações. Também integra MapReduce, completando assim seus principais recursos.

Enfim, é um NoSQL muito interessante, vale cada segundo de pesquisa.

Nos próximos dias vou publicar outro post com alguns exemplos de Riak com Python e Riak com Node.JS. Se você já utilizou Riak, compartilhe aqui sua experiência! :-)

2 Respostas para Riak – Um NoSQL que me surpreendeu

  1. Suissa 13/04/2012 em 2:15 am #

    Eu sempre falei bem do Riak, sem contar que ele é distribuído.

  2. Carlo 10/05/2012 em 9:32 am #

    Riak é sem dúvida um projeto para acompanhar. Eu o conheci há três anos e foi algo do tipo “amor a primeira vista”. Iniciei um projeto grande nele e estava indo bem até surgirem alguns gargalos. O primeiro foi a dificuldade de obter contadores (COUNTS) para registros em buckets. Depois a necessidade de obter resultados limitados (LIMIT clauses) em buscas. Essas limitações me forçaram a ir para o cassandra, no qual estou tendo algum sucesso (não sem surpresas).

    A boa notícia é que existe trabalhos no sentido de resolver alguns desses problemas. Fica a dúvida se a Basho vai liberar isso na release da comunidade.

    Minha conclusão é que NoSQL para grandes projetos, esses que vieram no mundo SQL, ainda é uma tecnologia em desenvolvimento mas absolutamente necessária para quem precisa de lidar com grandes volumes de dados.

Deixe uma resposta

Contribua com Bitcoins :-) 19SNYXo1d4Wy4isCXPZr9HtV8SR2h1Ln6v