CouchDB - document oriented database

Probably everyone heard about new schema-less databases which get more and more popular. Some of them are:
* Cassandra
* CouchDB
* Hypertable
* MongoDB
* Tokyo Cabinet
* Project Voldemort

I went through one of them - CouchDB - and my impressions are very good so i would like to encourage you.

CouchDB is NOSQL document oriented database. Key document is a Real World Document which can be any Self-Contained Data ie. invoice or business card. In many common application such a model can better fit. We would like to have all these data in one place - unlike in a RDBMS splitted into many tables.

Cool CouchDB features

* RELAX - it's the main word, everything is easy and clear
* The main advantage of CouchDB is lock-free concurrency
* API - easy but powerful REST API with JSON structures - http://books.couchdb.org/relax/intro/core-api
* Futon - very nice GUI manager
* Documents may have attachments (similar to email messages)
* Design Documents - documents that design application (views, templates, show functions etc.)
* Templates - data can be returned as HTML or other output format, not only REST
* Very fast bulk upload
* Document Validation
* Raplication - manual from Futon or by API. Only changes are sent - not whole data.
* CouchDB can be installed almost on everything, on cluster or even on smartphone.

There are a few books about CouchDB - i recommend CouchDB: The Definitive Guide because it's for free! :)

There are many APIs to work with CouchDB but i like ektorp which allow you work with CouchDB in very nice OO style with CRUD methods out of the box.

Useful links:
- http://books.couchdb.org/relax/
- http://wiki.apache.org/couchdb/
- http://sitr.us/2009/06/30/database-queries-the-couchdb-way.html
- http://www.ibm.com/developerworks/opensource/library/os-couchdb/index.html
- http://planet.couchdb.org/
- http://www.cmlenz.net/archives/2007/10/couchdb-joins

Comments

Re: CouchDB - document oriented database

thanks for clearing things up. couchDB is really great when it comes to concurency!
i think i will find a place to use it. again, amazing stuff!

Any sufficiently advanced technology is indistinguishable from magic...

Recent comments