The doctoral dissertations of the former Helsinki University of Technology (TKK) and Aalto University Schools of Technology (CHEM, ELEC, ENG, SCI) published in electronic format are available in the electronic publications archive of Aalto University - Aaltodoc.
Aalto

B-tree Concurrency Control and Recovery in a Client-Server Database Management System

Ibrahim Jaluta

Dissertation for the degree of Doctor of Science in Technology to be presented with due permission of the Department of Computer Science and Engineering for public examination and debate in Auditorium T2 at Helsinki University of Technology (Espoo, Finland) on the 8th of March, 2002, at 12 noon.

Dissertation in PDF format (ISBN 951-22-5706-8)   [296 KB]
Dissertation is also available in print (ISBN 951-22-5810-2)

Abstract

In this thesis, we consider the management of transactions in a data-shipping client-server database system in which the physical database is organized as a sparse B±tree or B-link-tree index. Client transactions perform their operations on cached copies of index and data pages. A client transaction can contain any number of operations of the form "fetch the first (or next) matching record", "insert a record", or "delete a record", where database records are identified by their primary keys. Efficient implementation of these operations on B±tree and B-link trees are developed for page-server systems. Our algorithms guarantee recoverability of the logical database operations as well as the tree-structure modifications on the physical B±tree or B-link tree. Record updates and structure modifications are logged using physiological log records, which are generated by clients and shipped to the server. During normal processing client transaction aborts and rollbacks are performed by the clients themselves. The server applies the write-ahead logging (WAL) protocol, and the steal and no-force buffering policies for data and index pages. The server performs the restart recovery after a system failure using an ARIES-based recovery protocol.

Tree-structure modifications such as page splits and merges are defined as small atomic actions, where each action affects only two levels of a B±tree, or a single level of a B-link tree, while retaining the structural consistency and balance of the tree. In the case of a B-link tree, our balance conditions guarantee that all pages always contain at least m (a chosen minimum load factor) records and that the length of the search path of a database record is never greater than twice the tree height. Deletions are handled uniformly with insertions, so that underflows are disposed of by merging a page into its sibling page or redistributing the records between two sibling pages. Each structure modification is logged using a single physiological redo-only log record. Hence, structure modifications need never be undone during transaction rollback or restart recovery.

Our algorithms allow for inter-transaction caching of data and index pages, so that a page can reside in a client cache even when no transaction is currently active at the client. Cache consistency is guaranteed by a replica-management protocol based on callback locking. In one set of our algorithms, both the concurrency-control and replica-management protocols operate at the page level. These algorithms are most suitable for object-oriented database and CAD/CAM applications, where long-lasting editing sessions are typical. Another set of our algorithms is designed for general database applications where concurrency and transaction throughput are the major issues. In these algorithms, transaction isolation is guaranteed by the key-range locking protocol, and replica management operates in adaptive manner, so that only the needed record may be called back. A leaf (data) page may now contain uncommitted updates by several client transactions, and uncommitted updates by one transaction on a leaf page may migrate to another page in structure modifications. Moreover, a record in a leaf page cached at one client can be updated by one transaction while other records in copies of the same page cached at other clients can simultaneously be fetched by other transactions.

Keywords:
Computing Reviews (1998) Categories and Subject Descriptions: H.2.2 [Database Management]: Physical Design - access methods, recovery and restart; H.2.4 [Database Management]: Systems - concurrency, transaction processing.
General terms: algorithms, design.
Additional keywords and phrases: ARIES, B-link tree, B-tree, cache consistency, callback locking, client-server database system, key-range locking, page server, physiological logging, tree-structure modifications.

This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.

© 2002 Helsinki University of Technology


Last update 2011-05-26