Appunti di Matteo


Nuovi databases, couchdb vs mongodb parte 2

CouchDb

Come da precedente scritto prosegue la mia avventura con i databases del futuro .

Ho cominciato facendo uno spike con sinatra e couchdb, qui trovate lo scenario di cucumber .
Con oltre 2 milioni di record sapevo di non poter usare nessun tipo di ricerca non indicizzata, infatti le varie librerie che ho provato (couchrest, activecouch, RelaxDB e CouchPotato) facevano andare l’engine di couchdb in timeout con qualsiasi operazione di ricerca.
Mi sono quindi addentrato nel mondo dell’indicizzazione per la ricerca fulltext con couchdb.

Ho trovato 2 candidati couchdb-lucene e xapit , mentre il primo è quasi uno standard nella ricerca con couchdb il secondo è ancora in via di sviluppo.

Come molti di voi sapranno lucene è in java, e così anche la sua versione “couch”. Non odio java, ma solo per installarlo e configurarlo ho dovuto risolvere maree di dipendenze senza contare il fatto che per estenderlo si deve usare java, e per i miei progetti personali voglio usare ruby.

Non sono giunto a nessuna svolta con couchdb, il processo di indicizzazione di lucene ha girato per 6 ore e dato che sono impaziente non ho aspettato che finisse.
Il processo che impone couchdb per estrarre dei dati (design documents, viste, mappin’n’reducing etc) non mi ha entusiasmato, le cose migliorano parzialmente con le varie librerie, ma mi è parso davvero lento con una grossa mole di dati.
Un semplice Cd.count manda in timeout il server. Tutte le cose che ho provato funzionano solo se utilizzo un piccolo subset dei dati a disposizione.

Per adesso lascio stare couchdb e passo a mongodb.

blog comments powered by Disqus
Ultimi post


Tags



Progetti su github


Curriculum

matteo parmiLa mia fantastica ed entusiasmante carriera professionale. Curriculum via googledocs, aggiornato a bassa frequenza.


fatto con: webby, blueprint css e jquery