Monthly Archives: November 2009

NoSQL? Not yet.

Have been doing research on NoSQL db’s. Installed CouchDB, MongoDB, Riak, etc. Here are some comparisons from all the reading I’ve done. Not everything has a reference, most are things I gleaned from various postings as well as personal experience.

The crappy chart below is exported from Google Docs.

DB Comparison

MongoDB CouchDB Riak MckoiDDB Cassandra

Url http://www.mongodb.org http://couchdb.apache.org http://riak.basho.com http://www.mckoi.com http://incubator.apache.org/cassandra

Insert Speed (Bulk Insert) Very fast(3.5M docs is 20-30min) Very Slow1500 documents/sec [1] Unknown ?

Select Speed Fast http overhead fast ?

Datasize <400G ok <2.5G ok Backend related ?

Language C Erlang Erlang Java Java

Negatives

BIGINT broken, use as string Slow/Unoptimised `Enterprise’ backend not OSS/Free. Almost no info/resources available Beta/AlphaStill in incubator status

DB repair may take hours due to copy/recopy of all data files. Must create ‘views’ to use. Views may take hours to generate on a lot of data. See thoughts below on ETS & DETS. Where are the community pages, groups, etc?

No master<->master replication not officially supported. REST Only Pretty much only a Java API

Needs a stack to run

Positives

Fast+Native Driver Automatically distributed, eventually consistant Highly distributed Low latency queries

At least 4x faster then Mysql. Support multi-master defacto. Pluggable backend

Can fall-back to REST

.

Refences

.

.

http://journal.uggedal.com

.

http://www.atypical.net/archive/2009/05/12/couchdb-090-bulk-document-post-performance

.

http://johnpwood.net/2009/06/30/couchdb-databases-and-documents/

.

http://userprimary.net/user/2007/12/16/a-quick-look-at-couchdb-performance/

.

http://groups.google.com/group/mongodb-user

.

http://groups.google.com/group/mongodb-user/browse_thread/thread/e50dc69c33c11fd4

.

http://groups.google.com/group/mongodb-user/browse_thread/thread/fe05de77d93905f4

.

http://www.reddit.com/r/programming/comments/7f7m9/why_couchdb_sucks/

.

http://blog.boxedice.com/2009/07/25/choosing-a-non-relational-database-why-we-migrated-from-mysql-to-mongodb/

.

http://community.basho.com/Basho_Riak_EnterpriseDS_Fact_Sheet.pdf

.

http://swik.net/scalability+Database

.

.

Thoughts

.

An Erlang bridge from Riak to a MongoDB would be nice and would take care of the master<->master issue.

.

I have not seen performance numbers for Riak.. and in fact.. the info I googled was mysteriously missing from Basho’s site.

.

ETS & DETS SUCK
Advertisements