Return-Path: Delivered-To: apmail-directory-dev-archive@www.apache.org Received: (qmail 58479 invoked from network); 7 Aug 2008 07:50:18 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 7 Aug 2008 07:50:18 -0000 Received: (qmail 10866 invoked by uid 500); 7 Aug 2008 07:50:17 -0000 Delivered-To: apmail-directory-dev-archive@directory.apache.org Received: (qmail 10680 invoked by uid 500); 7 Aug 2008 07:50:17 -0000 Mailing-List: contact dev-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Apache Directory Developers List" Delivered-To: mailing list dev@directory.apache.org Received: (qmail 10669 invoked by uid 99); 7 Aug 2008 07:50:17 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 07 Aug 2008 00:50:17 -0700 X-ASF-Spam-Status: No, hits=0.4 required=10.0 tests=SPF_PASS,SUBJECT_FUZZY_TION X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of elecharny@gmail.com designates 72.14.220.158 as permitted sender) Received: from [72.14.220.158] (HELO fg-out-1718.google.com) (72.14.220.158) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 07 Aug 2008 07:49:19 +0000 Received: by fg-out-1718.google.com with SMTP id 19so184227fgg.3 for ; Thu, 07 Aug 2008 00:49:46 -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 :user-agent:mime-version:to:subject:references:in-reply-to :content-type:content-transfer-encoding; bh=3vxA46WUxba+qUoYUMPUxQJ+NBtcN9yIhVdT0B71wc4=; b=lUSxtW85QvMuYxA15VyB5cJZpqgcjROMN/PxDwYQ20vcQm1ykWGQwOM2Nr3WRfqwNC dNhD6kporkTTohyiiBE1IGkmPTYV2DBOYteVYCpScBMT8xHusSwpmG0DpMUTLIMMATx9 TteOibPSmYm24Fms7uyRwOBQt5xn0Dor7UZF0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:reply-to:user-agent:mime-version:to:subject :references:in-reply-to:content-type:content-transfer-encoding; b=riPizkkZM1LzkZxBen+wewt7ECrwJGkqXmY0Up1zhQtbyd9DkIG2WdGfNlSkH5RiEC /Gi7Y9c8/x72bkjD+3LvPnoWxaor4iwq3oIxctFvglCE2caz71P4cZuhYdQI11sSWSSC txpOJRjQg6pTu4LgCT6K5NBZQy7nzohwtvTqc= Received: by 10.86.90.2 with SMTP id n2mr1493677fgb.13.1218095385737; Thu, 07 Aug 2008 00:49:45 -0700 (PDT) Received: from ?192.168.0.2? ( [82.66.216.176]) by mx.google.com with ESMTPS id 3sm4213829fge.3.2008.08.07.00.49.44 (version=TLSv1/SSLv3 cipher=RC4-MD5); Thu, 07 Aug 2008 00:49:44 -0700 (PDT) Message-ID: <489AA917.9020905@gmail.com> Date: Thu, 07 Aug 2008 09:49:43 +0200 From: Emmanuel Lecharny Reply-To: elecharny@nextury.com User-Agent: Thunderbird 2.0.0.16 (X11/20080724) MIME-Version: 1.0 To: Apache Directory Developers List Subject: Re: [ApacheDS] [JDBM Partition] Why it's a BAD idea to store the Entry + DN in the master table References: <489A9EF6.6080103@gmail.com> <489AA4AF.2090608@symas.com> In-Reply-To: <489AA4AF.2090608@symas.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-Virus-Checked: Checked by ClamAV on apache.org Howard Chu wrote: > Emmanuel Lecharny wrote: >> Alex Karasulu wrote: >>> Hi all, >>> >> Hi Alex, >>> The ServerEntry stores the DN of the entry. I think this is good >>> for better >>> code organization. However, storing the entry together with it's DN >>> into >>> the master table is a very bad idea. The DN should instead be >>> managed in >>> the NDN and DN indices. >>> >> I think you are wrong. Storing the DN within the entyr is a very good >> idea (tm) :) > > For what it's worth, in my experience Alex is right. OpenLDAP's > back-hdb can do subtree renames in O(1) time. It's the only LDAP > implementation in the world that can do this, and it's partly because > we don't store the DNs with the rest of the entry data. back-hdb is > also the fastest at searches too, and that's just a matter of > balancing cache demands... Apache DS 1.0 was also able to do ModifyDN in O(1) :) All the profiling sessions I did last year shown that, for ADS, storing DN outside the entry was costing more than storing them within the entry. We will do more tests :) The good thing is that we can move back to have the DN stored outside the DN easily, the hard part was to define the Entry class and use it all over the server ! Let's evaluate both solution, and pick the one which is the fastest ! (and whoever is right or wrong does not matter, as soon as we have a faster server :) Thanks Howard, as usual, your insights are always good to have ! (when you will hate Java less, let us know, we have a warm and comfortable place for you at Directory :) -- -- cordialement, regards, Emmanuel L�charny www.iktek.com directory.apache.org