开发者_开发问答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.
Amazon recently launched its NoSQL scalable DB, called DynamoDB: http://aws.amazon.com/dynamodb/
What about Amazon's SimpleDB?
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.
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
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.)
精彩评论