CouchDB
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.
Objectives:
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.
Description:
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.``
Teacher(s):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
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.