CouchDB Moving Into the Cloud

DZone 's Guide to

CouchDB Moving Into the Cloud

· Database Zone ·
Free Resource
Apache CouchDB is one of the more promising technologies under the NoSQL distinction.  The project is strongly supported by commercial backers such as Cloudant, who plans to sell cloud services for CouchDB.  By making the non-relational database more scalable, Cloudant hopes it can increase CouchDB adoption.

Eric Florenzano's blog on NoSQL technologies spoke highly of Couch DB:

"It's functionality that allows for interesting and new distributed types of applications and data that I think could possibly change the way we take our applications offline. I imagine that some day every computer will come with CouchDB pre-installed and it'll be a data store that we use without even knowing that we're using it."

Test Results in CouchDB

CouchDB is a JSON object that maps keys to data with an innovative replication strategy.  It's especially helpful in offline storage because it syncs and reconciles differences between different nodes after being disconnected for a while.  However, CouchDB is different from major NoSQL solutions, such as BigTable, Cassandra, and Project Voldemort, in the area of scalability.  It's not as well suited for extremely large sites that need good sharding, replication, and high availability.  By running CouchDB in the cloud, Cloudant hopes it can fix some of its scalability weaknesses.  

CouchDB acts as a document store for raw data objects and it also offers an alternative to the common web application stack for deploying applications.  A lightweight "CouchDB app" can be built straight from CouchDB using JavaScript, HTML, and CSS code that can be injected into the data store and served right from the database as pages - no middleware or framework required.  However, CouchDB can work with modern web frameworks if necessary.  CouchDB also includes its own built-in web server.  

Cloudant's focus is on cloud-supported desktop applications through CouchDB.  The CouchDB replication strategy is especially useful for desktop apps because they sometimes need to work offline and CouchDB has excellent synchronization capabilities for when the application reconnects.  The cloud connection makes that data available wherever you go. 

Cloudant Prototype Web Interface

Cloudant's strategy involves running CouchDB on multiple servers, instead of just one.  This development in the distribution layer is what will make CouchDB cloud-ready.  Cloudant will be releasing this layer in the near future with some parts going back to the open source community and other things remaining internal to Cloudant. 

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}