当前位置:网站首页>Serializability of concurrent scheduling
Serializability of concurrent scheduling
2022-07-05 21:59:00 【Short section senior】
Different scheduling of concurrent transactions by database management system may produce different results
Serial scheduling is correct
It is also true that the execution result is equivalent to serial scheduling , It is called serializable scheduling
Serializable scheduling
Serializable (Serializable) Dispatch
Concurrent execution of multiple transactions is correct , If and only if the result is the same as when these transactions are executed serially in a certain order
Serializability (Serializability)
It is the criterion for the correct scheduling of concurrent transactions
A given concurrent schedule , If and only if it is serializable , I think it's the right scheduling
[ example 11.2] Now there are two transactions , The following operations are included respectively :
Business T1: read B;A=B+1; Write back to A
Business T2: read A;B=A+1; Write back to B
Different scheduling strategies for these two transactions are given
Serial scheduling , Correct scheduling 
hypothesis A、B The initial values of are 2.
Press T1→T2 The sequence execution result is A=3,B=4
Serial scheduling policy , Correct scheduling 
hypothesis A、B The initial values of are 2.
T2→T1 The sequence execution result is B=3,A=4
Serial scheduling policy , Correct scheduling
Non serializable scheduling , Wrong scheduling 
Execution results and (a)、(b) The results are all different
It's the wrong scheduling
Serializable scheduling , Correct scheduling 
Execution results and serial scheduling (a) The execution results are the same
Is the right scheduling
Conflicts can be scheduled serially
Conflicts can be serialized
A more stringent condition than serializability
The scheduler in the commercial system adopts
Conflicting operations : It refers to the reading and writing operations of different transactions on the same data :
Ri(x) And Wj(x) /* Business Ti read x,Tj Write x, among i≠j*/
Wi(x) And Wj(x) /* Business Ti Write x,Tj Write x, among i≠j*/
Other operations are non conflicting operations
It can't be exchanged (Swap) The action of :
Two operations of the same transaction
Conflicting operations of different transactions
A dispatch Sc In the case of keeping the order of conflicting operations unchanged , Get another schedule by exchanging the order of two non conflicting transactions Sc’, If Sc’ It's serial , Call scheduling Sc Conflict serializable scheduling
If a scheduling conflict is serializable , Then it must be serializable scheduling
This method can be used to determine whether a schedule is conflict serializable
[ example 11.3] There is a dispatch today

Sc2 Equivalent to a serial scheduling T1,T2. therefore Sc1 Conflict serializable scheduling
Conflict serializable scheduling is a sufficient condition for serializable scheduling , It's not necessary . There is also serializable scheduling that does not meet the conflict serializability condition .
[ example 11.4] Yes 3 One transaction T1=W1(Y)W1(X),T2=W2(Y)W2(X),T3=W3(X)
Dispatch L1=W1(Y)W1(X)W2(Y)W2(X) W3(X) Is a serial scheduler .
Dispatch L2=W1(Y)W2(Y)W2(X)W1(X)W3(X) Does not satisfy conflict serializability . But scheduling L2 It's serializable , because L2 Execution results and scheduling L1 identical ,Y All the values of are equal to T2 Value ,X All the values of are equal to T3 Value
Welcome to join me for wechat exchange and discussion ( Please note csdn Add )
边栏推荐
- How to organize an actual attack and defense drill
- Evolution of large website architecture and knowledge system
- Summarize the reasons for 2XX, 3xx, 4xx, 5xx status codes
- Alibaba cloud award winning experience: build a highly available system with polardb-x
- [Yugong series] go teaching course in July 2022 004 go code Notes
- 1.2 download and installation of the help software rstudio
- Analyse des risques liés aux liaisons de microservices
- "Grain mall" -- Summary and induction
- ICMP introduction
- Interview questions for basic software testing
猜你喜欢
随机推荐
Oracle checkpoint queue - Analysis of the principle of instance crash recovery
Yolov5 training custom data set (pycharm ultra detailed version)
Huawei fast game failed to call the login interface, and returned error code -1
怎么利用Tensorflow2进行猫狗分类识别
regular expression
Oracle检查点队列–实例崩溃恢复原理剖析
SecureCRT使用提示
Codeforces 12D ball tree array simulation 3 sorting elements
Huawei cloud modelarts text classification - takeout comments
Code bug correction, char is converted to int high-order symbol extension, resulting in changes in positivity and negativity and values. Int num = (int) (unsigned int) a, which will occur in older com
Dbeaver executes multiple insert into error processing at the same time
854. 相似度为 K 的字符串 BFS
Create a virtual machine on VMware (system not installed)
Drawing HSV color wheel with MATLAB
EBS Oracle 11g 克隆步骤(单节点)
Database recovery strategy
Did you brush the real title of the blue bridge cup over the years? Come here and teach you to counter attack!
About the writing method of SQL field "this includes" and "included in" strings
Bitbucket installation configuration
Poj 3237 Tree (Tree Chain Split)







![[Yugong series] go teaching course in July 2022 004 go code Notes](/img/56/d596e7c7bec9abd888e8f18f9769f8.png)
