Competition generally drives innovation -- that's how capitalism works. But up until now, despite its overall worthiness, MongoDB had no credible competition from other document databases. That changed on Wednesday with the general availability of Couchbase 2.0, which adds document database capability to the leading key-value pair database.

Couchbase was sort of a fork of CouchDB, the Apache project founded by Damien Katz. He discovered what took me much longer to discover with my own project: Apache is a tough place to develop software and nearly an impossible place to develop commercially viable software.

[ Also on InfoWorld: The time for NoSQL standards is now | Keep up with the latest developer news with InfoWorld's Developer World newsletter. ]

Created as a more scalable, production-ready solution than CouchDB, Couchbase was both a step forward and a step backward. Key-value stores are great for certain types of problems, especially those that require low latency. As it turned out, the market for key-value databases is much smaller than the market for the almighty document database in which Katz & Co. had their roots.

Couchbase has landed great clients -- LinkedIn, Orbitz, and Cisco, to name a few -- which have provided some important case studies. At a NoSQL conference, you expect to see typical early adopters like social gaming companies, but blue-chip tech companies made their presence known at the CouchConf in San Francisco. For example, there's Orbitz, which has the kind of traffic and occasional data challenges that most people only talk about. Stephen Young of Orbitz gave an impressive talk with compelling statistics about the performance of Couchbase and Orbitz's overall experience.

Couchbase, as a document database, should expect to see even more uptake. This will happen because Couchbase intelligently handles so many issues common to distributed databases.

Compared to MongoDB, Couchbase handles concurrency better, and while actual high-end usage will tell, it architecturally looks like a more scalable model. Couchbase takes the concurrency of memcached and combines it with a storage engine inspired by Apache CouchDB, but rewritten in C. MapReduce functions in JavaScript are testable in a nice GUI admin panel. The cluster manager handles automatic rebalancing, sharding, and cross-data center replication, so scalability is a snap. Data sharding uses hash values, solving the issue Foursquare had back in 2010.