Return-Path: Delivered-To: apmail-couchdb-user-archive@www.apache.org Received: (qmail 84345 invoked from network); 22 Mar 2011 18:57:46 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 22 Mar 2011 18:57:46 -0000 Received: (qmail 46079 invoked by uid 500); 22 Mar 2011 18:57:44 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 46052 invoked by uid 500); 22 Mar 2011 18:57:44 -0000 Mailing-List: contact user-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@couchdb.apache.org Delivered-To: mailing list user@couchdb.apache.org Received: (qmail 46044 invoked by uid 99); 22 Mar 2011 18:57:44 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 22 Mar 2011 18:57:44 +0000 X-ASF-Spam-Status: No, hits=-2.3 required=5.0 tests=RCVD_IN_DNSWL_MED,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [145.58.30.185] (HELO out1b.mail.omroep.nl) (145.58.30.185) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 22 Mar 2011 18:57:37 +0000 Received: from localhost (ou1bclean [10.10.30.159]) by out1b.mail.omroep.nl (Postfix MTA - NPO ICT) with ESMTP id D11533000B70 for ; Tue, 22 Mar 2011 19:57:14 +0100 (CET) X-Virus-Scanned: NPO ICT Received: from tweehoog.vpro.nl (tweehoog.vpro.nl [145.58.169.4]) by out1b.mail.omroep.nl (Postfix MTA - NPO ICT) with ESMTP id B9C2D3000B6C for ; Tue, 22 Mar 2011 19:57:14 +0100 (CET) Received: from exmail.vpro.nl ([145.58.171.81] helo=VS-EX-01.intra.vpro.nl) by tweehoog.vpro.nl with esmtp (Exim 3.36 #1) id 1Q26lW-0002Wb-00 for user@couchdb.apache.org; Tue, 22 Mar 2011 19:57:14 +0100 Received: from VS-EX-01.intra.vpro.nl ([145.58.171.81]) by VS-EX-01.intra.vpro.nl ([145.58.171.81]) with mapi; Tue, 22 Mar 2011 19:57:14 +0100 From: Nils Breunese To: "user@couchdb.apache.org" Date: Tue, 22 Mar 2011 19:53:34 +0100 Subject: RE: Relationships Of Complex Documents In Document Databases Thread-Topic: Relationships Of Complex Documents In Document Databases Thread-Index: AcvovrOBbQvkBxAHTGeXyjwGkc8s3AAA76xk Message-ID: References: In-Reply-To: Accept-Language: nl-NL Content-Language: nl-NL X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: nl-NL Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Although I think CouchDB is great, maybe using a relational database isn't = such a strange idea if you want to model a lot of relationships... :o) On the other hand I don't necessarily see a problem with storing tasks as d= ocuments with a username field in them and for instance creating a view tha= t lists tasks by username. Nils. ________________________________________ Van: Ryan Zec [basire@gmail.com] Verzonden: dinsdag 22 maart 2011 16:28 Aan: user@couchdb.apache.org Onderwerp: Relationships Of Complex Documents In Document Databases I have been looking at a number of document databases (RavenDB, CouchDB, MongoDB) and there are two things about them that I really like and makes m= e what to incorporate them as much as possible and that is the schema-less natural (not that they are schema-less per-say but that it is a very flexible schema that is much easier to change than ones with RDBMS) and the fact there is a lot less impedance mismatch when mapping the database data to code. There have a been a number of things that I have found that have prevented me from using a document database because I find I need these things all th= e time. Some of them I have found solutions for like unique fields. While document databases don't directly support this feature, a work around that is acceptable is creating another document with the email is the document i= d and then inserting the user if the insert on the email document was successful however there are there is one big thing that I don't think document database can provide me from my searching. That feature is relationships with complex documents. One of my projects I wanted to use a document database for is a project management system. The issue with this is that there are a lot of places where I need relationship= s with large objects (and multiple relationships within one document). When it come to something like a task or a user, those are complex documents and having the document embedded would not be a good thing as data mismatch wit= h these items can't happen. Now if I just reference the document then am I really getting any benefit from using a document database because now I am probably going to have a lot more queries that I need to run compared to a relational database. While I was hopping to have most of my data be stored into a document database, the more I look at it, it seems like most of the data needs to be in a RDBMS. Am I correct in assuming this type of relationship needs a RDBMS or am I un-aware of how this can be accomplished in a document database. ------------------------------------------------------------------------ VPRO www.vpro.nl ------------------------------------------------------------------------