Hi, On Mon, Sep 24, 2012 at 12:03 PM, Mete Atamel <[email protected]> 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? BR, Jukka Zitting
