On Decoupling Concurrency Control from Recovery in Database Repositories

We report on initial research on the concurrency control issue of compiled database applications. Such applications have a repository style of architecture in which a collection of software modules operate on a common database in terms of a set of predefined transaction types, an architectural vie...

Full description

Bibliographic Details
Main Author: Yu, Heng
Language:en
Published: University of Waterloo 2006
Subjects:
Online Access:http://hdl.handle.net/10012/1084
id ndltd-LACETR-oai-collectionscanada.gc.ca-OWTU.10012-1084
record_format oai_dc
spelling ndltd-LACETR-oai-collectionscanada.gc.ca-OWTU.10012-10842014-06-18T03:51:11Z On Decoupling Concurrency Control from Recovery in Database Repositories Yu, Heng Computer Science database repository compiled database application transaction tree locking workload We report on initial research on the concurrency control issue of compiled database applications. Such applications have a repository style of architecture in which a collection of software modules operate on a common database in terms of a set of predefined transaction types, an architectural view that is useful for the deployment of database technology to embedded control programs. We focus on decoupling concurrency control from any functionality relating to recovery. Such decoupling facilitates the compile-time query optimization. <br /><br /> Because it is the possibility of transaction aborts for deadlock resolution that makes the recovery subsystem necessary, we choose the deadlock-free tree locking (TL) scheme for our purpose. With the knowledge of transaction workload, efficacious lock trees for runtime control can be determined at compile-time. We have designed compile-time algorithms to generate the lock tree and other relevant data structures, and runtime locking/unlocking algorithms based on such structures. We have further explored how to insert the lock steps into the transaction types at compile time. <br /><br /> To conduct our simulation experiments to evaluate the performance of TL, we have designed two workloads. The first one is from the OLTP benchmark TPC-C. The second is from the open-source operating system MINIX. Our experimental results show TL produces better throughput than the traditional two-phase locking (2PL) when the transactions are write-only; and for main-memory data, TL performs comparably to 2PL even in workloads with many reads. 2006-08-22T14:23:26Z 2006-08-22T14:23:26Z 2005 2005 Thesis or Dissertation http://hdl.handle.net/10012/1084 en Copyright: 2005, Yu, Heng . All rights reserved. University of Waterloo
collection NDLTD
language en
sources NDLTD
topic Computer Science
database repository
compiled database application
transaction
tree locking
workload
spellingShingle Computer Science
database repository
compiled database application
transaction
tree locking
workload
Yu, Heng
On Decoupling Concurrency Control from Recovery in Database Repositories
description We report on initial research on the concurrency control issue of compiled database applications. Such applications have a repository style of architecture in which a collection of software modules operate on a common database in terms of a set of predefined transaction types, an architectural view that is useful for the deployment of database technology to embedded control programs. We focus on decoupling concurrency control from any functionality relating to recovery. Such decoupling facilitates the compile-time query optimization. <br /><br /> Because it is the possibility of transaction aborts for deadlock resolution that makes the recovery subsystem necessary, we choose the deadlock-free tree locking (TL) scheme for our purpose. With the knowledge of transaction workload, efficacious lock trees for runtime control can be determined at compile-time. We have designed compile-time algorithms to generate the lock tree and other relevant data structures, and runtime locking/unlocking algorithms based on such structures. We have further explored how to insert the lock steps into the transaction types at compile time. <br /><br /> To conduct our simulation experiments to evaluate the performance of TL, we have designed two workloads. The first one is from the OLTP benchmark TPC-C. The second is from the open-source operating system MINIX. Our experimental results show TL produces better throughput than the traditional two-phase locking (2PL) when the transactions are write-only; and for main-memory data, TL performs comparably to 2PL even in workloads with many reads.
author Yu, Heng
author_facet Yu, Heng
author_sort Yu, Heng
title On Decoupling Concurrency Control from Recovery in Database Repositories
title_short On Decoupling Concurrency Control from Recovery in Database Repositories
title_full On Decoupling Concurrency Control from Recovery in Database Repositories
title_fullStr On Decoupling Concurrency Control from Recovery in Database Repositories
title_full_unstemmed On Decoupling Concurrency Control from Recovery in Database Repositories
title_sort on decoupling concurrency control from recovery in database repositories
publisher University of Waterloo
publishDate 2006
url http://hdl.handle.net/10012/1084
work_keys_str_mv AT yuheng ondecouplingconcurrencycontrolfromrecoveryindatabaserepositories
_version_ 1716669944317345792