Claudio Cherubino's blog Life of a Googler

4Dec/090

Ruby outperforms Python with Project Voldemort

If you are performing some statistical analysis on a huge amount of data (try thinking about Twitter data) then the database can become a real bottleneck and that's the reason why the interest on the NoSQL movement is quickly growing.

One of the most popular distributed key-value store that tries to overcome this problem is Project Voldemort, an open-source project based on Amazon Dynamo and sponsored by LinkedIn that uses it for some high-scalability storage problems.

Project Voldemort is written in Java and also provides the developers with C++ and Python client libraries to access the store. One thing that (strangely) was missing is the support for the Ruby language, mainly because of the lack of a stable Google Prototocol Buffers implementation for this language.

There is however a gem called ruby_protobuf, that besides being in alpha release, turned out to be reliable enough for my purpose of porting Project Voldemort Python client library to Ruby.

The library I wrote is called voldemort-ruby-client and is now released under the Apache 2.0 License on Google Code, so it is absolutely free for you to experiment with it.

While writing the library I also ported the Python test cases to Ruby and I found the latter to be 3000 times faster than the former!
Does anybody have a suggestion for the reason of this outstanding improvement?

In my machine the Ruby client performs about 2 millions PUT (or GET) requests per second against the 6 hundreds of the Python client.
Is there anybody else willing to repeat the benchmark on his machine and publish the results?

13Feb/0710

I social network

Conoscete Linkedin (www.linkedin.com)?

Si tratta di un sito nato per costituire i cosidetti social network, cioè quelle reti di contatti il cui scopo finale è quello di creare opportunità  di business, secondo il principio dei sei gradi di separazione.

Una volta che ci si è iscritti su Linkedin e si sono aggiunti i propri contatti, è possibile raggiungere le persone in contatto con questi ultimi, e così via, fino a tre gradi di separazione. E non si pensi che tre gradi siano pochi, io attualmente ho 23 relazioni di primo livello e più di 600000 (si, seicentomila) di terzo livello!

In America questo servizio ed i suoi emuli stanno spopolando, e adesso anche nel nostro Paese si iniziano a vedere le alternative. La più recente si chiama Neurona (www.neurona.it) ed ha il grosso vantaggio di essere totalmente in italiano.

Io sono iscritto sia a Linkedin che a Neurona, anche se quest'ultimo per adesso è stato abbastanza trascurato.

E voi? Pensate che i social network siano utili?
Se siete iscritti contattatemi per aggiungermi alle vostre liste, non si mai che sia la strada giusta per il successo...