[ruby-it] cassandra

Paolo Montrasio paolo a paolomontrasio.com
Mer 24 Feb 2010 12:10:49 CET


Marco Dal Toe' wrote:
> Ho letto in un post che Twitter sta progettando di abbandonare mysql in
> favore di cassandra.
> Mi chiedevo se in futuro può diventare lo standard per tutte le
> applicazioni Rails...

Dall'articolo che ho letto 
http://nosql.mypopescu.com/post/407159447/cassandra-twitter-an-interview-with-ryan-king 
sembra che a twitter importi soprattutto poter scalare le write senza 
preoccuparsi che le read riportino subito quel che c'è nel db.

Ossia: l'importante è che gli status siano memorizzati e che si possano 
aggiungere N db server con facilità. Non è invece importante che gli 
status siano visibili subito, magari neppure da chi li scrive.

Questo in generale non è quello che serve nella maggior parte delle 
applicazioni, sia perché il traffico è risibile rispetto a quello di 
twitter sia perché se il cliente inserisce un ordine e non lo vede 
subito nell'elenco lo considera giustamente un bug :-)

Tuttavia sto guardando cassandra perché per un'applicazione di data 
logging potrei avere requisiti simili a quelli di twitter anche se per 
il traffico che ci sarà un db relazionale sarebbe più che sufficiente.

Ho l'impressione però che db come Cassandra siano difficilmente 
accessibili con ActiveRecord.
Ho visto http://github.com/NZKoz/cassandra_object che prova a renderlo 
compatibile con AR mentre il client usato da twitter 
http://github.com/jamesgolick/cassandra usa un'interfaccia del tutto 
diversa. Riporto l'esempio:

  client = Cassandra.new('twitter', '127.0.0.1', 9160)
  client.insert(:UserRelationships, "5", {"user_timeline" => {UUID.new 
=> "1"}})
  client.get(:UserRelationships, "5", "user_timeline")


Paolo
-- 
Posted via http://www.ruby-forum.com/.


More information about the Ml mailing list