InfoQ

Interview

Damien Katz Relaxing on CouchDB

Interview with Damien Katz by Werner Schuster on Nov 23, 2008

Community
Architecture
Topics
Database Design
Tags
RubyFringe ,
CouchDB ,
Erlang
Summary
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.

Bio
Damien Katz has worked for Lotus, MySQL, IBM, and is the creator of CouchDB. Damien will be doing this for a very long time to come.
We are here at RubyFringe with Damien Katz. How about you introduce yourself?
So what's this CouchDB thing that we see on your T-shirt?
How would you compare it to other products like Lotus Notes which I think is also document based in a way. Or XML databases which are similar, I think. How would you put it in that area?
So basically CouchDB works by you inserting a lot of unstructured documents. How do you search in them? How do you index them? I think you use JavaScript for it?
How would you do a query in CouchDB? What do you use? What language?
Do these run for every query? Or do they run through all the documents, instance of caching?
You chose an interesting language for implementing CouchDB, Erlang. What's the main reason for that?
How do you integrate JavaScript, is JavaScript runtime in Erlang? Is that the same process?
This protocol that you use over the pipe, that's just JSON messages?
You are using Erlang's features for reliability. I figure you liked that for CouchDB. Do you also use sort of scalability features?
Did you see any benefits from Erlang and SMP versions? Or didn't that make any difference?
One thing you recently or some time ago wrote a blog about what you didn't like about Erlang. So what's your current position on that? Did anything change?
What's your top three complaints: the string handling, Unicode support, something like that?
Well coming back to the document database. What are document databases like Lotus Notes for instance? What are they particularly good for? What is Lotus Notes for instance used?
That's also what Lotus is used for in big companies.
Did it start out this way, or did it start as email?
So would you say that this document database concept, this has been around for some time with Lotus Notes, this has been available in other products, or it seams to be becoming popular with CouchDB.
You want to bring that document model to the open source. It seams to be a lot of other paradigms for databases as a competition to a relational databases like Google's BigTable. What do you think about that?
Do you see it as an alternative to a document based concept or do you see it as a different model do you think?
show all  show all
Lambda the Ultimate by Claudius Link Posted Nov 26, 2008 4:14 PM
Re: Lambda the Ultimate by Abel Avram Posted Dec 9, 2008 9:28 AM
  1. Back to top

    Lambda the Ultimate

    Nov 26, 2008 4:14 PM by Claudius Link

    I think Damien Katz is refering to "Lambda the Ultimate" not "Land of the Ultimate"

  2. Back to top

    Re: Lambda the Ultimate

    Dec 9, 2008 9:28 AM by Abel Avram

    I think Damien Katz is refering to "Lambda the Ultimate" not "Land of the Ultimate"

    Yes, you are right. Fixed. Thanks.

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.