incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mister Donut <lady.do...@gmail.com>
Subject The Blog
Date Mon, 09 Feb 2009 04:52:39 GMT
So.

The blog.

Store the comments inside the blog entry.

At the same time User A and B post a comment.
A's or B's comment disappears.
Use the _rev and some fancy scripts to merge the two versions.
And pray there hasn't been a _compact in between.
Doesn't sound so great. Also, 1k.

Store the comment seperately.

Great! Views, here I come! All problems solved!

Wait. What if there are ten thousand comments.
Maybe we would like to count them!
A counter. Not possible, son.
MapReduce! We don't need live counter updates.
But we still need to store the counter separately.
Twenty blog entries on one page, twenty queries.
Who cares! It's really fast!
This is getting exciting.

Pagination!
Let's see. We can implement forward and backward easily.
But this is getting really annoying if we want move fast.
Like, see comments starting from two weeks ago. Or posts!
Sadly, we cannot guess these dates.

So, we put the posts into groups, based on date.
Show me all comments from two weeks ago!
Great idea!
But, son. That ain't possible. Unless we use a lot of _rev.
Doesn't sound so great anymore.

Sob. Let's check the website.
CouchDB.
Documentation.
Introduction.
What it is Not.
A seamless persistence layer for an OO programming language.

But! It told me it can manage my documents!

So, what exactly can you do with CouchDB?

It seems it is absolutely impossible to use CouchDB for anything
that allows users to contribute to a document at the same time.

Unless you use a lot of silly _rev.
Which is exactly why RDBMS were built?

Hell. bulk_docs. Isn't that exactly what CouchDB is NOT all about?

Sooner or later you'll have someone suggesting to implement...
...bulk_save!

I am really really lost.

Mime
View raw message