Next Generation Data Storage with CouchDB

Jan Lehnardt

14:00 Thursday, 8 May 2008
Data and databases Goldsmiths 1
Most digital data we deal with in the real world is not inherently relational in nature, yet most web applications use a SQL RDBMS for data persistence. CouchDB is fundamentally a different type of database, storing data as independent ‘Document’ objects. They can be easily replicated to other instances of CouchDB for distributed and offline editing and querying, and also for high availability and load balancing reasons.

Efficient querying of large amounts of JSON documents is realized with map-reduce based ‘Views’. Views allow aggregating and reporting as well as defining sub-sets of documents by using simple JavaScript, the results of which are also JSON objects that combined and collated into views. This eliminates the friction of converting application data to fixed schemas and allows data to be stored in a more natural state for programmatic access.

Traditional database systems get pushed to their limits by modern web applications. The practices applied to gain speed and availability work often against the intended designs and uses of traditional database systems. Common techniques like denormalization, partitioning and replication are central to CouchDB. Further, CouchDB is implemented in Erlang/OTP, a language and platform that is targeted at highly concurrent and fault tolerant systems.

This presentation explains the mindset behind the Open Source database CouchDB. It explains scenarios where CouchDB’s features provide elegant solutions to problems where traditional database systems struggle, and vice-versa. Even without knowing much about data storage, you will gain some insight about what is possible today.

Jan Lehnardt

Jan Lehnardt is an Open Source software consultant spcialized on internet technologies. He has years of experience with building small- and big-scale database backed applications. He has a keen eye for user experience and typography. He co-founded Freisatz, a company bringing typographic bliss to everyone and he contributes to several Open Source projects.

Web site