当前位置:网站首页>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 )
边栏推荐
- EBS Oracle 11g 克隆步骤(单节点)
- Huawei cloud modelarts text classification - takeout comments
- 总结出现2xx、3xx、4xx、5xx状态码的原因
- Image editor for their AutoLayout environment
- A long's perception
- Analyse des risques liés aux liaisons de microservices
- Lightweight dynamic monitorable thread pool based on configuration center - dynamictp
- Basic grammar of interview (Part 1)
- DataGrid directly edits and saves "design defects"
- Bitbucket installation configuration
猜你喜欢
Deeply convinced plan X - network protocol basic DNS
Countdown to 92 days, the strategy for the provincial preparation of the Blue Bridge Cup is coming~
Official clarification statement of Jihu company
Huawei fast game failed to call the login interface, and returned error code -1
MMAP learning
2.2.3 output of documents
KingbaseES V8R3集群维护案例之---在线添加备库管理节点
AD637 usage notes
Interprocess communication in the "Chris Richardson microservice series" microservice architecture
Huawei cloud modelarts text classification - takeout comments
随机推荐
Ad637 notes d'utilisation
crm创建基于fetch自己的自定义报告
Daily question brushing record (XIV)
How to view Apache log4j 2 remote code execution vulnerability?
ESP32
Detailed explanation of memset() function usage
2.2.5 basic sentences of R language drawing
one hundred and twenty-three thousand four hundred and fifty-six
微服务入门(RestTemplate、Eureka、Nacos、Feign、Gateway)
Experienced inductance manufacturers tell you what makes the inductance noisy. Inductance noise is a common inductance fault. If the used inductance makes noise, you don't have to worry. You just need
Yolov5 training custom data set (pycharm ultra detailed version)
Scenario interview: ten questions and ten answers about distributed locks
Drawing HSV color wheel with MATLAB
HDU 4391 paint the wall segment tree (water
Tips for using SecureCRT
Xlrd common operations
Implementing Lmax disruptor queue from scratch (IV) principle analysis of multithreaded producer multiproducersequencer
Recovery technology with checkpoints
AD637使用笔记
854. 相似度为 K 的字符串 BFS