[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