couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Burobjorn <>
Subject Seeking advice on using couchdb for rewritting a project.
Date Tue, 11 Nov 2008 18:02:15 GMT
Hi everybody,

My name is Bjorn Wijers and I recently started to play with couchdb.
It's a very interesting project and I would like to use it to rewrite an
older project called Simuze[1], but I wonder if couchdb would be the
right tool for the job. Perhaps some of you can help me out in
understanding the pro's and con's of using couchdb for this?

Simuze is musicplatform (website) for musicians and music fans by
non-profit Stichting (=Foundation) Open Media. Artists can upload their
music under a Creative Commons license of their choosing and music
lovers can download these songs from the site. It was built quite some
time ago in PHP and MySQL.

The basics in this application are:

- users

- profiles (might be multiple per user, since a user may have more than
one artist persona)

- media files (images and audio for now)

- media collections (such as a playlist or album)

- ratings (every media file or collection)

- tags (everything)

Our objective is to rewrite Simuze in such a way that we can distribute
it as an 'easy' to install webapplication under a free/open-source
license (Affero GPL). We would like to connect all the different Simuze
installs (replication would be very helpful for this, I guess) and
create a distributed free (as in CC licensed and PD) music web. Think of
it as a non-suck MySpace built by musicians ;)

Some questions that I have are:

1) Would this type of application be suitable for couchdb or is this
better suited by using a RDBMS?

2) Could we use the attachment feature for adding media files (FLAC or
WAV or AIFF files roughly 50 MB per file) to couchdb? Or is this not
advisable given the size of the files? The reasoning behind this is that
by using replication we can easily backup the whole system or setup an
another node of it. Therefor having everything in one place seems like a
 good idea?

3) In a RDBMS such as MySQL I can use foreign keys to preserve data
integrity. In other words I can delete the user and due to the foreign
keys 'automatically' remove its profile(s), uploaded media etc. How
would one solve this with couchdb?

Thanks for reading this rather lengthy email. Looking forward to the
thoughts and comments on this.

All the best,




met vriendelijke groet,
Bjorn Wijers

* b u r o b j o r n .nl *
digitaal vakmanschap | digital craftsmanship

Concordiastraat 68-126
3551 EM Utrecht
The Netherlands

phone: +31 6 49 74 78 70

View raw message