Of Default Values and Ordered Views
Alex Sauer-Budge <[email protected]>
| Newsgroups | gmane.comp.db.metakit |
|---|---|
| Message-ID | <[email protected]> |
Metakit Illuminati, I would be pleased if you could share some of your hard earned knowledge with me by answering some of my questions about Metakit. But first, some context. I am working with a logically three-dimensional data set (observations,objects,measurements). At each of 400-1200 observations, there is a list of ~5000 objects each of which has 1-25 measurements recorded for that observation. The tricky part is that the list of objects varies from observation to observation and the measurements taken on each object varies from observation to observation. For the most part, I will be building the database once and then reading it many times. An example: observation1: object1: measurement1, measurement2 object2: measurement3 observation2: object1: measurement1, measurement2 object3: measurement1 object4: measurement2, measurement3 The typical access pattern is to move from observation to observation, visiting a subset of objects and measurements at each observation. One possible Metakit schema would be: View: observation1, subview1 . . observation1200, subview1200 SubView: object1, measurement1, measurement2, ..., measurement25 . . object5000, measurement1, measurement2, ..., measurement25 Where unavailable measurements are indicated by a special value or there is a boolean flag for each measurement. Question 1: Is there a better schema? It seems that using a special value would reduce the storage requirements and would be more computationally efficient as a result of fewer property look ups. Question 2: Is there a way to override the default value of a property? Can I safely replace c4_Handler::ClearBytes(c4_Bytes& buf_) with my own custom version? In order to quickly search a given observation for a specified object, I would like the subviews to be ordered, but it is not clear to me how to create and maintain order subviews. c4_View c4_View::Ordered(int) returns a derived view that provides a way of accessing the underlying view such that it appears to be ordered. I would rather that the underlying view itself be maintained (and stored) ordered so that I do not need to keep creating ordered derived views. Question 3: Is there a way to directly maintain a view in order? If not, how can I store the ordered view (so I don't need to recreate it every time) and will it be a resource hog? Much thanks for any thoughts you may have on these questions! Thanks, Alex __________________________________ Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger. http://messenger.yahoo.com/ _____________________________________________ Metakit mailing list - [email protected] http://www.equi4.com/mailman/listinfo/metakit