Return-Path: Delivered-To: apmail-directory-dev-archive@www.apache.org Received: (qmail 77892 invoked from network); 22 Jan 2007 19:39:43 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 22 Jan 2007 19:39:43 -0000 Received: (qmail 84194 invoked by uid 500); 22 Jan 2007 19:39:49 -0000 Delivered-To: apmail-directory-dev-archive@directory.apache.org Received: (qmail 83974 invoked by uid 500); 22 Jan 2007 19:39:48 -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 83963 invoked by uid 99); 22 Jan 2007 19:39:48 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 22 Jan 2007 11:39:48 -0800 X-ASF-Spam-Status: No, hits=2.0 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of asterholm@gmail.com designates 64.233.162.227 as permitted sender) Received: from [64.233.162.227] (HELO nz-out-0506.google.com) (64.233.162.227) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 22 Jan 2007 11:39:40 -0800 Received: by nz-out-0506.google.com with SMTP id i28so986221nzi for ; Mon, 22 Jan 2007 11:39:19 -0800 (PST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=iciMS9FZLWor0MMGaslNcnE6htPqNsgi+AoZXsB1id4N+2ejYx6Vn3eeJODfdQkRjCeTUBADfttcNBcdzRZQEVkW0jD5QfGC/4xjJTMqix1xbapwW75v3gWgl8JFXz3ugeGhXjDtcQ0r9M7b2erd7WIg3JrCX0MCpwwGe0e8IdM= Received: by 10.35.27.2 with SMTP id e2mr11105969pyj.1169494759148; Mon, 22 Jan 2007 11:39:19 -0800 (PST) Received: by 10.35.20.18 with HTTP; Mon, 22 Jan 2007 11:39:18 -0800 (PST) Message-ID: <54c459280701221139w43e30001td8d843c0dd71ea88@mail.gmail.com> Date: Mon, 22 Jan 2007 20:39:18 +0100 From: "Johan Asterholm" To: dev@directory.apache.org Subject: Re: Partitions In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_155514_20897123.1169494758801" References: <54c459280701220604t7d2aa332je502254bb44abf5f@mail.gmail.com> <54c459280701220638x7824e87ft46457bb09c61757@mail.gmail.com> <54c459280701220656o508b7996i96b0bd2269c5b86e@mail.gmail.com> <54c459280701220730j23353b89x3e720896d7e95031@mail.gmail.com> X-Virus-Checked: Checked by ClamAV on apache.org ------=_Part_155514_20897123.1169494758801 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Just updating the list with the latest mail. Anything pointing me in the right direction would be appreciated. BR / Johan Asterholm 2007/1/22, Emmanuel Lecharny : > > oh... I don't see a path to solve your problem in a couple of days. Woudl > it be a couple of weeks, may be... > > Anyone ? > > Sorry :( > > On 1/22/07, Johan Asterholm wrote: > > > > Hi, > > > > Basically i have a couple of days to solve this so its quite urgent for > > me. > > > > BR / Johan > > > > > > 2007/1/22, Emmanuel Lecharny : > > > > > > ok, get it. So you want your application to be the backend, basically= . > > > > > > I know this is possible, but I think you will have to implemant > > > something like 11 interfaces to make it works. > > > > > > Hopefully, Alex may give you more informations about it. I also have > > > to look at this part, and ths could be the perfect occasion. > > > > > > Is this urgent ? > > > > > > On 1/22/07, Johan Asterholm wrote: > > > > > > > > Hi, > > > > > > > > Im interesting in using ADS as a mapping between LDAP and my > > > > application. to get LDAP support. so basically just the frontend. > > > > > > > > I have looked arround for examples on how to write the backend but = i > > > > havent realy found soemthing usefull. > > > > > > > > BR / Johan Asterholm > > > > > > > > > > > > 2007/1/22, Emmanuel Lecharny : > > > > > > > > > > ok. > > > > > > > > > > But do you need ADS at all? Or are you just interested by storing > > > > > DNs into a backend ? > > > > > > > > > > On 1/22/07, Johan Asterholm < asterholm@gmail.com > wrote: > > > > > > > > > > > > Hi, > > > > > > > > > > > > By backend can store up to several milion records but its quite > > > > > > fast in answering (about ~20 MS) when having 2 milion records. = The > > > > > > application will handle caching itself so no caching wold be ne= cessary. > > > > > > Basically what I'm looking for is just an example for writing m= y backend. > > > > > > > > > > > > BR / Johan Asterholm > > > > > > > > > > > > > > > > > > 2007/1/22, Emmanuel Lecharny : > > > > > > > > > > > > > > Hi, > > > > > > > > > > > > > > the backend is using its own structure atm. It's based on > > > > > > > JDBM, which is a B-tree storage. > > > > > > > > > > > > > > The DN are also stored in a B-Tree, and this is not > > > > > > > necessarily optimal. We may want to go for a H-tree instead o= f a B-tree for > > > > > > > these DN (B-tree and H-tree storages are available in JDBM) > > > > > > > > > > > > > > So basically, it's just a question to associate a H-tree to > > > > > > > the DN storage. > > > > > > > > > > > > > > Ok, this is theory. In the 'real world', this would need more > > > > > > > analysis, and we must evaluate the impact of such a modificat= ion on the code > > > > > > > base. > > > > > > > > > > > > > > Now, I have a question : how big is your data set ? If it's a > > > > > > > few thousnads, there would be a very little increase in perfo= rmance doing > > > > > > > that : you have to consider that the cache system will very q= uickly keep in > > > > > > > memory all the DN of your database. (you might want to increa= se the cache > > > > > > > size for this kind of objects in your partition : > > > > > > > ... > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.directory.server.core.partition.impl.btree.Mutable= IndexConfiguration > > > > > > > "> > > > > > > > > > > > > > 1.3.6.1.4.1.18060.0.4.1.2.1" /> > > > > > > > > > > > > > > > > > > > > > ... > > > > > > > > > > > > > > In this default configuration, 100 DNs are kept into the > > > > > > > cache. Just increase it to fit your needs. > > > > > > > > > > > > > > If in cache, grabbing a DN is really fast, wether you use > > > > > > > H-tree or not. > > > > > > > > > > > > > > You will just have to consider if this would be of interest t= o > > > > > > > modify the backend (with all the burden it suppose) instead o= f increasing > > > > > > > the cache. And this is again a question of how many DN will y= ou have. > > > > > > > > > > > > > > I hope this help. > > > > > > > > > > > > > > Feel free to go further, we really have this Hashing in our > > > > > > > radar. > > > > > > > > > > > > > > Emmanuel > > > > > > > > > > > > > > On 1/22/07, Johan Asterholm < asterholm@gmail.com > wrote: > > > > > > > > > > > > > > > > Hi, > > > > > > > > > > > > > > > > I'm trying to develop LDAP integration towards an > > > > > > > > application, but I have a hard time to understand how it al= l should work. > > > > > > > > > > > > > > > > To learn how it should be done I'm trying to develop a > > > > > > > > backend which works towards a HashMap where the hash Map in= cludes a key > > > > > > > > (Identifier) And then another hashmap with attributes (They= are not > > > > > > > > "Attributes" but simply String names of the attribute). I p= refer this way > > > > > > > > since this is quite similar to what i need to do when integ= rating towards or > > > > > > > > application. > > > > > > > > > > > > > > > > so searching for uid=3D1,ou=3Duser,cn=3Dexample,cn=3Dcom w= ould > > > > > > > > point to a row in the hashmap, but ou=3Duser,cn=3Dexample,c= n=3Dcom is static. > > > > > > > > > > > > > > > > Is there any example where a simple backend like this is > > > > > > > > done? Maybe not with a HashMap but something similar? > > > > > > > > > > > > > > > > This would help me tremendously. > > > > > > > > > > > > > > > > BR / Johan Asterholm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > Cordialement, > > > > > > > Emmanuel L=E9charny > > > > > > > www.iktek.com > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Cordialement, > > > > > Emmanuel L=E9charny > > > > > www.iktek.com > > > > > > > > > > > > > > > > > > > > > > -- > > > Cordialement, > > > Emmanuel L=E9charny > > > www.iktek.com > > > > > > > > > > -- > Cordialement, > Emmanuel L=E9charny > www.iktek.com > ------=_Part_155514_20897123.1169494758801 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Just updating the list with the latest mail. Anything pointing me in the ri= ght direction would be appreciated.

BR / Johan Asterholm

2007/1/22, Emmanuel Lecharny < elecharny@gmail.com>:=20
oh... I don't= see a path to solve your problem in a couple of days. Woudl it be a couple= of weeks, may be...=20

Anyone ?

Sorry :(=20


On 1/22/07, = Johan Asterholm <asterholm@gm= ail.com=20 > wrote:=20
Hi,
 
Basically i have a couple of days to solve this so its quite urgent fo= r me. 
 
BR / Johan

 
2007/1/22, Emmanuel Lecharny <elecharny@gmail.com>:=20
ok, get it. So yo= u want your application to be the backend, basically.

I know this is= possible, but I think you will have to implemant something like 11 interfa= ces to make it works.=20

Hopefully, Alex may give you more informations about it. I also hav= e to look at this part, and ths could be the perfect occasion.

Is t= his urgent ?=20


On 1/22/07, = Johan Asterholm <asterholm@gm= ail.com=20 > wrote:=20
Hi,
 
Im interesting in using ADS as a mapping between LDAP and my applicati= on. to get LDAP support. so basically just the frontend.
 
I have looked arround for examples on how to write the backend but i h= avent realy found soemthing usefull.
 
BR / Johan Asterholm

 
2007/1/22, Emmanuel Lecharny <elecharny@gmail.com>:=20
ok.

But do= you need ADS at all? Or are you just interested by storing DNs into a back= end ?=20


On 1/22/07, = Johan Asterholm < asterholm@g= mail.com=20 > wrote:=20
Hi,
 
By backend can store up to several milion records but its quite fast i= n answering (about ~20 MS) when having 2 milion records. The application wi= ll handle caching itself so no caching wold be necessary. Basically what I&= #39;m looking for is just an example for writing my backend.=20
 
BR / Johan Asterholm

 
2007/1/22, Emmanuel Lecharny <elecharny@gmail.com>:=20
Hi,

the ba= ckend is using its own structure atm. It's based on JDBM, which is a B-= tree storage.=20

The DN are also stored in a B-Tree, and this is not necessarily opt= imal. We may want to go for a H-tree instead of a B-tree for these DN (B-tr= ee and H-tree storages are available in JDBM)

So basically, it'= s just a question to associate a H-tree to the DN storage.=20

Ok, this is theory. In the 'real world', this would need mo= re analysis, and we must evaluate the impact of such a modification on the = code base.

Now, I have a question : how big is your data set ? If i= t's a few thousnads, there would be a very little increase in performan= ce doing that : you have to consider that the cache system will very quickl= y keep in memory all the DN of your database. (you might want to increase t= he cache size for this kind of objects in your partition :=20
...
   <property name=3D"indexedAttributes"&g= t;
      <set>
    = ;    <bean class=3D"org.apache.directory.server.core= .partition.impl.btree.MutableIndexConfiguration">
  &n= bsp;       <property name=3D"attribut= eId" value=3D"=20 1.3.6.1.4.1.18060.0.4.1.2.1" />
     &n= bsp;    <property name=3D"cacheSize" value=3D&q= uot;100" />
        </bean= >
...

In this default configuration, 100 DNs are kept into the= cache. Just increase it to fit your needs.=20

If in cache, grabbing a DN is really fast, wether you use H-tree or= not.

You will just have to consider if this would be of interest t= o modify the backend (with all the burden it suppose) instead of increasing= the cache. And this is again a question of how many DN will you have.=20

I hope this help.

Feel free to go further, we really have th= is Hashing in our radar.

Emmanuel=20


On 1/22/07, = Johan Asterholm < asterholm@g= mail.com=20 > wrote:=20
Hi,
 
I'm trying to develop LDAP integration towards an applicatio= n, but I have a hard time to understand how it all should work.
 
To learn how it should be done I'm trying to develop a backe= nd which works towards a HashMap where the hash Map includes a key (Identif= ier) And then another hashmap with attributes (They are not "Attribute= s" but simply String names of the attribute). I prefer this way since = this is quite similar to what i need to do when integrating towards or appl= ication.=20
 
so searching for  uid=3D1,ou=3Duser,cn=3Dexample,cn=3Dcom w= ould point to a row in the hashmap, but ou=3Duser,cn=3Dexample,cn=3Dcom is = static.
 
Is there any example where a simple backend like this is done? M= aybe not with a HashMap but something similar?
 
This would help me tremendously.
 
BR / Johan Asterholm



--
Cordialement,
Emmanuel L=E9charn= y
www.iktek.com

<= /div>


--
Cordialement,
Emmanuel L=E9charny<= br> www.iktek.com




--
Cordialement,
Emmanuel L=E9c= harny
www.iktek.com




--
Cordialement,
Emmanuel L=E9c= harny
www.iktek.com

------=_Part_155514_20897123.1169494758801--