-------------------------------------------------------------------------- Overlapping B+-trees: an Implementation of a Transaction Time Access Method (the source code) -------------------------------------------------------------------------- October 8, 2000 Table of Contents ----------------- 1. Overview 2. Copyright and Distribution 3. Documentation 4. What to Read 5. Bugs 6. File List 7. Acknowledgements 1. Overview ----------- Overlapping B+-trees is an efficient indexing method for transaction time databases. Modification operations (i.e. insertions, deletions and updates) are allowed at the current version, whereas queries are allowed to any temporal version, i.e. either in the current or in past versions. Using this structure, snapshot and range-timeslice queries can be answered, optimally. However, the fundamental objective of the proposed method is to deliver efficient performance in case of a general pure-key query (i.e. ``history of a key"). 2. Copyright and Distribution ----------------------------- This source code was created by Mr. Theodoros Tzouramanis , from Aristotle University of Thessaloniki, Department of Informatics, Thessaloniki, Greece, under the supervision of Prof. Yannis Manolopoulos and Prof. Nikos Lorentzos. Permission is granted to copy this software, to redistribute it on a nonprofit basis, and to use it for any purpose, subject to the following restrictions and understandings: a. Any copy made of this software must include this copyright notice in full. b. All materials developed as a consequence of the use of this software shall duly acknowledge such use, in accordance with the usual standards of acknowledging credit in academic research. c. The authors have made no warranty or representation that the operation of this software will be error-free or suitable for any application, and they are under no obligation to provide any services, by way of maintenance, update, or otherwise. The software is an experimental prototype offered on an as-is basis. d. Redistribution for profit requires the express, written permission of the authors. 3. Documentation ---------------- The source code was written in C programming language (for Borland C++, Ver. 3.1, by Borland International, Inc.). We provide brief explanations for every routine in the course code (in English). Precondition: the program has to be run in a directory where the datafile "input.dat" is. Otherwise: an error message is printed. After running the program, when you look in your directory you will find the following new files: * experime.txt: Its a log file to printed out the values of some parameter numbers that describe the performance of the Overlapping B+-trees. * rec.dat : Contains the T-trees. * trans.dat : Contains the Transaction Time Tree (TTT structure). 4. What to Read --------------- Before trying to understand the source code, please read carefully the following papers: [TML98] T. Tzouramanis, Y. Manolopoulos and N. Lorentzos: ``Overlapping B+-Trees : An Implementation of a Transaction Time Access Method'', Data and Knowledge Engineering, Vol.29, No.3, pp.381-404, 1999. [LD86] S.D. Lang and J.R. Driscoll: Improving the Differential File Technique via Batch Operations for Tree Structured File Organizations, Proceedings of the IEEE International Conference on Data Engineering, Los Angeles, CA, 1986. 5. Bugs ------- Send bug reports to Theodoros Tzouramanis . When reporting bugs, please include the exact wording of any error messages. Don't expect a fast response - the work I'm doing now takes priority. 6. File List ------------ This zip file must contain the following files: OVERBT.H OVERBT.C README.TXT (this file) INPUT.DAT (input datafile) 7. Acknowledgements ------------------- Mr. Apostolos Papadopoulos for his helpful comments. ----------------------------------------------------------------------------