[Date Prev][Date Next] [Chronological] [Thread] [Top]

RE: Proxycache Documentation - again , . . . .







Reinhard,

Here are some references on LDAP query caching, the last one is my own
work:

http://www.research.att.com/~divesh/papers/cks99-ldapcache.ps
http://www.research.att.com/~divesh/papers/kns2000-templates.ps
http://2003.iwcs.org/papers/gupta.pdf

Regards,
Apurva Kumar,
Research Staff Member,
IBM India Research Lab
Phone: +91-11-26861100
Fax: +91-11-26861555


                                                                                                                                       
                      "Voglmaier,                                                                                                      
                      Reinhard Erich"          To:       Apurva Kumar/India/IBM@IBMIN                                                  
                      <rv33100@gsk.com>        cc:       "'Howard Chu'" <hyc@highlandsun.com>, openldap-devel@OpenLDAP.org,            
                                                owner-openldap-devel@OpenLDAP.org                                                      
                      04/06/04 02:57 PM        Subject:  RE: Proxycache Documentation   - again , . . . .                              
                                                                                                                                       
                                                                                                                                       
                                                                                                                                       



Apurva,

That's a very interesting subject: the trade-off between the cost of
finding
cached results and the gain in performance using the cache compared with
running the query against the origin directory. I am working in this moment
at caching question regarding web requests, the subject is different
inasmuch web requests are mostly static pages, but the problems of finding
entries in the cache are very similar.

I will spend some time playing around with query caching, if something
useful comes out, I could post it.
Do you have some suggestions 4 me or know who else did work on it ?

Best
Reinhard


-----Original Message-----
From: Apurva Kumar [mailto:kapurva@in.ibm.com]
Sent: martedì 6 aprile 2004 9.56
To: Voglmaier, Reinhard Erich
Cc: 'Howard Chu'; openldap-devel@OpenLDAP.org;
owner-openldap-devel@OpenLDAP.org
Subject: RE: Proxycache Documentation - again , . . . .







An important design consideration was to reduce the cost of query
containment. Proxy cache is designed to improve performance for a subset of
queries which belong to specified templates. Thus containment is checked
between queries of the same template. Apart from reducing the number of
filter and attribute set comparisons, it greatly simplifies filter
containment (at least for conjunctive queries). This does result in
slightly
reduced cache answerability.

Regards,
Apurva

-----------

Apurva Kumar,
Research Staff Member,
IBM India Research Lab
Phone: +91-11-26861100
Fax: +91-11-26861555




                      "Voglmaier, Reinhard

                      Erich"                        To:       "'Howard
Chu'"
<hyc@highlandsun.com>
                      <rv33100@gsk.com>             cc:
openldap-devel@OpenLDAP.org

                      Sent by:                      Subject:  RE:
Proxycache
Documentation   - again , . . . .
                      owner-openldap-devel@O

                      penLDAP.org





                      04/03/04 03:01 PM








Since things are clear now, one change to make at the administration
handbook:

In this documentation I wrote:

An example slapd.conf(5) database section
        database        ldap
        suffix          "dc=example,dc=com"
        rootdn          "dc=example,dc=com"
        uri             ldap://ldap.example.com/dc=example%2cdc=com
        overlay proxycache
        proxycache    bdb 100000 1 1000 100
        proxyAttrset  0 mail postaladdress telephonenumber
        proxyTemplate (sn=) 0 3600
        proxyTemplate (&(sn=)(givenName=)) 0 3600
        proxyTemplate (&(departmentNumber=)(secretary=*)) 0 3600

        cachesize 20
        directory ./testrun/db.2.a
        index       objectClass eq
        index       cn,sn,uid,mail  pres,eq,sub


Etc, etc, . . . . . .

        Filter: (&(sn=Richard*)(givenName=jack))
        Attrs: mail telephoneNumber

is cacheable, because it matches the template (&(sn=)(givenName=)) and its
attributes are contained in proxyAttrset 0.


This should be: IS NOT CACHEABLE, because mail,telephoneNumber is not
defined as an attribute set of its own.
        Filter: (&(sn=Richard*)(givenName=jack))
        Attrs: mail postaladdress telephonenumber

however is cacheable.



However let me make an observation:
In this case the cache contains even more information the user needs, it
contains for every record mail postaladdress telephonenumber

