Tuesday, November 10, 2009

Two Dimensional Time

One of the trickier data warehousing situations I've encountered is the need to track changes in a time line, over time.  The prototypical situation being something like contract terms, which can be renegotiated and corrected.  The contract provides a specific set of terms that are valid for particular time ranges.  The collection of those constitute a particular time line.  The desire is to track the changes to that time line, over time.  This satisfies an audit point as well provide for the analysis of "if we did a better job understanding and enforcing our contracts, what impact would that have on the bottom line?"

This concept of tracking changes to a time line, over time, introduces what you might think about as a two dimensional view of time itself.  There is what I would refer to as observed time (the movement of time itself) and perceived time (what particular points in time look like given some point in observed time).

You can imagine a picture that looks like this:

Perceived Time
     ^
   9 | C.CA..AB.
   8 | A.....AB.
   7 | A.AB.....
   6 | A.AB.....
   5 | A........
     +----------->  Observed Time
       123456789

The horizontal access represents a view into time.  Movement along the vertical access represents a movement in time and potential restatement of history.

It's a fascinating way of looking at time two dimensionally.  I suppose that their could be additional dimensionality to this model as well.  In two dimensions it can describe "what I think happened."  With a third dimension, it could represent "what I think I thought happened."  And so on.

I'm sure a deeper study of philosophy and mathematics could give me a stronger academic and theoretical background for this conversation, but in the meantime, I think that modeling a two dimensional perception of time lines is sufficient for most uses:

ID
Attributes
Effective_Date
Expiration_Date
Perception_Start_Date
Perception_End_Date

And the round-up for today...
#pragprowrimo word count: 16,063

No comments:

Post a Comment