3 May 18:21
s5 properties proposal
From: Peter Amstutz <tetron@...>
Subject: s5 properties proposal
Newsgroups: gmane.comp.lib.vos.devel
Date: 2008-05-03 16:25:14 GMT
Subject: s5 properties proposal
Newsgroups: gmane.comp.lib.vos.devel
Date: 2008-05-03 16:25:14 GMT
Why the current s5 design for "embedde children" doesn't work... Background. A key aspect of the design of VOS s3 and s4 is the parent/child list. This is an associative array of name/value pairs, where the value is a link to another vobject. This list of outgoing links plays a key role in VOS as the primary mechanism of linking vobjects to "properties" (other vobjects storing values that describe the first vobject) as well as the overall organization of vobjects into a (mostly) hierarchical namespace. Advantages of this scheme (that have gotten us pretty far): - A naive implementation is very easy, only need the Vobject class. - Serialization/persistance is pretty easy. - Introspection of the vobject structure is straightforward. - Accomodates lists (order-sensitive) and maps (key/value pairs). - Vobjects can share properties and link to remote properties. Disadvantages of this scheme (that we learned the hard way): - An efficient implementation is very difficult. Since properties are standalone vobjects, there is a great deal of overhead associated with it: the property vobject has its own child list, access control list, listener list, etc. - Because of the overhead, scaling up to large numbers of vobjects (over 10,000) turned out to be a problem. - The child list is always order sensitive, even when not required or desiriable. - Poorly suited to object/relational mapping. - Associative array semantics permits duplicate, redundant or(Continue reading)
RSS Feed