Transaction Time

Download Report

Transcript Transaction Time

CS240A: Databases and Knowledge Bases
A Taxonomy of Temporal Databases
Carlo Zaniolo
Department of Computer Science
University of California, Los Angeles
Revised : January 2003
Valid Time and Transaction Time

Valid Time of a fact: when the fact is true in the
modeled reality

Transaction Time of a fact: when it was recorded
in the database

Thus we have four different kinds of tables:
1.
Snapshot
2.
Valid-time
3.
Transaction-time
4.
Bitemporal
Example: Tom's Employment History

On January 1, 1984, Tom joined thefaculty as an
Instructor.

On December 1, 1984, Tom completed his
doctorate, and so was promoted to Assistant
Professor effective retroactively on July 1, 1984.

On March 1, 1989, Tom was promoted to
Associate Professor, effective July 1, 1989
(proactive update).
Queries and Updates

A transaction time table is append only it keeps the history
of the updates made on the database.

Transaction time tables supports rollback queries, such as:

On October 1, what rank was our database showing for Tom?

A valid time table can be updated: e.g., Tom’s past record
is changed once his rank is changed retroactively.

Valid time tables support historical queries, such as:

What was Tom’s rank on October 1 (according to our current
database)?
Bitemporal Tables

Bitemporal Tables are appendonly and supports
queries of both kinds (rollback&historical) such as:
 On
October 1, 1984, what did we think Tom's rank was
at that date?

TSQL3:
SELECT Rank
FROM Faculty AS F
WHERE Name = 'Tom‘
AND
VALID(F) OVERLAPS DATE '19841001‘
AND
TRANSACTION(F) OVERLAPS DATE '19841001'
Overview of Temporal Data Models

What is timestamped?
 Tuples
 Attributes
 Group

of Attributes
Granularity of time-stamps:
 Single
instant in time (point-based representation)
 Maximum continuous periods
 Set of periods

Explicit (operators on time-stamps) vs. implicit
data model (as TSQL2)
More Timestamps?

The value of an individual attribute

Groups of attribute values

Individual tuple

Set of tuples: Generally used for transaction time, to
timestamp a set of tuples inserted or modified by a
transaction.

Object: O-O DBs, XML documents

Object graph: E.g., associate a connected set of modules
(a configuration) with a particular version identifier.

Schema Item: support for schema versions represents a
difficult and important problem

Events and time series: very important!
Desiderata for a Temporal Data Model

Capture the semantics of timevarying information

Retain simplicity of the relational model: Strict
superset of the relational model

Present all the information concerning an object in
a coherent fashion

Ensure ease of implementation

Ensure high performance
Temporal Databases:
State of the Art

Over 40 temporal data models and associated
temporal query languages have been defined.

Design space has been fairly well covered.

A single data model satisfying all desirable
objectives appears to be unattainable.

TSQL2: a consensus approach proposed for
inclusion in SQL3 standards.
 TSQL2
supports valid time, transaction-time and
bitemporal relations, and
 Uses
set of periods as its basic representation for time--but it is an implicit temporal model.