NoSQL Benchmarks NoSQL use cases NoSQL Videos NoSQL Hybrid Solutions NoSQL Presentations Big Data Hadoop MapReduce Pig Hive Flume Oozie Sqoop HDFS ZooKeeper Cascading Cascalog BigTable Cassandra HBase Hypertable Couchbase CouchDB MongoDB OrientDB RavenDB Jackrabbit Terrastore Amazon DynamoDB Redis Riak Project Voldemort Tokyo Cabinet Kyoto Cabinet memcached Amazon SimpleDB Datomic MemcacheDB M/DB GT.M Amazon Dynamo Dynomite Mnesia Yahoo! PNUTS/Sherpa Neo4j InfoGrid Sones GraphDB InfiniteGraph AllegroGraph MarkLogic Clustrix CouchDB Case Studies MongoDB Case Studies NoSQL at Adobe NoSQL at Facebook NoSQL at Twitter



Gimme Bar: Prototyping with CouchDB and MongoDB

There are a couple of contradictory points in Sean Coates’ story of migrating Gimme Bar from using CouchDB to MongoDB :

By summer 2010, we began work on adding social features […] to Gimme Bar, and CouchDB started giving us trouble. This wasn’t CouchDB’s fault, really. It was more of an architectural problem. We were trying to solve a relational problem with a database that by-design knew nothing about how to handle relationships.

Then he ended up using MongoDB, which as CouchDB knows nothing about handling relationships.

After using both, extensively (for a very specific application, admittedly), I firmly believe that MongoDB is a superior NoSQL datastore solution for PHP based, non-distributed (think Dropbox), non-mobile, web applications.

How can you assess the general superiority of a storage solution based on a “very specific application”? What does PHP have to do with that? Are MongoDB drivers superior to just using HTTP with JSON?

Finally the sane conclusion:

Do I think MongoDB is superior to CouchDB? It depends what you’re using it for. If you need truly excellent eventual-consistency replication, CouchDB might be a better choice. If you want to have your JavaScript applications talk directly to the datastore, CouchDB is definitely the way to go. Do I have a problem with CouchDB, their developers or their community? Not at all. It’s just not a good fit for the kind of app we’re building.

Bottom line, this story sounds like building a prototype while also deciding what tools to use. Nothing wrong with that. But the title(s) should be different.

Original title and link: Gimme Bar: Prototyping with CouchDB and MongoDB (NoSQL databases © myNoSQL)