Why not give him "mail and telephonenumber" just available in the cache ?
What if the administrator of the cache whishes to store 20 attributes and
allow any combination of them to be served from the cache ?


-----Original Message-----
From: Howard Chu [mailto:hyc@highlandsun.com]
Sent: giovedì 1 aprile 2004 13.02
To: Voglmaier, Reinhard Erich
Cc: openldap-devel@openldap.org
Subject: RE: Proxycache Documentation


> -----Original Message-----
> From: Voglmaier, Reinhard Erich [mailto:rv33100@gsk.com]

> I've read carefully the post of Kumar. I have also defined the
> attribute set.

Not carefully enough. You should break your example down step by step, then
the answer is quite obvious.

> proxyAttrset 0 mail sn givenName telephoneNumber proxyTemplate (sn=) 0
> 3600
>
> Therefore the search (sn=Voglma*) mail sn givenName telephoneNumber
>
> Results: cacheable.
>
> The search (sn=Voglm*) mail therefore should be answerable from the
> cache. Is this correct or do I misunderstand the documentation ?

Quoting Kumar's post:

>>A query Q, with requested attribute set S and filter F is answered by
>>a cached query Q' with attribute set S' and filter F' if:

>>(i) "proxyAttrset  S" appears in the proxy overlay definition.
>>(ii) S is either same or a subset of S'.

The situation is this:

You have a cached query Q': (sn=Voglma*)
with the attrset S': mail sn givenName telephoneNumber

And then you follow with a query Q: (sn=Voglma*)
with attrs S: mail

By rule (i) above, 'mail' must be defined in a proxyAttrset directive of
its
own. If it is not defined, then the query will not be matched in the cache.

> -----Original Message-----
> From: Howard Chu [mailto:hyc@highlandsun.com]
> Sent: venerdì 26 marzo 2004 12.05
> To: Voglmaier, Reinhard Erich
> Cc: openldap-devel@OpenLDAP.org
> Subject: RE: Proxycache Documentation
>
>
> No, upon further investigation I concluded that the code is working as
> designed. Please re-read Apurva Kumar's post. You must have the
> attribute sets explicitly defined.
> http://www.openldap.org/lists/openldap-devel/200403/msg00083.html
>
>   -- Howard Chu
>   Chief Architect, Symas Corp.       Director, Highland Sun
>   http://www.symas.com               http://highlandsun.com/hyc
>   Symas: Premier OpenSource Development and Support
>
> > -----Original Message-----
> > From: owner-openldap-devel@OpenLDAP.org
> > [mailto:owner-openldap-devel@OpenLDAP.org]On Behalf Of Voglmaier,
> > Reinhard Erich
> > Sent: Friday, March 26, 2004 2:18 AM
> > To: 'Howard Chu'; ando@sys-net.it
> > Cc: openldap-devel@OpenLDAP.org
> > Subject: RE: Proxycache Documentation
> >
> >
> > Howard,
> >
> > Should it be fixed just in the release 2.2.7 ?
> > I ask coz I have the same problem with the new release.
> Should I make
> > a bug report ?
> >
> > Cheers
> > Reinhard
> >
> >
> > -----Original Message-----
> > From: Howard Chu [mailto:hyc@highlandsun.com]
> > Sent: venerdì 19 marzo 2004 9.35
> > To: Voglmaier, Reinhard Erich; ando@sys-net.it
> > Cc: openldap-devel@OpenLDAP.org
> > Subject: RE: Proxycache Documentation
> >
> >
> > > -----Original Message-----
> > > From: Voglmaier, Reinhard Erich [mailto:rv33100@gsk.com]
> >
> > > I'm not quite sure what I should do, kinda it's a bug or
> a feature ?
> > >
> > > For example, the doc does not speak about query containment. (
> > > actually the paper the docs points to does, however the
> syntax it's
> > > using is different from the actual used one )
> > >
> > > If I cash a query that has brings back "sn, cn,
> > telephoneNumber, mail"
> > > and make a new query asking only for "sn, cn"   ( other stuff
> > > remains the
> > > same, obviously )
> > > Should this be answered from the cache or not ?
> > > Query containment should mean it comes from the cache,
> > actually it's
> > > not answerable ( info from the log file ).
> > > Is this a bug, or is this ok ?

  -- Howard Chu
  Chief Architect, Symas Corp.       Director, Highland Sun
  http://www.symas.com               http://highlandsun.com/hyc
  Symas: Premier OpenSource Development and Support