高级数据库_lesson3
- 格式:ppt
- 大小:1.77 MB
- 文档页数:51
高级数据库技术 Advanced Database technology事务处理与故障恢复湖南大学软件学院 Software college of Hunan University杨金民 2012.03主要教学内容• 事务属性; • 事务状态; • 数据处理模型; • 磁盘原理; • 系统故障; • 日志; • 检查点; • 备份; • 容灾; • 分布式事务的两阶段提交协议; • 团组容错;事务概念银行交易系统 accountName accountNo 周山 汪兵 张珊 2008043101 2008043214 2008043332 identityNo balance 430104************ 1200 430104************ 80,000 430104************ 137,000例子: 对于银行交易系统来说,假定从汪兵的帐上划转1万元钱 到周山的帐上,那么有两步操作,分别为汪兵的帐上减1万, 周山的帐上加1万,假定刚完成第一步操作时,停电,那么数 据就会不一致; UPDATE account SET balance = balance + 10000 WHERE accountNo =‘2008043101’; UPDATE account SET balance = balance - 10000 WHERE accountNo =‘2008043214’;事务特征事务对数据库的一组操作,这些操作涉及对多个数据项进行 更新/修改; 要求:中间状态对外部不可见; TRANSACTION BEGIN UPDATE account SET balance = balance + 10000 WHERE accountNo =‘2008043101’; UPDATE account SET balance = balance 10000 WHERE accountNo =‘2008043214’; COMMIT;数据库管理系统的数据处理模型–虚拟内存在磁盘上的 swap空间大小应该配 置为0, 否则会引起额 外的磁盘I/O!CPUPrivate Buffer事务私有内存缓存Read Input Stable Database output Disk 数据量巨大Write 全局内存缓存Database Buffermemory 内存量远远小于数据库数据量磁盘原理t3磁头 磁碟 磁道 磁段系统故障• 事务故障(Transaction failure) :– 逻辑故障(Logical errors), 例如: divided by 0. – 余额不允许为负;• 系统崩溃故障(System crash):– 停电、硬件故障;• 磁盘故障(Disk failure) • 通信故障(Communication failures)事务的五个状态Partially Committed 部分提交Committed 部分提交Active 活动 Failed 不成功 Aborted 放弃事务的ACID属性原子性(Atomicity): 一个事务中的操作要求要么全部执 行,要么全部不执行. 一致性(Consistency): 在外部看来,数据库中的数据总 是正确的. 隔离性(Isolation): 尽管多个事务在并发执行,但从外 部看来,具有多个事务串行执行的效果; 持久性(Durability):一个事务一旦提交了,即使随后发 生故障,其结果在数据库中不会丢失;故障恢复方法• 在有故障可能的情况下,如何保证事务的四 个属性; • 它包括2个部分:1.正常执行时的防备措施,为故障恢复做准备; 2. 在故障发生后的故障恢复措施,保证事务的四 个属性;第一种方法:分页方法对每个事务: • 1) 把要访问的数据页读入内存; • 2) 数据处理; • 3) 把修改了的数据页写回磁盘; • 4) 删除原有的、过时了的内存页;磁盘1 2 3 4 5 2CPU内存分页方法的特征• 优点:简单,修改的页不多时,可行. • 缺点: 效率不高; – 以页为单位读磁盘和写磁盘,当一个页中只有很少 一部分数据修改时,效率不高; – 如果页划分得很小,磁盘中页表目录的维护开销又 会很大;第二种方法:日志方法CPUPrivate BufferRead Database DiskWriteLog BufferDatabase BufferLog Diskmemory把日志缓冲区的内容输出到日志磁盘• • 两种情况: 1)当向数据库缓冲区中内容要输出到数据库磁盘之前,要先把日志缓 冲区的内容输出到日志磁盘(WAL );– 只要数据库缓冲区块对应的日志记录写到了日志磁盘,它就可 以输出到数据库磁盘,并不需要等到所有日志记录都写到了日 志磁盘;• 2)当事务 Ti 完成,遇到<Ti commit>记录时,要把日志缓冲区的内 容输出到日志磁盘; • 日志的特点:单调递增;日志方法举例T0: Read (A); A= A – 5; Write (A); Read (B); B = B + 50; Write (B); T1 : Read (C); C=C- 100; Write (C); <T0 start> <T0, A, 1000, 950> <To, B, 2000, 2050> (a) <T0 start> <T0, A, 1000, 950> <To, B, 2000, 2050> <To, commit> <T1 start> <T1, C, 700, 600> (b) <T0 start> <T0, A, 1000, 950> <To, B, 2000, 2050> <To, commit> <T1 start> <T1, C, 700, 600> <T1 commit> (c)事务故障的恢复• 重启数据库管理系统; • 读取日志文件; • 反向扫描日志,也就是从日志文件的结束位置开始后向扫描。
第一章数据库基础知识1.信息就是新的有用的事实和知识。
信息具有有效性、有用性和知识性的特性。
P12.信息具有四个基本特征;(1)信息的内容是关于客观事物或思想方面的知识(2)信息是有用的(3)信息能够在空间和时间上被传递(4)信息需要一定的形式表示。
P13数据是用于承载信息的物理符号。
P14数据的四个特征(1)数据有“型”和“值”之分(2)数据受数据类型和取值范围的约束(3)数据有定性表示和定量表示之分(4)数据应具有载体和多种表现形式。
P25数据处理的概念;围绕着数据处理所做的工作称为数据处理。
数据处理时指对数据收集、组织、整理、加工、存储、传播等工作。
P36数据处理工作分为三类:数据管理、数据加工、数据传播。
P37数据管理:在数据处理中最基本的工作是数据管工作。
数据管理是其他数据处理的核心和基础。
P38数据管理工作包括三项内容:组织和保存数据、进行数据维护、提供数据查询和数据统计功能。
P39传统的数据管理方法是人工管理方法。
P310数据库简称为DB,他是一个按数据结构来存储和管理数据的计算机软件系统。
P311数据库的特征:数据库中的数据具有数据整体性、数据库中的数据具有数据共享性。
P412数据库管理系统简称DBMS,它是专门用于管理数据库的计算机系统软件。
数据库管理系统能够为数据库提供数据的定义、建立、维护、查询、和统计等操作功能,并完成对数据库完整性、安全性进行控制的功能。
P513数据管理系统的操作功能:数据定义功能、数据建立功能、数据维护功能、数据查询和统计功能。
P514数据库管理系统的目标是让用户更方便、更有效、更可靠的建立数据库和使用数据库中信息资源。
P515管理信息系统简称MIS,它是计算机应用领域的一个重要分支。
P616管理信息系统有2个特点管理信息系统是以数据库技术为基础的、管理信息系统一般采用功能选单方式控制程序。
P617一个数据库系统由计算机硬件、数据库、数据库管理系统、数据库应用系统和数据库管理员五个部分构成。