Layered Implementation of Temporal DBMSs|Concepts and Techniques

A wide range of database applications manage time-varying data. Examples include, e.g., accounting, personnel, schedule, and data warehousing applications. At the same time, it is well-known that querying and correctly updating time-varying data is di cult and error-prone when using standard SQL. As a result of a decade of intensive exploration, temporal extensions of SQL have reached a level of maturity and sophistication where it is clear that they o er substantial bene ts over SQL when managing time-varying data. The topic of this paper is the e ective implementation of temporally extended SQL's. Traditionally, it has been assumed that a temporal DBMS must be built from scratch, utilizing new technologies for storage, indexing, query optimization, concurrency control, and recovery. This paper adopts a quite di erent approach. Speci cally, it explores the concepts and techniques involved in implementing a temporally enhanced SQL while maximally reusing the facilities of an existing SQL implementation, e.g., Oracle or DB2. The topics covered span the choice of an adequate timestamp domain that include the time variable \now," a comparison of alternative query processing architectures including a partial parser approach, update processing, and transaction processing, the latter including how to ensure ACID properties and assign correct timestamps.

[1]  James Clifford,et al.  Recent Advances in Temporal Databases , 1995, Workshops in Computing.

[2]  Martin Hughes,et al.  Time is Just Another Attribute - Or At Least, Just Another Dimension , 1995, Temporal Databases.

[3]  Michael H. Böhlen,et al.  Temporal database system implementations , 1995, SGMD.

[4]  Michael Stonebraker,et al.  The design of POSTGRES , 1986, SIGMOD '86.

[5]  Michael Stonebraker,et al.  The POSTGRES next generation database management system , 1991, CACM.

[6]  Hamid Pirahesh,et al.  Alert: An Architecture for Transforming a Passive DBMS into an Active DBMS , 1991, VLDB.

[7]  Michael H. Böhlen The Temporal Deductive Database System ChronoLog , 1994 .

[8]  Gio Wiederhold,et al.  Penguin: Objects for Programs, Relations for Persistence , 1999 .

[9]  Panagiotis Georgiadis,et al.  Transaction Support in a Temporal DBMS , 1995, Temporal Databases.

[10]  Hamid Pirahesh,et al.  Extensions to Starburst: objects, types, functions, and rules , 1991, CACM.

[11]  Richard T. Snodgrass,et al.  Partitioned storage for temporal databases , 1988, Inf. Syst..

[12]  Richard T. Snodgrass,et al.  Performance Analysis of Temporal Queries , 1989, Inf. Sci..

[13]  Arthur M. Keller,et al.  Implementation of Object View Query on a Relational Database , 1994 .

[14]  Arie Segev,et al.  A glossary of temporal database concepts , 1992, SGMD.

[15]  Christian S. Jensen,et al.  Evaluating and Enhancing the Completeness of TSQL2 , 1995 .

[16]  Betty Salzberg,et al.  Timestamping after commit , 1994, Proceedings of 3rd International Conference on Parallel and Distributed Information Systems.

[17]  Hamid Pirahesh,et al.  Querying Historical Data in IBM DB2 C/S DBMS Using Recursive SQL , 1995, Temporal Databases.

[18]  Michael Stonebraker,et al.  The Implementation of Postgres , 1990, IEEE Trans. Knowl. Data Eng..

[19]  Richard T. Snodgrass,et al.  The TSQL2 Temporal Query Language , 1995 .

[20]  Curtis E. Dyreson,et al.  A Timestamp Representation , 1995, The TSQL2 Temporal Query Language.

[21]  David J. DeWitt,et al.  The EXODUS Extensible DBMS Project: An Overview , 1989 .

[22]  Richard T. Snodgrass,et al.  The temporal query language TQuel , 1987, TODS.

[23]  Alan R. Simon,et al.  Understanding the New SQL: A Complete Guide , 1993 .

[24]  Alan R. Simon Strategic Database Technology: Management for the Year 2000 , 1995 .

[25]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

[26]  Sushil Jajodia,et al.  Temporal Databases: Theory, Design, and Implementation , 1993 .

[27]  llsoo Ahn,et al.  Temporal Databases , 1986, Computer.

[28]  Don S. Batory,et al.  GENESIS: An Extensible Database Management System , 1988, IEEE Trans. Software Eng..