The Persistent Cache: Improving OID Indexing in Temporal Object-Oriented Database Systems

In a temporal OODB, an OID index (OIDX) is needed to map from OID to the physical location of the object. In a transaction time temporal OODB, the OIDX should also index the object versions. In this case, the index entries, which we call object descriptors (OD), also include the commit timestamp of the transaction that created the object version. The OIDX in a non-temporal OODB only needs to be updated when an object is created, but in a temporal OODB, the OIDX has to be updated every time an object is updated. This has previously been shown to be a potential bottleneck, and in this paper, we present the Persistent Cache (PCache), a novel approach which reduces the index update and lookup costs in temporal OODBs. We develop a cost model for the PCache, and use this to show that the use of a PCache can reduce the average access cost to only a fraction of the cost when not using the PCache. Even though the primary context of this paper is OID indexing in a temporal OODB, the PCache can also be applied to general secondary indexing, and can be especially beneficial for applications where updates are non-clustered.

[1]  Asit Dan,et al.  A simple analysis of the LRU buffer policy and its relationship to buffer warm-up transient , 1993, Proceedings of IEEE 9th International Conference on Data Engineering.

[2]  Gerhard Weikum,et al.  The LHAM log-structured history data access method , 2000, The VLDB Journal.

[3]  Donald Kossmann,et al.  A Performance Evaluation of OID Mapping Techniques , 1995, VLDB.

[4]  Kjetil Nørvåg,et al.  An Analytical Study of Object Identifier Indexing , 1998, DEXA.

[5]  Jeffrey D. Ullman,et al.  Principles of Database and Knowledge-Base Systems, Volume II , 1988, Principles of computer science series.

[6]  Hiroyuki Kitagawa,et al.  Development and Performance Analysis of a Temporal Persistent Object Store POST/C++ , 1996, Australian Database Conference.

[7]  Michael J. Carey,et al.  Storage management methods for object database systems , 1997 .

[8]  Jeffrey D. Uuman Principles of database and knowledge- base systems , 1989 .

[9]  Wolfgang Effelsberg,et al.  Principles of database buffer management , 1984, TODS.

[10]  Kjetil Nørvåg,et al.  Optimizing OID Indexing Cost in Temporal Object-Oriented Database Systems , 1998, FODO.

[11]  Kjetil Nørvåg,et al.  Log-only temporal object storage , 1997, Database and Expert Systems Applications. 8th International Conference, DEXA '97. Proceedings.

[12]  Ramez Elmasri,et al.  The Time Index and the Monotonic B+-tree , 1993, Temporal Databases.

[13]  David B. Lomet,et al.  Access methods for multiversion data , 1989, SIGMOD '89.

[14]  Mary E. S. Loomis Data Management and File Structures , 1989 .