In this interview, Damien Katz talks about CouchDB, a distributed, fault tolerant, document oriented database developed by Apache Incubator. CouchDB is written in Erlang, and the database is accessed through an HTTP/JSON API. The database view engine is run on JavaScript, but other languages have been used like Ruby and Python.
Watch: Damien Katz Relaxing on CouchDB (20 min.)
Damien details what CouchDB is, how it works and what purposes serves best. A former IBM employee working on Lotus Notes, Damien started CouchDB using a lot of good ideas existing in Notes while trying to avoid the mistakes made with it.
CouchDB is a schema-free document oriented database good at indexing and searching through documents. Documents can be created and edited both online and offline, CouchDB resolving conflicts and replicating documents. The first version of the database was written in C++, but later Erlang was chosen due to its capability to handle concurrency well. As a result, CouchDB supports 20,000 simultaneous connections according to an preliminary benchmark quoted by Damien.
The database view engine is provided by JavaScript, but the database was constructed in such a way that more languages can be used to create views of the database, and there are already versions using Ruby, Python and PHP.
At the end of the interview, Damien talks a bit about what he doesn’t like in Erlang, string manipulation being one of them.