views:

162

answers:

4

There are a lot of discussion on this but I still don't have clear idea what is the best solution.

I am currently considering MongoDB. Do you think it's good?

What about Cassandra?

Besides, ThruDB looks good but seems there is no official release.

+2  A: 

What about Amazon's SimpleDB?

webdestroya
A: 

The author of ThruDB is using Cassandra now. (See e.g. his Cassandra backend for Lucene, http://github.com/tjake/Lucandra).

Vs MongoDB, mongo is easier to pick up (very close to "schemaless mysql"), but doesn't scale. Cassandra scales but the data model is harder for most people.

Some getting started points at http://wiki.apache.org/cassandra/ArticlesAndPresentations

jbellis
MongoDB dont' scale? It seems that they say that it can be scaled. Any more details on that?
First, their sharding support is still incomplete, so if they say it's ready for production that sounds like a case of the marketing department getting a little ahead of themselves.Second, even when it's complete their architecture fails several tests of good distributed system design, e.g., the list Ryan King gives here: http://nosql.mypopescu.com/post/407159447/cassandra-twitter-an-interview-with-ryan-king
jbellis
Uh, we don't have a "marketing department", and it looks to me like Mongo fulfills all of the not-very-stringent criteria listed in the Ryan King interview. Which tests in particular were you thinking of?
kristina
Single points of failure is, of course, the elephant in the corner. Most of the rest (e.g. ops overhead) falls out from that. And no, failover doesn't make that not a problem; see: any of the google app engine outages.
jbellis
Actually, MongoDB's sharding was specifically designed not to have any single points of failure. You can specify w as high as you'd like.
kristina
+1  A: 

Full disclosure: I'm a core developer for MongoDB. (Also, I'll full-disclose for jbellis: he is a core developer for Cassandra.)

I prefer Mongo to the other databases out there because it's not only the easiest one to use, but it also has tons of features (geospatial indexing, easy file storage, secondary indexes, on and on) and is incredibly fast.

Horizontal scaling is ~1 month from production-ready, but people are already using it successfully. I just saw a talk at MongoSF where a developer set up a cluster of 25 EC2 instances handling 8 million operation per second!

The MongoDB mailing list is very active and helpful if you have any questions.

kristina
A: 

I have attempted to use Mongo DB for a couple of days. The initial experience is great but eventually I got performance issue too.

Mongo DB performance drops when you have too many records. What I mean too many is more than 10 millions records. (I guess generally you won't have so many records.)

I haven't try the replication feature of Mongo DB. I am currently using Amazon EC2 and I am still struggling the cost in launching more servers. (Especially Mongo requires me to use the 64 bit platform, to overcome the 2GB limits.)