CouchDB targets the cloud
effective immediately, we have moved to our dedicated servers in http://www.brizoma.com/
Please update your bookmarks, since we will not update this site anymore.
See you in BRIZOMA.COM
SQL-based relational database management systems (RDBMS) are beginning to be challenged by a new movement of NoSQL databases. Among those NoSQL databases is the open source CouchDB. This is an alternative to the relational datastores used by RDBMS vendors; they are trying to move to cloud-based deployment options to appeal more users.
CouchDB is an open source project run by the Apache Software Foundation; they have some commercial backing from startup Cloudant, who will provide cloud services for CouchDB. With the additional cloud deployment options, Cloudant is aiming to help accelerate CouchDB adoption and make the database even more scalable.
CouchDB presents a new architecture for databases, different from a SQL-based RDBMS. In a relational database, you take your data, split it up and map those data objects into a set of rows and columns. What CouchDB does is to encapsulate all of the data into a single entity, which they call the “document”. It is somehow artificial to map data objects into a table. It’s more organic to keep those as data objects.
CouchDB includes its own built-in Web server, although it can work with modern Web frameworks, giving users another option of how to deploy it.
The cloud is a key element for CouchDB, since people are looking to increase their data volumes and leverage the elastic compute capabilities of the cloud. Cloud computing is often used to serve Web-based applications, but it can also be enhanced, e.g. via CloudDB, to support desktop applications as well.
Today’s desktop apps try to replicate the data in the cloud to make sure it’s available anywhere you go, and a key feature of CouchDB is its bidirectional replication, through which “Ground Computing” can be set up. That is, you have your desktop app and you can be on- or offline, and then when you link up to the network, it automatically replicates the data to the cloud -e.g. to a backup CouchDB server- and then that becomes available wherever you go.
A good example of CouchDB implementation is Ubuntu One. Officially introduced in release 9.10, Ubuntu One allows users to sync their data to the Ubuntu cloud, getting 2 GB of free storage (more space as a paid alternative). There they can automatically synchronize Tomboy data, Evolution contacts, and one special “magic” directory that get synced on the fly upon any changes in any machine that is included in the sync list.
Cloudant’s specific efforts with CouchDB are being focused on the distribution layer, that is taking CouchDB from a single-server solution and distributing it across multiple servers, thus making it cloud-ready. Please note that Cloudant’s development is NOT open sourced yet. Comparing it to Canonical’s Ubuntu One, we see a tendency to keep the server side of the cloud as proprietary code.
If you are interested in NoSQL DBs, use this Wikipedia entry as a starting point.