[数据库系统概念期末总结]-ch13 事务


                                part1:事务的概念

1.事务:是访问并可能更新各种数据项的一个程序执行单元。通常由高级数据操纵语言或者编程语言书写的用户程序的执行所引起,并用形如begin transaction 和end transaction 的语句来界定。事务由事务开始和事务结束之间执行的全体操作组成

1.对事务的四个属性:acid

原子性:事务的所有操作在数据库中要么全部正确反映出来要么全部补反映(实现原子性:数据库系统在磁盘上记录旧值,如果事务没有执行,旧值将会恢复)

一致性:事务的隔离执行保持数据库的一致性(举个例子,a有100块,b有200块,不管他们之间怎么赚钱,共和应该是300)

隔离性:尽管多个事务可以并发执行,但每个事务都感觉不到系统中有其他任何事务在并发的执行。

持久性:一个事务成功完成之后对数据库的改变必须是永久的。(实现持久性:事务做的更新在事务结束前已经写入磁盘;有关事务已经执行的更新和已经写到磁盘上的更新的信息必须充分,能让数据库在系统出现故障之后重新启动时重新构造更新)


                                  part2:事务的状态

1.没有顺利执行的事务叫做中止事务

2.中止事务对数据库所做的任何改变必须撤销,以保证原子性

3.一旦中止事务造成的变更被撤销,我们就说事务已回滚

4.成功完成执行的事务称为 已提交事务

5.撤销已提交事务所造成影响的唯一方法是执行一个补偿事务。

6.事务必须处以一下状态之一:

活动状态

部分提交状态

失败状态

中止状态:已经回滚了,数据库已经恢复了

提交状态

7.事务进入中止状态后有两种选择:重启事务(软硬件错误)和杀死事务(事务内部的逻辑造成的错误)


part4: 并发执行

1.多个事务并发更新数据容易引起数据一致性的问题

2.什么情况下考虑并发:

a.一个事务由多个步骤组成:cpu和io操作可以并行,有效增加系统的吞吐量和磁盘利用率

b.如果各个事务是针对数据库的不同部分进行操作,事务并发执行会更好,这样各事务可以共享cpu周期和磁盘存取,减少平均相应时间

3.系统通过称为 并发控制机制的各种机制来控制事务之间的相互影响

4.n个事务的事务组,共有n!个有效的串行调度,并发会大于这个数

5.执行顺序叫做调度,表示指令在系统中执行的时间顺序。一组事务的一个调度必须包含这一组事务的全部指令


part5:可串行化

1.冲突可串行化

read & read 唯一一个,两条指令的执行顺序无关紧要

read & write 

write & read

write & write

当分别属于Ti Tj的两条指令Ii Ij在相同的数据项上面操作,并且至少其中一个是write指令的时候,我们认为他们是冲突的

如果调度s可以经过一系列非冲突指令交换转换成s',我们称s与s'是冲突等价

称一个调度s是冲突可串行化的是指该调度与一个串行调度冲突等价

有可能存在两个调度,他们产生相同的结果,但他们不是冲突等价的-----》所以说存在着比冲突等价定义限制松一些的调度等价定义,对于系统来说,应该分析不同调度进行的计算,而不只是分析他们的读写操作。

2.视图可串行化

考虑比冲突等价限制要宽松的一种等价形式,但一样基于事务的read和write操作。

两个调度s和s',事务集相同,若满足下面三个条件,则是视图等价

a.对于每个数据项q,若事务ti在调度s中读取了q的初始值,那么tj在调度s'中也必须读取q的初始值

b.对于每个数据项q,若事务ti在调度s中执行了read(q)并且读取的值是由tj产生的,则ti在调度s'中读取的值也必须是由tj产生的

c.对于每个数据项q,若在调度s中有事务执行了最后的write(q)操作,则在调度s'中该事务也必须执行最后的write(q)操作。

如果某个调度视图等价于一个串行调度,则说这个调度是视图可视化的。

冲突可串行化的调度一定是视图可串行化

但是视图可串行化不一定是冲突可串行化!!!


part6:可恢复性

1.可恢复调度

对于任何一对事务ti tj,如果ti读取了由ti所写的数据项 ,则ti先于tj提交。

2.无级联调度

因一个事务故障导致一系列事务回滚的现象叫做级联回滚

不希望发生级联回滚。。 无级联回滚应满足:对于没对事务ti tj, 如果tj读取了由ti所写的数据项,则ti必须在tj读取之前提交


part7 可串行化的判定

1.优先图:

如果优先图中有环,调度s是非冲突可串行化的

所以,要判定冲突可串行化,需要构造优先图并调用一个环检测算法。

2.如何修改可串行化的判定方法来判定视图可串行化




最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,376评论 6 491
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,126评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,966评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,432评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,519评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,792评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,933评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,701评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,143评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,488评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,626评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,292评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,896评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,742评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,977评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,324评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,494评论 2 348

推荐阅读更多精彩内容