Databases Reference
In-Depth Information
Bi-Temporal, Conventional, and
Non-Temporal Databases
In this section, we compare data volumes and response times
in bi-temporal and in conventional databases. We find that
differences in both data volumes and response times are gener-
ally quite small, and are usually not good reasons for hesitating
to implement bi-temporal data in even the largest databases of
the world's largest corporations.
Data Volumes in Bi-Temporal and in Conventional
Databases
It might seem that a bi-temporal database will have a lot
more data in it than a conventional database, and will conse-
quently take a lot longer to process. It is true that the size of a
bi-temporal database will be larger than that of an otherwise
identical database which contains only current data about per-
sistent objects. But in our consulting engagements, which span
several decades and dozens of clients, we have found that in
most mission-critical systems, temporal data is jury-rigged into
ostensibly non-temporal databases.
There are any number of ways that this may happen. For
example, in some systems a version date is added to the primary
key of selected tables. In other systems, more advanced forms of
best practice versioning (as described in Chapter 4) are
employed. Sometimes, history will be captured by triggering an
insert into a history table every time a particular non-temporal
table is modified. Another approach is to generate a series of
periodic snapshot tables that capture the state of a non-temporal
table at regular intervals.
Of course, a database with no temporal data at all will
certainlybesmallerthanthesamedatabasewithtemporal
data. But adding up the overhead associated with embedded
best practice versioning, or with triggered history, periodic
snapshots or some combination of these and other techniques,
the amount of data in a so-called non-temporal database
may be as much or even more than the amount of data in a
bi-temporal database.
Throughout this topic, we have been using the terms “non-
temporal database” and “conventional database” as equivalent
expressions. But now we have a reason to distinguish them.
From now on, we will call a database “non-temporal” only if it
Search WWH ::




Custom Search