当前位置:网站首页>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 )
边栏推荐
- poj 3237 Tree(树链拆分)
- MMAP学习
- Poj 3237 Tree (Tree Chain Split)
- Huawei fast game failed to call the login interface, and returned error code -1
- DBeaver同时执行多条insert into报错处理
- Drawing HSV color wheel with MATLAB
- The Blue Bridge Cup web application development simulation competition is open for the first time! Contestants fast forward!
- MMAP learning
- 从零开始实现lmax-Disruptor队列(四)多线程生产者MultiProducerSequencer原理解析
- 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
猜你喜欢
Deeply convinced plan X - network protocol basic DNS
Li Kou ----- the maximum profit of operating Ferris wheel
Meituan dynamic thread pool practice ideas, open source
Summarize the reasons for 2XX, 3xx, 4xx, 5xx status codes
华为游戏多媒体服务调用屏蔽指定玩家语音方法,返回错误码3010
Advantages and disadvantages of the "Chris Richardson microservice series" microservice architecture
MySQL disconnection reports an error MySQL ldb_ exceptions. OperationalError 4031, The client was disconnected by the server
Huawei cloud modelarts text classification - takeout comments
Dbeaver executes multiple insert into error processing at the same time
Xlrd common operations
随机推荐
NET中小型企业项目开发框架系列(一个)
2.2 basic grammar of R language
kingbaseES V8R3数据安全案例之---审计记录清除案例
极狐公司官方澄清声明
SQL knowledge leak detection
Robot operation mechanism
Create a virtual machine on VMware (system not installed)
使用Aspect制作全局异常处理类
oracle 控制文件的多路复用
华为游戏多媒体服务调用屏蔽指定玩家语音方法,返回错误码3010
MMAP
Interview questions for basic software testing
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
Microservice link risk analysis
Daily question brushing record (XIV)
Oracle检查点队列–实例崩溃恢复原理剖析
Multiplexing of Oracle control files
Alibaba cloud award winning experience: build a highly available system with polardb-x
每日刷题记录 (十四)
Shell script, awk uses if, for process control