directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Karasulu <akaras...@apache.org>
Subject Re: [ApacheDS] Merge jdbm-store into jdbm-partition
Date Fri, 04 Jun 2010 06:54:32 GMT
On Fri, Jun 4, 2010 at 1:16 AM, Emmanuel Lecharny <elecharny@gmail.com>wrote:

> On 6/4/10 12:01 AM, Stefan Seelmann wrote:
>
>> Emmanuel Lecharny wrote:
>>
>>
>>> On 6/3/10 10:51 PM, Stefan Seelmann wrote:
>>>
>>>
>>>> Hi dev,
>>>>
>>>> another easy refactoring is to merge the modules jdbm-store and
>>>> jdbm-partiton.
>>>>
>>>>
>>>>
>>> +1. Which one will you keep ? jdbm-store ?
>>>
>>> To me, a partition is associated with a naming context, not with an
>>> underlying store. That implies we should get rid of those XXX-partition
>>> to just keep xxx-store, and keep the partitions at a upper layer (ie,
>>> core)
>>>
>>>
>> I wanted to keep the jdbm-partition module.
>>
>> To me the partition is the concept that the core knows. The core knows
>> nothing about stores. We also define partitions in the configuration,
>> not stores.
>>
>> This is how I understand the architecture:
>>
>> 1. The core defines the Partition interface
>>
>>
> +1


Yes.


>
>  2. XDBM provides an abstract implemementation of the Partition interface
>> and additionally defines the Store interface and search engine.
>>
>>
>
Yes. Also eventually with global identifiers (UUID) acting as primary keys
for the XDBM db scheme we will be able to pull the search functionality out
of the partition and place it above the partition nexus. This will make the
store interface/concept less important as well.


>
>  3. The JDBM partition is a concrete implementation of the XDBM
>> partition. It contains a Store implementation because this is forced by
>> XDBM.
>>
>>
> Here, I disagree. JDBM  is a store, not a partition. XDBM = XXX-Data Base
> Manager, nothing connected to the idea of Partition.
> We could probably say that XDBM and Store is the same concept.
>
>
I think we're overloading too much meaning into Store here. Treat it as a
simple interface and forget about trying to draw more meaning out of it such
as "Database Manager" etc. Search happens on this Store which exposes all
the methods needed to perform various operations. It's just an
interface coalescing all these functions together into a single place so for
example we can hand off a store to different parts of the XDBM
implementation and have it operate on that object.


> But let's discuss this aspect further, I may perfectly be wrong, I'm just
> trying to manipulate concepts here.
>
>
I think we're trying to draw more meaning from this concept which we do not
need to.
-- 
Alex Karasulu
My Blog :: http://www.jroller.com/akarasulu/
Apache Directory Server :: http://directory.apache.org
Apache MINA :: http://mina.apache.org
To set up a meeting with me: http://tungle.me/AlexKarasulu

Mime
View raw message