Return-Path: Delivered-To: apmail-jackrabbit-users-archive@locus.apache.org Received: (qmail 30613 invoked from network); 28 May 2008 12:24:21 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 28 May 2008 12:24:21 -0000 Received: (qmail 88281 invoked by uid 500); 28 May 2008 12:24:21 -0000 Delivered-To: apmail-jackrabbit-users-archive@jackrabbit.apache.org Received: (qmail 88259 invoked by uid 500); 28 May 2008 12:24:21 -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 88248 invoked by uid 99); 28 May 2008 12:24:21 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 28 May 2008 05:24:21 -0700 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 stefan.guggisberg@gmail.com designates 209.85.146.179 as permitted sender) Received: from [209.85.146.179] (HELO wa-out-1112.google.com) (209.85.146.179) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 28 May 2008 12:23:34 +0000 Received: by wa-out-1112.google.com with SMTP id m33so3325505wag.9 for ; Wed, 28 May 2008 05:23:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:reply-to:sender:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; bh=lxMNWjyiP5C3sGNlfuwmLWCLp2Gb5eKafrfbCmjIkmE=; b=u/migEhsgoOAmkrgZrOp7IDJG5b9JSq9GyN3ukmbT91PBTJYFmGK3IPhaKku8OAFr8iLQ7iT1fOVoC9f6h/ZHK+0EmvEUEkgJFrlb8v1NsVNCji/WERh/UBDzLIArEJsfAirVu4GQ6/QIYcPWigCTX4PDi2iAjlEaCiZwTIJ+LQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:reply-to:sender:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=x6Yes4PcJqO7RG7Z6g/p1CP8p31oYxJjEMgIdzJ51QtnoZ/3M6WXAM9WgIMix1NfGJyuTT8Jv+PU0w2ofywZx4W4B/dWOEBIT0GZyOzMTj2cG0U87XL6+3qERYc3K96xET0hEvvPnsPDDlodGYpKqjm9L9WHdxFbvLHe79TTa4I= Received: by 10.115.15.5 with SMTP id s5mr2455944wai.6.1211977430737; Wed, 28 May 2008 05:23:50 -0700 (PDT) Received: by 10.114.190.14 with HTTP; Wed, 28 May 2008 05:23:49 -0700 (PDT) Message-ID: <90a8d1c00805280523h1dfb2de7h80ff46b2d46f1833@mail.gmail.com> Date: Wed, 28 May 2008 14:23:49 +0200 From: "Stefan Guggisberg" Reply-To: stefan.guggisberg@day.com Sender: stefan.guggisberg@gmail.com To: users@jackrabbit.apache.org Subject: Re: importXML() fails with a ConstraintViolationException In-Reply-To: <1761221336.20080528141621@holeczek.de> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <006b01c8c004$29e5fe40$4801a8c0@pessac.v4x.com> <510143ac0805270758s7e265634l5dbd6c5e7e7b06d7@mail.gmail.com> <007b01c8c013$c6967580$4801a8c0@pessac.v4x.com> <1761221336.20080528141621@holeczek.de> X-Google-Sender-Auth: c404a463b3bde554 X-Virus-Checked: Checked by ClamAV on apache.org On Wed, May 28, 2008 at 2:16 PM, Florian Holeczek wrote: > Hallo Alexander, > >> An effective content model tries to reduce the number of nodes (XML >> imports tend to create lots of nodes with a single property at the >> leaf) and has a high properties/nodes ratio: something around 10 is >> good (ie. 10 times more properties than nodes). This is especially >> true if you use a bundle persistence manager (which you should ;-)), >> because it reads/writes bundles that consist of a node and all its >> properties (except for larger binary properties that will go into >> the DataStore, if configured). >> Having flat hierarchies ("repository in width") is not efficient, >> since Jackrabbit has a limitation when you have many child nodes (> >> 1000) under one node - it will be quite slow then. In favor of human >> explorability one should avoid that anyway, since it is easier when >> the content is structured, eg. by date (/2008/april/*), so that only a >> few children are visible at each level. > > Thanks for pointing this out! > > Is this documented somewhere or just internal developer knowledge? it has been discussed on the list repeatedly. > > Is it for reasons of the JCR concept / API or due to restrictions of > the Jackrabbit implementation? there's no hard-coded limit for the # of child nodes per node. the current design is optimized for small to medium sized child node sets, i.e. up to ~10k child nodes per node. really large child node sets negatively affect write performance (in the current design). cheers stefan > > Regards, > Florian >