jackrabbit-oak-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mete Atamel <mata...@adobe.com>
Subject Re: Going beyond path-based access in MK (Was: Mongo property limit)
Date Tue, 25 Sep 2012 06:48:00 GMT

That's an interesting idea. On one hand, we'll save space by not storing
the full path of every node, but on the other hand, we'll need to maintain
this additional node name -> oid map in every parent node. Additionally,
for every node retrieval, we'll have to traverse from root all the way to
the leaf child and at every step, we'll need to check the name -> oid map
to figure out the next step, right? So, instead of one Mongo query with
full path, we'll be doing N queries with oids where N is the depth of the
full path being retrieved. So, at this point, I'm wondering if this is
really an optimization?


On 9/24/12 2:23 PM, "Jukka Zitting" <jukka.zitting@gmail.com> wrote:

>On Mon, Sep 24, 2012 at 12:03 PM, Mete Atamel <matamel@adobe.com> wrote:
>> In MongoMK, we have a "path" property which stores the full path of a
>> node.
>This actually raises a bigger question about the MicroKernel design.
>Currently all content access through the MicroKernel is keyed by the
>revision and full path of the node being accessed.
>In practice this means that the MicroKernel needs to do a
>revision/path lookup for each access, which for example in this case
>means that the node records in the MongoMK need to store the full path
>of the node.
>However, when accessing a node, Oak will follow the path and access
>all the ancestor nodes first (in practice they're already cached) and
>thus we may well have additional information that the MicroKernel
>implementation could use for accessing a node.
>For example, in MongoMK, instead of storing just a set of child node
>names in a parent node and then do an index lookup based on the
>combined path of a child, an alternative could be to store a name ->
>oid map in the parent node and thus be able to directly lookup a child
>node based on its object id.
>Would it make sense to consider adjusting the MicroKernel interface to
>allow such optimizations?
>Jukka Zitting

View raw message