A new storage organization for temporal data bases
A temporal data base needs to maintain large amounts of data, which causes long delays in accessing information. In this article, we design and develop an efficient storage structure for maintaining both current and historical data. Our strategy consists of two storage organizations, one for current versions and the other for history versions. The organization for current versions follows an efficient storage organization of a conventional nontemporal data base. However, for maintaining the history versions of each item in the data base, we use an extended version of a Fibonacci heap, referred to as a history version heap. The novelty of our approach resides in its ability to insert a new version for an item into the data base in O(1) amortized time and retrieve the oldest version of an item in O(1) amortized time. These bounds are irrespective of the number of existing versions for that item. In addition, we can access or delete any version of a given item in logarithmic amortized time. Because our approach treats the current store and history store differently, it uses different access methods for each store possible.