On 07/07/2010 12:25 PM, Joseph Turian wrote:
> I wanted to invite you to join the discussion and give your
> perspective.
The answers there are appalling for the case of Mongo and Couch - the two I
am very familiar with. (And no I don't want to join yet another site.)
MongoDB is not a single server solution, unless you do not care about data
integrity. Until 1.8 comes along you must use multiple servers that cannot
all fail at the same time (eg do not connect to the same UPS). The benefit
is that MongoDB has amazing performance compared to CouchDB - orders of
magnitude better. This also applies to disk space consumption where CouchDB
is really bad due to its on disk format. However up to a few hundred
thousand documents you won't notice any difference.(*)
The huge redeeming feature of CouchDB is that it supports any to any
replication at any time, which also gives you a nice offline mode.
Roger
(*) Some numbers to back up the claims. On my data set on an eight core
machine with raid 0 disks and a 10 million document dataset I was getting
load times of 75 minutes with CouchDB and about 4 minutes with MongoDB.
This is after I optimised things for CouchDB such as using the shortest _id
possible and inserting in sorted order for both the _id and the main key for
sorting.
The raw JSON was 2GB. Doing an initial insert resulted in CouchDB taking
23GB of disk space, which via the "optimizations" and compacting came down
to 4GB. The views (equivalent of an index) took 43GB and I don't remember
the compacted size. MongoDB took 4GB including indices.
A batch processing job that did many queries (merging a smaller data set
with a larger one) was a lot quicker with MongoDB than CouchDB. I don't
have exact timings and most of the work was outside of the database doing
horrific things with strings. It was something like 4 hours versus 8 hours.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAkw2c58ACgkQmOOfHg372QTuzACdFZgJqdtiBRS6n604oCgF4uUO
lfQAn0DZ/xS4IZC6OEDbqGFaU0QHG2Oq
=pANe
-----END PGP SIGNATURE-----