数据库学习笔记_16_Transaction Isolation详解
鉴于进度的缓慢和外文教科书对于读书人理解能力的极大关怀,我将忽略一部分不重要的定义……
首先得声明的是,任务并行对于数据库的处理是有很大的好处的,有多大,就像土地有了金XX.
给出定义:schedule:对于一个交易集的各个详细指令的处理顺序被称为schedule,为了我的键盘寿命,我们姑且称它为日程吧。
日程有两种,一种称为serial——顺序,还有一种称为concurrent——并发。
在这个isolation中引出了schedule的两个概念,一个是serial,即是假设schedule={T1,T2},那么处理器将顺序执行完T1以后再执行T2, 如果这两个不是serial 是concurrent,那么将会如调度三那样,先执行T1的一部分,在执行T2的一部分。但是并不是每一个这样的调度都是合法的,必须满足交易的连续性,比如调度4,当调度四进行第一次commit的时候,可以发现,此时A减了-10以后的数据完全被14-5的write给覆盖了,这样就造成了不一样的结果,也造成了数据库状态的不一致。我们将调度三这样可以并发进行而且结果和顺序进行结果一样的schedule称作可串行化进度。