




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Silberschatz, Korth and Sudarshan, Bo Zhou15.1Database System ConceptsnTransaction ConceptnConcurrent ExecutionsnSerializabilitynTesting for SerializabilitynRecoverabilitynTransaction Definition in SQLSilberschatz, Korth and Sudarshan, Bo Zhou15.2Database System ConceptsnE.g. Transaction to transfer
2、 $50 from account A to account B:n1.read(A) 4. read(B)n2.A := A 505. B := B + 50n3.write(A) 6. write(BnA transaction is a unit of program execution that accesses and possibly updates various data items.nA transaction must see a consistent database.nDuring transaction execution the database may be in
3、consistent.nWhen the transaction is committed, the database must be consistent.nTwo main issues to deal with:nFailures of various kinds, such as hardware failures and system crashesnConcurrent execution of multiple transactionsSilberschatz, Korth and Sudarshan, Bo Zhou15.3Database System ConceptsnAt
4、omicity. Either all operations of the transaction are properly reflected in the database or none are.nCommit a transactionnRollback a transactionnConsistency. Execution of a transaction in isolation preserves the consistency of the database.nIsolation. Although multiple transactions may execute conc
5、urrently, each transaction must be unaware of other concurrently executing transactions. Intermediate transaction results must be hidden from other concurrently executed transactions. nDurability. After a transaction completes successfully, the changes it has made to the database persist, even if th
6、ere are system failures. To preserve integrity of data, the database system must ensure:Silberschatz, Korth and Sudarshan, Bo Zhou15.4Database System ConceptsnTransaction to transfer $50 from account A to account B:n1.read(A)n2.A := A 50n3.write(A)n4.read(B)n5.B := B + 50n6.write(B)nConsistency requ
7、irement the sum of A and B is unchanged by the execution of the transaction.nAtomicity requirement if the transaction fails after step 3 and before step 6, the system should ensure that its updates are not reflected in the database, else an inconsistency will result.nFailure could be due to software
8、 or hardwareSilberschatz, Korth and Sudarshan, Bo Zhou15.5Database System ConceptsnDurability requirement once the user has been notified that the transaction has completed (i.e., the transfer of the $50 has taken place), the updates to the database by the transaction must persist despite failures.n
9、Isolation requirement if between steps 3 and 6, another transaction is allowed to access the partially updated database, it will see an inconsistent database (the sum A + B will be less than it should be).nCan be ensured trivially by running transactions serially, that is one after the other. nHowev
10、er, executing multiple transactions concurrently has significant benefits, as we will see.Silberschatz, Korth and Sudarshan, Bo Zhou15.6Database System ConceptsnMultiple transactions are allowed to run concurrently in the system. Advantages are:nincreased processor and disk utilization, leading to b
11、etter transaction throughput: one transaction can be using the CPU while another is reading from or writing to the disknreduced average response time for transactions: short transactions need not wait behind long ones.nConcurrency control schemes mechanisms to achieve isolation, i.e., to control the
12、 interaction among the concurrent transactions in order to prevent them from destroying the consistency of the databaseSilberschatz, Korth and Sudarshan, Bo Zhou15.7Database System ConceptsnLost modification:nDirty Read:T1T21Read(x)2Read(x)3X = x+14Write(x)X = x*25Write(x)T1T21Write(T)2Read(T)3rollb
13、ackSilberschatz, Korth and Sudarshan, Bo Zhou15.8Database System ConceptsnNon repeatable readT1T21Read(x)2Write(x)3Read(x)X ?Silberschatz, Korth and Sudarshan, Bo Zhou15.9Database System ConceptsnSchedules sequences that indicate the chronological order in which instructions of concurrent transactio
14、ns are executedna schedule for a set of transactions must consist of all instructions of those transactionsnmust preserve the order in which the instructions appear in each individual transaction.nSome notions:nSerial SchedulenEquivalent schedulenSerializable ScheduleSilberschatz, Korth and Sudarsha
15、n, Bo Zhou15.10Database System ConceptsnLet T1 transfer $50 from A to B, and T2 transfer 10% of the balance from A to B. The following is a serial schedule (Schedule 1 in the text), in which T1 is followed by T2.nSilberschatz, Korth and Sudarshan, Bo Zhou15.11Database System ConceptsnLet T1 and T2 b
16、e the transactions defined previously. The following schedule (Schedule 3 in the text) is not a serial schedule, but it is equivalent to Schedule 1.nIn both Schedule 1 and 3, the sum A + B is preserved.Silberschatz, Korth and Sudarshan, Bo Zhou15.12Database System ConceptsnThe following concurrent s
17、chedule (Schedule 4 in the text) does not preserve the value of the the sum A + B.nSilberschatz, Korth and Sudarshan, Bo Zhou15.13Database System ConceptsnBasic Assumption nEach transaction preserves database consistency.nWe ignore operations other than read and write instructions, and we assume tha
18、t transactions may perform arbitrary computations on data in local buffers in between reads and writes. Our simplified schedules consist of only read and write instructions.nThus serial execution of a set of transactions preserves database consistency.nA (possibly concurrent) schedule is serializabl
19、e if it is equivalent to a serial schedule. nHow to determine a schedule is equivalent to a serial schedule? nDifferent forms of schedule equivalence give rise to the notions of:n1.conflict serializabilityn2.view serializabilitySilberschatz, Korth and Sudarshan, Bo Zhou15.14Database System Conceptsn
20、Instructions li and lj of transactions Ti and Tj respectively, conflict if and only if there exists some item Q accessed by both li and lj, and at least one of these instructions wrote Q.n1. li = read(Q), lj = read(Q). li and lj dont conflict.2. li = read(Q), lj = write(Q). They conflict.3. li = wri
21、te(Q), lj = read(Q). They conflict4. li = write(Q), lj = write(Q). They conflictnIntuitively, a conflict between li and lj forces a (logical) temporal order between them. If li and lj are consecutive in a schedule and they do not conflict, their results would remain the same even if they had been in
22、terchanged in the schedule.Silberschatz, Korth and Sudarshan, Bo Zhou15.15Database System ConceptsnIf a schedule S can be transformed into a schedule S by a series of swaps of non-conflicting instructions, we say that S and S are conflict equivalent.nWe say that a schedule S is conflict serializable
23、 if it is conflict equivalent to a serial schedulenExample of a schedule that is not conflict serializable:nT3T4read(Q)write(Q)write(Q)We are unable to swap instructions in the above schedule to obtain either the serial schedule , or the serial schedule .Silberschatz, Korth and Sudarshan, Bo Zhou15.
24、16Database System ConceptsnSchedule 3 below can be transformed into Schedule 1, a serial schedule where T2 follows T1, by series of swaps of non-conflicting instructions. Therefore Schedule 3 is conflict serializable.nSilberschatz, Korth and Sudarshan, Bo Zhou15.17Database System ConceptsnLet S and
25、S be two schedules with the same set of transactions. S and S are view equivalent if the following three conditions are met:n1.For each data item Q, if transaction Ti reads the initial value of Q in schedule S, then transaction Ti must, in schedule S, also read the initial value of Q.n2.For each dat
26、a item Q if transaction Ti executes read(Q) in schedule S, and that value was produced by transaction Tj (if any), then transaction Ti must in schedule S also read the value of Q that was produced by transaction Tj .n3.For each data item Q, the transaction (if any) that performs the final write(Q) o
27、peration in schedule S must perform the final write(Q) operation in schedule S.nAs can be seen, view equivalence is also based purely on readsnand writes alone.Silberschatz, Korth and Sudarshan, Bo Zhou15.18Database System ConceptsnA schedule S is view serializable it is view equivalent to a serial
28、schedule.nEvery conflict serializable schedule is also view serializable.nSchedule 9 (from text) a schedule which is view-serializable but not conflict serializable.nnEvery view serializable schedule that is not conflict serializable has blind writes (write(Q) without having performed a read(Q) oper
29、ation).Silberschatz, Korth and Sudarshan, Bo Zhou15.19Database System ConceptsnSchedule 8 (from text) given below produces same outcome as the serial schedule , yet is not conflict equivalent or view equivalent to it.nnnDetermining such equivalence requires analysis of operations other than read and
30、 write.Silberschatz, Korth and Sudarshan, Bo Zhou15.20Database System ConceptsnConsider some schedule of a set of transactions T1, T2, ., TnnPrecedence graph a direct graph where the vertices are the transactions (names).nWe draw an arc from Ti to Tj if the two transaction conflict, and Ti accessed
31、the data item on which the conflict arose earlier.nWe may label the arc by the item that was accessed.nExample 1xySilberschatz, Korth and Sudarshan, Bo Zhou15.21Database System ConceptsT1 T2 T3 T4 T5read(X)read(Y)read(Z)read(V)read(W)read(W)read(Y)write(Y)write(Z)read(U)read(Y)write(Y)read(Z)write(Z
32、)read(U)write(U)Silberschatz, Korth and Sudarshan, Bo Zhou15.22Database System ConceptsT3T4T1T2T5Silberschatz, Korth and Sudarshan, Bo Zhou15.23Database System ConceptsnA schedule is conflict serializable if and only if its precedence graph is acyclic.nIf precedence graph is acyclic, the serializabi
33、lity order can be obtained by a topological sorting of the graph. This is a linear order consistent with the partial order of the graph.For example, a serializability order for Schedule A would beT5 T1 T3 T2 T4 orSilberschatz, Korth and Sudarshan, Bo Zhou15.24Database System ConceptsnTesting a sched
34、ule for serializability after it has executed is a little too late!nGoal to develop concurrency control protocols that will assure serializability. nThey will generally not examine the precedence graph as it is being created; ninstead a protocol will impose a discipline that avoids nonseralizable sc
35、hedules.nWill study such protocols in Chapter 16.nDifferent concurrency control protocols provide different tradeoffs between the amount of concurrency they allow and the amount of overhead that they incur.nTests for serializability help understand why a concurrency control protocol is correct. Silb
36、erschatz, Korth and Sudarshan, Bo Zhou15.25Database System ConceptsnRecoverable schedule if a transaction Tj reads a data items previously written by a transaction Ti , the commit operation of Ti appears before the commit operation of Tj.nThe following schedule (Schedule 11) is not recoverable if T9
37、 commits immediately after the readnIf T8 should abort, T9 would have read (and possibly shown to the user) an inconsistent database state. Hence database must ensure that schedules are recoverable.Need to address the effect of transaction failures on concurrently running transactions.Silberschatz,
38、Korth and Sudarshan, Bo Zhou15.26Database System ConceptsnCascading rollback a single transaction failure leads to a series of transaction rollbacks. Consider the following schedule where none of the transactions has yet committed (so the schedule is recoverable)If T10 fails, T11 and T12 must also b
39、e rolled back.nCan lead to the undoing of a significant amount of worknTheoretically, it is not mandatory to avoid cascading rollback.Silberschatz, Korth and Sudarshan, Bo Zhou15.27Database System ConceptsnCascadeless schedules cascading rollbacks cannot occur; for each pair of transactions Ti and T
40、j such that Tj reads a data item previously written by Ti, the commit operation of Ti appears before the read operation of Tj.nEvery cascadeless schedule is recoverablenIt is desirable to restrict the schedules to those that are cascadelessSilberschatz, Korth and Sudarshan, Bo Zhou15.28Database System ConceptsnData manipulation language must include a construct for specifying the set of actions that comprise a transaction.nIn SQL, a transaction begins implicitly.nSome commercial DBMS support BEGIN TRANSACTION;nAuto Com
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校劳务的合同5篇
- 【正版授权】 IEC 60335-2-118:2025 EN-FR Household and similar electrical appliances - Safety - Part 2-118: Particular requirements for professional ice-cream makers
- 【正版授权】 IEC TR 61857-2:2025 EN Electrical insulation systems – Procedures for thermal evaluation – Part 2: Selection of the appropriate test method for evaluation and classification
- 2025年职业道德与法律试卷及答案
- 2025年体育市场营销师资格考试试题及答案
- 2025年生物科学与技术专业考试题及答案
- 2025年水资源管理工程师资格考试卷及答案
- 2025年工商管理硕士入学考试试卷及答案
- 2025年环评工程师考试题及答案
- 环境卫生整改方案十篇
- 幼儿园大班游戏中“一对一倾听”的策略
- 医院信息安全管理课件
- 2024年初级会计实务考试真题
- 变电站设备危险源辨识清单及预控措施
- GB/T 45083-2024再生资源分拣中心建设和管理规范
- 艾灸疗法课件
- 银行职业介绍课件
- T-CASME 1514-2024 市域智慧共享中药房建设指南
- 《全球各大邮轮公司》课件
- 【MOOC】创新与创业管理-南京邮电大学 中国大学慕课MOOC答案
- 2024年3月天津高考英语第一次高考真题(原卷版)
评论
0/150
提交评论