views:

1695

answers:

6

I'm creating an application that will be hosted on amazon EC2 and a lot of the data that'll be saved is more document oriented (as well as saving tweets and such related to those documents).

Right now I'm at a crossroads... should I use simpleDB or couchDB? Whats the pros/cons of using either? Should I just try both for a month and decide then?

+11  A: 

You may find the the article Amazon SimpleDB and CouchDB Compared to be useful.

I've also found that MongoDB gives excellent performance.

Rick Copeland
+1 for MongoDB. Can't install Erlang on my server/iPhone client but a C++ library for a Document based DB is encouraging.
Jared Updike
+6  A: 

Keep in mind that if your code lives in EC2, SimpleDB will be presumably hosted in the same data center that your code is, which would give SimpleDB a lower latency than CouchDB for requests from an EC2 server. Also, Amazon doesn't charge you bandwidth costs between EC2 and SimpleDB.

I would expect SimpleDB to be both faster and cheaper for code running in EC2, for those reasons.

Joel Mueller
It depends, since CouchDB would presumably be hosted on EC2 as well it might even be faster than SimpleDB.
LucaM
I was assuming that CouchDB has its own host, as SimpleDB does. If that's not the case, then you're right - download CouchDB and host it in EC2 yourself, and the latency/charge issues go away.
Joel Mueller
+1  A: 

I would absolutely do some benchmark of the two solutions with your own use-case, if that's possible, i.e. if you can build a reasonable subset of your application to run on either databases (they have quite different APIs so this might not be easy).

LucaM
+1  A: 

If you develop in .Net environment there's an excellent lib for SimpleDB called Simple Savant which really eases the integration..

Carl Hörberg
+2  A: 

SimpleDB is hosted and maintained by Amazon for you, CouchDB is all up to you. That's the big difference.

Travis R