Return-Path: Delivered-To: apmail-directory-dev-archive@www.apache.org Received: (qmail 67859 invoked from network); 6 Apr 2007 17:24:03 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 6 Apr 2007 17:24:03 -0000 Received: (qmail 64133 invoked by uid 500); 6 Apr 2007 17:24:10 -0000 Delivered-To: apmail-directory-dev-archive@directory.apache.org Received: (qmail 64104 invoked by uid 500); 6 Apr 2007 17:24:09 -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 64093 invoked by uid 99); 6 Apr 2007 17:24:09 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 06 Apr 2007 10:24:09 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of ole.ersoy@gmail.com designates 64.233.166.180 as permitted sender) Received: from [64.233.166.180] (HELO py-out-1112.google.com) (64.233.166.180) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 06 Apr 2007 10:24:02 -0700 Received: by py-out-1112.google.com with SMTP id a29so483317pyi for ; Fri, 06 Apr 2007 10:23:41 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:user-agent:mime-version:to:subject:references:in-reply-to:content-type:content-transfer-encoding; b=ij/5ENlTD2bOwlaThJvClcCpbb6F9fjn2D/2nG6TDMClU262cAsPVnMRIXiMaEJxiJgIm/VPNTEZL0arQwbO5NjvjwzvvjGqMAA7K1NfAV8ymu5b6OC1Xuv4NWl7vH2nKwbw++CVauakLoJvuosDeV+WtOfhoBrMZj9t590HFJw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:user-agent:mime-version:to:subject:references:in-reply-to:content-type:content-transfer-encoding; b=kC+u4APAdpycd9FugZ/78ggxDuTUq2wWYqEMJNUseoxhAvjIL2WF1aD9Qy77r32TDz6PinLVsNx+LLHpejBm3A06kpVTJtbWNW7NGrBFEPUTcSwtygW1athj3xwgQWAgrLueSNt4HK/ISCttXrHbN6qUVsCE0k1AbR14amxfUOI= Received: by 10.35.49.15 with SMTP id b15mr5567803pyk.1175880221729; Fri, 06 Apr 2007 10:23:41 -0700 (PDT) Received: from ?192.168.1.24? ( [24.13.179.233]) by mx.google.com with ESMTP id z52sm4313750pyg.2007.04.06.10.23.40; Fri, 06 Apr 2007 10:23:41 -0700 (PDT) Message-ID: <46168148.6080209@gmail.com> Date: Fri, 06 Apr 2007 12:20:08 -0500 From: Ole Ersoy User-Agent: Thunderbird 1.5.0.10 (X11/20070302) MIME-Version: 1.0 To: Apache Directory Developers List Subject: Re: [ApacheDS][Partition] Using surrogate keys for attributeType aliases and objectClass aliases (was Re: [SCHEMA] Can two different LDAP AttributeType's have the same name?) References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org Alex, So...um...Does it do the thing? :-) Just kidding. Wow - That's what I call an answer. I think we need a performance design guide, that's a sub book of a global design guide for this type of "Smoookkkin" material. A little later I need to break it down further so that I understand the whole process from a sequence Diagram view point. Let me see if I can re-answer my question now that I'm more enlightened. I need to read your material a few more times though for it to sink in properly, so this is a "Trial" attempt. I want to store 200M entries using the same set of object classes to construct to create the set of entry attributes. One of the the entries I'm storing has OID name alias org.apache.tuscany.DASConfig.baseDN The OID for this AttributeType is 1.24l2.3.4.2.4 (Just made it up). My goal is to keep the 200M entries in Memory. So I want to have them as compact as possible. When I write the entries using JNDI I'm using org.apache.tuscany.DASConfig.baseDN as the attribute key for one of the entry values. However I would much rather store something shorter than this in memory, like "1". I think you are saying the OID name alias, org.apache.tuscany.DASConfig.baseDN, gets switched out with the OID by the server. So instead of storing [org.apache.tuscany.DASConfig.baseDN, myValue] in memory, it stores: [1.24l2.3.4.2.4, myValue] Am I getting warmer? Then the other thing I was thinking was that 1.24l2.3.4.2.4 is still pretty long. If I had an in memory partition for all the entries and the entire set of entries only used say "500" unique AttributeTypes, I think using surrogate keys numbered from 1 to 500 would result in a lot of memory savings and a performance increase. Because we are only storing some number X ranging from 1-500 200 Million times, rather than a bigger string like 1.24l2.3.4.2.4 200 Million times. Then whenever a query takes place for 1.24l2.3.4.2.4, it's converted into "1", and then one is used to look for entry attributes. Does that make any sense? Thanks, - Ole SNIP