Simple Rational Guidance for Chopping up Transactions

Dennis Shasha, Eric Simon, Patrick Valduriez

Research output: Contribution to journalArticle

Abstract

Chopping transactions into pieces is good for performance but may lead to non-serializable executions. Many researchers have reacted to this fact by either inventing new concurrency control mechanisms, weakening serializability, or both. We adopt a different approach. We assume a user who • has only the degree 2 and degree 3 consistency options offered by the vast majority of conventional database systems; and •knows the set of transactions that may run during a certain interval 1992. Given this information, our algorithm finds the finest partitioning of a set of transactions TranSet with the following property; if the partitioned transactions execute serializably, then TranSet executes serializably. This permits users to obtain more concurrency while preserving correctness. Besides obtaining more inter-transaction concurrency, chopping transactions in this way can enhance intra-transaction parallelism. The algorithm is inexpensive, running in O(n x (e + m)) time using a naive implementation where n is the number of edges in the conflict graph among the transactions, and m is the maximum number of accesses of any transaction. This makes it feasible to add as a tuning knob to practical systems.

Original languageEnglish (US)
Pages (from-to)298-307
Number of pages10
JournalSIGMOD Record
Volume21
Issue number2
DOIs
StatePublished - Jan 6 1992

Fingerprint

Knobs
Concurrency control
Tuning

ASJC Scopus subject areas

  • Information Systems
  • Software

Cite this

Simple Rational Guidance for Chopping up Transactions. / Shasha, Dennis; Simon, Eric; Valduriez, Patrick.

In: SIGMOD Record, Vol. 21, No. 2, 06.01.1992, p. 298-307.

Research output: Contribution to journalArticle

Shasha, Dennis ; Simon, Eric ; Valduriez, Patrick. / Simple Rational Guidance for Chopping up Transactions. In: SIGMOD Record. 1992 ; Vol. 21, No. 2. pp. 298-307.
@article{b786b2af737a40d49c76d1e5d5a86c96,
title = "Simple Rational Guidance for Chopping up Transactions",
abstract = "Chopping transactions into pieces is good for performance but may lead to non-serializable executions. Many researchers have reacted to this fact by either inventing new concurrency control mechanisms, weakening serializability, or both. We adopt a different approach. We assume a user who • has only the degree 2 and degree 3 consistency options offered by the vast majority of conventional database systems; and •knows the set of transactions that may run during a certain interval 1992. Given this information, our algorithm finds the finest partitioning of a set of transactions TranSet with the following property; if the partitioned transactions execute serializably, then TranSet executes serializably. This permits users to obtain more concurrency while preserving correctness. Besides obtaining more inter-transaction concurrency, chopping transactions in this way can enhance intra-transaction parallelism. The algorithm is inexpensive, running in O(n x (e + m)) time using a naive implementation where n is the number of edges in the conflict graph among the transactions, and m is the maximum number of accesses of any transaction. This makes it feasible to add as a tuning knob to practical systems.",
author = "Dennis Shasha and Eric Simon and Patrick Valduriez",
year = "1992",
month = "1",
day = "6",
doi = "10.1145/141484.130328",
language = "English (US)",
volume = "21",
pages = "298--307",
journal = "SIGMOD Record",
issn = "0163-5808",
publisher = "Association for Computing Machinery (ACM)",
number = "2",

}

TY - JOUR

T1 - Simple Rational Guidance for Chopping up Transactions

AU - Shasha, Dennis

AU - Simon, Eric

AU - Valduriez, Patrick

PY - 1992/1/6

Y1 - 1992/1/6

N2 - Chopping transactions into pieces is good for performance but may lead to non-serializable executions. Many researchers have reacted to this fact by either inventing new concurrency control mechanisms, weakening serializability, or both. We adopt a different approach. We assume a user who • has only the degree 2 and degree 3 consistency options offered by the vast majority of conventional database systems; and •knows the set of transactions that may run during a certain interval 1992. Given this information, our algorithm finds the finest partitioning of a set of transactions TranSet with the following property; if the partitioned transactions execute serializably, then TranSet executes serializably. This permits users to obtain more concurrency while preserving correctness. Besides obtaining more inter-transaction concurrency, chopping transactions in this way can enhance intra-transaction parallelism. The algorithm is inexpensive, running in O(n x (e + m)) time using a naive implementation where n is the number of edges in the conflict graph among the transactions, and m is the maximum number of accesses of any transaction. This makes it feasible to add as a tuning knob to practical systems.

AB - Chopping transactions into pieces is good for performance but may lead to non-serializable executions. Many researchers have reacted to this fact by either inventing new concurrency control mechanisms, weakening serializability, or both. We adopt a different approach. We assume a user who • has only the degree 2 and degree 3 consistency options offered by the vast majority of conventional database systems; and •knows the set of transactions that may run during a certain interval 1992. Given this information, our algorithm finds the finest partitioning of a set of transactions TranSet with the following property; if the partitioned transactions execute serializably, then TranSet executes serializably. This permits users to obtain more concurrency while preserving correctness. Besides obtaining more inter-transaction concurrency, chopping transactions in this way can enhance intra-transaction parallelism. The algorithm is inexpensive, running in O(n x (e + m)) time using a naive implementation where n is the number of edges in the conflict graph among the transactions, and m is the maximum number of accesses of any transaction. This makes it feasible to add as a tuning knob to practical systems.

UR - http://www.scopus.com/inward/record.url?scp=84976734367&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84976734367&partnerID=8YFLogxK

U2 - 10.1145/141484.130328

DO - 10.1145/141484.130328

M3 - Article

VL - 21

SP - 298

EP - 307

JO - SIGMOD Record

JF - SIGMOD Record

SN - 0163-5808

IS - 2

ER -