couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thomas Vander Stichele <>
Subject couchdb and my music application
Date Thu, 02 Dec 2010 14:34:55 GMT
Hi everyone,

This is a resend of a mail I originally only sent to Jan.  He suggested I sent it on for others
to comment on.  Feel free to let me know what you think!

Hey Jan,

a while ago when you were in Barcelona I mentioned the music program I
was working on and how I wanted to move it to couchdb.  You said I
should write down what I was trying to do and what my problems are, so
since I recently started hacking on it again (as a use case for paisley,
the twisted library for couchdb) and wrote some things down.

I'm attaching the rst that mentions the kinds of documents/ojects the
program deals with.  As you can imagine, I'm having trouble moving from
a normalized data model to a more couchdb-friendly one.  I added two
ideas for denormalizing that I think would be ok for me, but there are
some where I think it wouldn't make sense.

There is one big question I have that I don't know if it's possible at
all or not... but given how couchdb implements 'views' on the whole
document store that are created on the first request to that view and
then kept uptodate incrementally - why would it be so hard to use
couchdb as a normalized data store, and then create a view that
effectively denormalizes data doing more than the single join that the
'view for sql jockeys' chapter explains ?

Isn't the principle the same thing, and isn't couchdb simply only
lacking a way of expressing that kind of view ? Or am I missing
something fundamental here ?

Any feedback on my design ideas and how I want to model the data are
appreciated.  Let me know if you have questions; in particular it's
important to treat Track as the central object, with Slices into
AudioFiles just being the on-disk representation of that track.


morgen wordt het beter beter voor iedereen
dan krijg ik de strop
en jij wat je verdiende
GStreamer - bringing multimedia to your desktop

View raw message