Temporal DBMS JD Pack Software Architecture
Introduction Conventional databases store “now” data Can store huge amounts of data, but only data in the present What about systems that might require past and even future data storage? (banking, inventory, geographical, medical) Temporal DBMS Databases designed to handle time-dependent data Supported using temporal data models, temporal SQL Key aspects: valid time, transaction time
Valid Time Period of time which data is considered to be valid Storing historical data Retrieve data later, rather than overwrite with new information Data can be valid as past, present, or future Unknown time values are marked as ∞ EmpID Name Department Salary ValidTimeStartValidTimeEnd 10JohnResearch JohnSales JohnSales INF 11PaulResearch GeorgeResearch INF 13RingoSales INF
Transaction Time Time period which data is considered to be true Only occurs in past or present data Allows DBMS to be presented as states Temporal SQL can be used to pull data within a specified time frame that shows when the data was asserted Useful for taxes or auditing NameCityValidStartValidEndT.StartT.End John Doe, Smallville, 3-Apr-1975, ∞, 4-Apr-1975, 27-Dec-1994 John Doe, Smallville, 3-Apr-1975, 26-Aug-1994, 27-Dec-1994, ∞ John Doe, Bigtown, 26-Aug-1994, ∞, 27-Dec-1994, 2-Feb-2001 John Doe, Bigtown, 26-Aug-1994, 1-Jun-1995, 2-Feb-2001, ∞ John Doe, Beachy, 1-Jun-1995, 3-Sep-2000, 2-Feb-2001, ∞ John Doe, Bigtown, 3-Sep-2000, ∞, 2-Feb-2001, 1-Apr-2001 John Doe, Bigtown, 3-Sep-2000, 1-Apr-2001,1-Apr-2001, ∞
Bitemporal Relations Relationship between Valid & Transaction Time Provides both historical and rollback data Storing data using this method allows access to snapshots of the database
Current Temporal Implementations Oracle Workspace Manager TimeDB PostgreSQL Teradata Anchor Modeling IBM DB2 OSIsoft (PI System)
Limitations Schema Evolution It is vital that data be stored using the schema version in which it originally appeared The smallest of changes to the history of a value have to be redone by hand for each version of the schema Time standards SQL2 standards are poorly designed and suffer from range limitations and efficiency Inconsistency Lack of coherent architectures, commercialization Performance
Example – MediaWiki Schema Wiki Commons
Sources