Return-Path: Delivered-To: apmail-jackrabbit-users-archive@locus.apache.org Received: (qmail 33812 invoked from network); 3 Nov 2008 12:32:19 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 3 Nov 2008 12:32:19 -0000 Received: (qmail 94459 invoked by uid 500); 3 Nov 2008 12:32:25 -0000 Delivered-To: apmail-jackrabbit-users-archive@jackrabbit.apache.org Received: (qmail 94099 invoked by uid 500); 3 Nov 2008 12:32:24 -0000 Mailing-List: contact users-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@jackrabbit.apache.org Delivered-To: mailing list users@jackrabbit.apache.org Received: (qmail 94088 invoked by uid 99); 3 Nov 2008 12:32:23 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 03 Nov 2008 04:32:23 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of aklimets@day.com designates 207.126.148.182 as permitted sender) Received: from [207.126.148.182] (HELO eu3sys201aog002.obsmtp.com) (207.126.148.182) by apache.org (qpsmtpd/0.29) with SMTP; Mon, 03 Nov 2008 12:31:06 +0000 Received: from source ([209.85.198.240]) by eu3sys201aob002.postini.com ([207.126.154.11]) with SMTP; Mon, 03 Nov 2008 12:31:47 UTC Received: by rv-out-0708.google.com with SMTP id k29so2964904rvb.6 for ; Mon, 03 Nov 2008 04:31:45 -0800 (PST) Received: by 10.141.107.13 with SMTP id j13mr6202rvm.276.1225715505268; Mon, 03 Nov 2008 04:31:45 -0800 (PST) Received: by 10.140.144.3 with HTTP; Mon, 3 Nov 2008 04:31:45 -0800 (PST) Message-ID: Date: Mon, 3 Nov 2008 13:31:45 +0100 From: "Alexander Klimetschek" To: users@jackrabbit.apache.org Subject: Re: JackRabbit or Hibernate In-Reply-To: <20081103120506.250290@gmx.net> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <490DE04D.10902@gmx.de> <20081103120506.250290@gmx.net> X-Virus-Checked: Checked by ClamAV on apache.org On Mon, Nov 3, 2008 at 1:05 PM, Tobias Marx wrote: > so were do you draw the line? When are databases useful and when JackRabbit? Databases are useful when the schema won't change during development and lifetime of the software involved and if you have things that fit into a table and where you want pure performance based on adding/removing thousands of items per second to the same table. JCR is useful when you need a flexible content model, eg. if you detect later after release that you need a separate address field for your users in china that nobody was aware of when you did the design or implementation - with JCR you can simply add that field in your source code and you are done. Or if you want to be able to introduce a new 1:M relationship (a new "folder") later without having to rework everything. Things that are hierarchical by nature (such as CMS content) fit the most. > Examples: > > 1. User data (username/passwords/email) Depdends: if it is really only a fixed set of data, a db approach might be simpler (and maybe faster). If you want to store user-generated content along-side the users, JCR gives you more flexibility. > 2. User associations to other Users or Messages JCR (more flexible). > 3. "Content data", such as texts written by a user JCR (that's why it is called Java *Content* Repository) > 4. Private User data See 1. > 5. Public User data See 1. > 6. Technical data (e.g. logs, ip addresses, last login timestamps= Databases probably more performant for that. Please note that decisions on what to use should also take into acount all the specific requirements, so my guidance above should not be seen as fixed answers for the given categories ;-) Regards, Alex -- Alexander Klimetschek alexander.klimetschek@day.com