A model of concurrent database transactions

R. Sethi
{"title":"A model of concurrent database transactions","authors":"R. Sethi","doi":"10.1109/SFCS.1981.8","DOIUrl":null,"url":null,"abstract":"When several transactions (processes) read and write items in a database, the question of consistency of the database arises. Consistency is maintained if transactions are serial: all actions of a transaction execute completely before the actions of the next transaction begin. A particular history of interleaved actions belonging to several transactions is correct if it is equivalent to a serial history. We provide a natural framework for studying serializability that encompasses models that have been considered in the literature. A history is represented by a dag in which there is a vertex for each instantaneous value taken by an item in the database. The main tool for determining serializability are \"exclusion rules\" which determine implied orderings between vertices. For example, a vertex that uses a value must be serialized before the value is overwritten. An exclusion closure -- the result of applying the rules as long as possible -- can be constructed in time cubic in the number of vertices. Since determining serializability is NP-complete, exclusion closures cannot always decide serializability, but useful sufficient conditions can be proven. Exclusion closures allow the largest known classes of polynomially serializable histories to be properly extended. When studying serializability it is not necessary to work solely with the dag containing instantaneous values of all items. Three abstractions of the dag are presented which correspond to models of transactions and to \"version graphs\" in the literature. Since serializability of histories is known to be NP-complete, subclasses of serializable histories have been studied. One such class consists of histories serializable in a strict sense: transactions that are already in serial in a history must remain in the same relative order. When there are no useless actions in a history, strict serializability can be determined in polynomial time. If useless actions are permitted then strict serializability becomes NP-complete. The above results apply to two step transactions in which there is a read step followed by a write step, Each step involves some subset of the items in the database. With multistep transactions strict serializability is NP-complete even if there are no useless actions.","PeriodicalId":224735,"journal":{"name":"22nd Annual Symposium on Foundations of Computer Science (sfcs 1981)","volume":"51 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1981-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"14","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"22nd Annual Symposium on Foundations of Computer Science (sfcs 1981)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SFCS.1981.8","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 14

Abstract

When several transactions (processes) read and write items in a database, the question of consistency of the database arises. Consistency is maintained if transactions are serial: all actions of a transaction execute completely before the actions of the next transaction begin. A particular history of interleaved actions belonging to several transactions is correct if it is equivalent to a serial history. We provide a natural framework for studying serializability that encompasses models that have been considered in the literature. A history is represented by a dag in which there is a vertex for each instantaneous value taken by an item in the database. The main tool for determining serializability are "exclusion rules" which determine implied orderings between vertices. For example, a vertex that uses a value must be serialized before the value is overwritten. An exclusion closure -- the result of applying the rules as long as possible -- can be constructed in time cubic in the number of vertices. Since determining serializability is NP-complete, exclusion closures cannot always decide serializability, but useful sufficient conditions can be proven. Exclusion closures allow the largest known classes of polynomially serializable histories to be properly extended. When studying serializability it is not necessary to work solely with the dag containing instantaneous values of all items. Three abstractions of the dag are presented which correspond to models of transactions and to "version graphs" in the literature. Since serializability of histories is known to be NP-complete, subclasses of serializable histories have been studied. One such class consists of histories serializable in a strict sense: transactions that are already in serial in a history must remain in the same relative order. When there are no useless actions in a history, strict serializability can be determined in polynomial time. If useless actions are permitted then strict serializability becomes NP-complete. The above results apply to two step transactions in which there is a read step followed by a write step, Each step involves some subset of the items in the database. With multistep transactions strict serializability is NP-complete even if there are no useless actions.
并发数据库事务模型
当多个事务(进程)读取和写入数据库中的项时,就会出现数据库一致性的问题。如果事务是串行的,则保持一致性:事务的所有操作在下一个事务的操作开始之前完全执行。属于多个事务的交错操作的特定历史记录如果等同于串行历史记录,则是正确的。我们为研究序列化性提供了一个自然的框架,它包含了文献中已经考虑过的模型。历史记录用一个日期表示,在这个日期中,数据库中某项所取的每个瞬时值都有一个顶点。确定可序列化性的主要工具是“排除规则”,它确定顶点之间的隐含顺序。例如,使用某个值的顶点必须在覆盖该值之前进行序列化。排除闭包——尽可能长时间应用规则的结果——可以在顶点数量的时间立方中构建。由于确定可序列化性是np完全的,所以排除闭包不能总是确定可序列化性,但可以证明有用的充分条件。排除闭包允许对多项式可序列化历史的最大已知类进行适当扩展。在研究可序列化性时,没有必要只使用包含所有项目的瞬时值的日期。提出了三种与事务模型和文献中的“版本图”相对应的dag抽象。由于已知历史的可序列化性是np完全的,因此研究了可序列化历史的子类。一个这样的类由严格意义上可序列化的历史记录组成:在历史记录中已经串行的事务必须保持相同的相对顺序。当历史记录中没有无用的操作时,可以在多项式时间内确定严格的序列化性。如果允许无用的操作,那么严格的序列化性就变成NP-complete。上面的结果适用于两个步骤的事务,其中一个是读步骤,一个是写步骤,每个步骤涉及数据库中项目的某个子集。对于多步骤事务,即使没有无用的操作,严格的序列化性也是np完全的。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信