directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ole Ersoy <ole.er...@gmail.com>
Subject Re: [SCHEMA] Can two different LDAP AttributeType's have the same name?
Date Fri, 06 Apr 2007 05:38:18 GMT


Alex Karasulu wrote:
> Ole,
> 
> On 4/5/07, *Ole Ersoy* <ole.ersoy@gmail.com 
> <mailto:ole.ersoy@gmail.com>> wrote:
> 
>     Well,
> 
>     It does make life simpler when there's one simple rule like that :-)
> 
>     It's also a little easier to visually track everything like that.
> 
>     Although now instead of just having an attribute name on an entry like
> 
>     "baseDN"
> 
>     we have to call it:
> 
>     org.apache.tuscany.DASConfig.baseDN
> 
> 
> Yep qualify it.  Many schemas usually have some prefix to their schema 
> entity names.  It makes life easier.
> 
>     I assume this does not really matter that much,
>     because I'm guessing that even though we have
>     200,000,000 entries with the ObjectClass DASConfig,
>     org.apache.tuscany.DASConfig.baseDN is not repeated
>     200,000,000 for each entry.  It's only stored on the ObjectClass right?
> 
> 
> throw new ParserException( "Unable to comprehend exactly what your 
> concern is can you elaborate?" );

:-)
Sure

Each Entry has a set of ObjectClasses associated with it.
Those object classes determine the set of AttributeTypes that
the entry can have.

What I'm wondering about is when I look up a value of an entry,
does ApacheDS pass say:

org.apache.tuscany.DASConfig.baseDN as the key to look up the value
of this attribute?

Or does ApacheDS create a proxy key?

Like this org.apache.tuscany.DASConfig.baseDN = 1 for example.

And then when it stores the attribute it knows that the
AttributeType org.apache.tuscany.DASConfig.baseDN corresponds to 1,
so rather than storing

org.apache.tuscany.DASConfig.baseDN

200M times, it stores the 1 instead.  So the 1 is the proxy
for

org.apache.tuscany.DASConfig.baseDN

and ApacheDS keeps a list of proxies like this for all the
AttributeTypes that it has.

Does that make sense?

In order to do this the server would have to create
a new proxy id for each attributeType added.  So it would
have to keep track of what the last proxy id was.

So if we have 5000 AttributeType entries in the server, then
each one would get a proxy id (Also called a surrogate key)
ranging from 1 to 5000.

Thanks,
- Ole

> 
>     So the only additional storage incurred is from the values of the
>     entries?
> 
> 
> Hmmmm let me see ... you have an objectClass defined right? It has some 
> name like xyz
> and you're asking me what the storage cost is when you have 200M xyz 
> entries in the server
> of that objectClass?
> 
> You would have used ~1200Mb of disk just to identify those entries as 
> xyz objects each costing
> say 6 bytes because each entry has an objectClass attribute with the 
> value xyz.
> 
> Does this answer your question?
> 
> Alex

Mime
View raw message