Databases Reference
In-Depth Information
Clocks and Clock Ticks
An atomic clock tick is the smallest interval of time recognized
by the DBMS that can elapse between any two physical
modifications to a database. 2 We note that the standard computer
science term for an atomic clock tick is a chronon.Aclock tick is
an interval of time defined on the basis of atomic clock ticks,
and that is used in an Asserted Versioning database to delimit
the two time periods of rows in asserted version tables, and also
to indicate several important points in time. In asserted version
tables, clock ticks are used for effective time begin and end dates
and for episode begin dates; and atomic clock ticks are used for
assertion time begin and end dates, and for row create dates.
Clock ticks may be defined at any level of granularity
supported by the underlying DBMS. A timestamp is a typical
clock tick. A date represents a daily clock tick. A 1-month clock
tick represents a situation in which a database is updated from
a collection of transactions at most once a month.
When time periods measured in clock ticks of different
granularities are compared, the technical issues involved in the
comparison are complex, even if the conceptual issues are not.
In our own implementation of Asserted Versioning, we finesse
these issues by requiring that all asserted version tables in the
same database use clock ticks of the same granularity. In this
book, we assume, albeit somewhat unrealistically, that all
asserted version tables use a clock that ticks once a month (except
where otherwise noted), and we will use the first day of each
month to represent those clock ticks. This means that changes
to these asserted version tables happen on the first of each month
and, by the same token, that the state of the database after each
monthly update will remain unaltered for the rest of the month.
But no matter what granularity we choose for our clock ticks,
there is the issue of how clock ticks of one level of granularity are
mapped onto those of another level. For example, if we choose a
clock tick of one day, when does that day start? Does June 1 st ,
2012 begin at 2012-06-01-12:00:00.000, or perhaps at 2012-06-
01-12:00:00.001, or perhaps even at 2012-05-31-11:59:59.999?
The simplest solution is to let the DBMS determine the mapping
for us; and in most cases this is perfectly adequate. But IT data
management professionals should at least be aware that issues
like these do exist.
2 We are not referring here to the cesium-based atomic clock on which standard time is
based. An atomic clock tick, in the sense being defined here, is a logical concept, not a
physical one.
 
Search WWH ::




Custom Search