Subscribe to our Erlang Factory newsletter to receive the latest updates and news


an image Target Audience: Web Developer, Software Architect, Database Administrator or a current user of CouchDB who needs formal training.
Prerequisites: You should have a basic understanding of web technologies (HTTP, HTML, JavaScript, Server-Side Scripting, databases) and an open mind for a new way of thinking about data.
This is a three-day tutorial split into morning and afternoon sessions. Each block ends with exercises that are reviewed in the beginning of the following block.
Goal: Learn CouchDB — all of it.
Duration: Three days.
Registration: 08:30 on 27th April 2009 at the Sheraton Palo Alto.

This three day course takes you from a gentle introduction into new ways of dealing with your data, over building a new kind of peer-to-peer applications using web technologies to deployment and high-performance strategies and internals.
Your teachers are J Chris Anderson and Jan Lehnardt, both CouchDB core developers and full-time CouchDB consultants. Learn everything directly from the source and be sure, the things you learn are field-tested.

Course Contents:

Day One - am

Introduction to CouchDB. We'll tell you what all the fuzz is about and why you should care. We'll then explore the REST API in various ways to give you a solid understanding of the basics and the abstractions built on top where we'll have a closer look at Python, Ruby and PHP client libraries side by side (so nobody gets bored).

Day One - pm

We take what we learned in the morning and set out to build a standalone application with CouchDB using only HTML & JavaScript. This type of application is an application in its own right, but it also teaches the foundations of data modelling in a document oriented database. What you learn here can be equally applied to traditional three-tier applications using your web-stack of choice.

Day Two - am

Advanced CouchDB with views and replication. CouchDB comes with a map-reduce-powered data-extraction and query facility. You learned first about view when building the CouchApp. Here we dive deep into getting the most out of your data and being really clever with views.

The second part introduces CouchDB's excellent replication system and how it can be used to build fault-tolerant and high-performance database clusters (“make your own cloud”) to massively distributed peer-to-peer systems alike.

Day Two - pm

We look at CouchDB deployment. You'll learn how to set up CouchDB for the different situations it can be used for. We show best practices and field-tested tools that go well with CouchDB.

Day Three - am

CouchDB internals. You fancy CouchDB but you really need to know what's going on. We'll dive right into the Erlang code and show you how CouchDB is built. If you need to write a custom extension or want to contribute to the open source project, this session will provide you with enough information to start.

Day Three - pm

Open session. We'll revisit what we have learned so far and work with the attendees to resolve individual issues in the group. Ideally, you can finish your CouchApp from day one and share it with the others. This session also acts as a buffer, if we can't fit all the material into one of the earlier slots.``


Jan Lehnardt


Jan Lehnardt is CouchDB's chief evangelist and a director of CouchDB Ltd. where he consults for major industry players. Jan's has spoken about CouchDB at conferences such as O'Reilly's OSCON and QCon, as well as groups like the BBC's web development team.

Chris Anderson

image Chris Anderson is an Apache CouchDB committer and co-author of the forthcoming O'Reilly book "CouchDB: The Definitive Guide". He's a principal of CouchDB Ltd, consulting on large scale and custom CouchDB projects. He lives in Portland, Oregon where he also designs and evangelizes the CouchApp JavaScript framework.