February 1, 2008

CouchDB — lazy database design taken to excess?

I’ve run into a research/alpha/whatever project called CouchDB a couple of times now. It’s yet another “Who needs relational databases? Who needs schemas?” kind of idea. Rather, CouchDB is for taking random documents and banging them into databases, then calculating views on the fly as needed. It’s REST-friendly. Lucene and a web server are built in.

Damien Katz seems to be the driving force behind CouchDB, and his discussion of document-oriented development seems to be a good starting point. Where I think it goes off the rails — no pun intended — is his dismissal of the XML alternative. He doesn’t think XML adds much unless data happens to be in XML to begin with. Now, maybe he wants to invent an XML alternative. But otherwise, I disagree, because I really like attribute-value pairs.

Call me old-fashioned, but I think one of the main jobs of a DBMS is to record and return facts — or, if not facts, than opinions. I’ve argued elsewhere that the predicate-logic view of DBMS shouldn’t be taken to excess — but it shouldn’t be minimized either. Text documents and media files notwithstanding, most of what goes into a DBMS is attribute-value pairs. You can arrange them in a matrix or array for compactness. If that’s too restrictive, you can just list them. In the first case, SQL or maybe MDX is a fine language for extracting them. In the second case, XQuery seems more apropos.

But you have to do it somehow.

Other CouchDB discussion:

Share: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • Digg
  • DZone
  • Mixx
  • Reddit
  • Slashdot
  • Sphinn
  • StumbleUpon
  • Technorati

Comments

3 Responses to “CouchDB — lazy database design taken to excess?”

  1. Daniel Lemire on February 1st, 2008 11:07 pm

    Keep in mind that XQuery does not require a schema to work. So XML databases work just fine without schemas. In this respect, CloudDB is not any different than an XML database.

    He likes name-value pairs too. In fact, that is pretty much the main thing he relies upon!!! He just thinks that XQuery/XML is too complicated because the data can then be quite messy. He prefers simple name-value pairs which get tied to a document without any hierarchies.

  2. Curt Monash on February 2nd, 2008 3:23 am

    Oh. He doesn’t like forcing people to walk hierarchies.

    Well, he does have a point there.

    Thanks,

    CAM

  3. Norbert Klamann on February 20th, 2008 3:57 am

    If I understand it correctly then Damiens Point against XML is XMLs verbosity and general clumsyness (?). This is an argument which I second.

Leave a Reply




Feed including blog about database management, data warehousing, and business intelligence Subscribe to the Monash Research feed via RSS or email:

Login

Search our blogs and white papers

Monash Research blogs

User consulting

Building a short list? Refining your strategic plan? We can help.

Vendor advisory

We tell vendors what's happening -- and, more important, what they should do about it.

Recent white paper

Pervasive PSQL Summit v10 Highlights

September, 2007

Recent webcast

What leading database vendors don't want you to know

Originally broadcast April 9, 2008

Monash Research highlights

Learn about white papers, webcasts, and blog highlights, by RSS or email.