On Mon, Sep 24, 2012 at 2:23 PM, Jukka Zitting <[email protected]> wrote: > 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?
IIUC storing the path in every record is an implementation detail of the current MongoMK design. i am rather reluctant to make major changes to the MicroKernel API at this late stage and based on limitations of a specific MK implementation approach. cheers stefan > > BR, > > Jukka Zitting
