couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jan Lehnardt <...@apache.org>
Subject Re: Associating users and comments
Date Fri, 03 Oct 2008 16:04:29 GMT
On 02.10.2008, at 05:07, Ben Bangert <ben@groovie.org> wrote:

> On Oct 1, 2008, at 8:42 PM, Paul Davis wrote:
>
>> I think what you're running into is the CouchDB != SQL impedance
>> mismatch. Its not overt and I see you're thinking about this, but I
>> still manage to not see my RDBMS prejudices after working on this for
>> a couple months.
>
> I'm not a total virgin to non-RDBMS thinking, as I've used XML db's  
> rather heavily, along with Google Datastore.
>
> So in an XML db, or even Google Datastore, I'd store all the  
> comments for a post inside the post itself. No worries about  
> conflicts because I can issue multiple updates to the XML document  
> to insert additional comment nodes. As Chris Lenz mentions on his  
> blog about CouchDB, under heavy load you need to keep comments out  
> of the posts due to conflicts when updating the document and sending  
> the update back to the db. So CouchDB is requiring a level of  
> normalization that other document oriented databases do not (since  
> they can update parts of a document without replacing the entire  
> thing).
>
> As I'm forced to normalize to an extent in CouchDB due to its  
> inability to update individual keys of a document without replacing  
> the entire thing, it seems odd that its so dang hard to get some  
> data together in a single query. It seems like CouchDB should either  
> grow some scheme to let me get more data from separate related docs  
> in one go, or it should allow for atomic updates of individual parts  
> (or insertions of new keys) on a document without affecting the  
> entire document (and thus causing conflicts and the additional  
> normalization the inability caused).

Just a thought, I'm not saying CouchDB can't be improved: If you want  
to change the core semantics of a given yechnology to "make it work"  
for you it might be not the right tool for the job.

Cheers
Jan
--

>
>
>> I see that Chris managed to provide a reduce for the first question
>> which is good. The second answer is missing part of the question. As
>> in I think Ben was asking "Give me a list of users and their top 5
>> posts" which != "Give me user and top 5 posts".
>
> Yes, if I wanted to list 20 users and their last 5 posts, that'd be  
> 20 run-abouts to the db. Granted the views are super fast, but the  
> constant round-trip latency will add-up.
>
>> So far I think its clear we need better reduce docs. Also, I'm
>> thinking tomorrow might be a good day to start thinking about view
>> intersection/union syntax. Anyone that cares feel free to pipe up on
>> IRC or the ML. I don't see the implementation being difficult given a
>> decent method for specifying the sub queries.
>
> Yes, that'd definitely help, and more examples of these common  
> things to help others to get their head out of RDBMS-land. ;)
>
> Cheers,
> Ben

Mime
View raw message