事务与数据库交互时,有三个地址空间数据库
(1)保存DB元素的磁盘ide
(2)内存缓冲区管理的虚存或者主存地址空间日志
(3)事务的局部地址空间事务
事务读取DB2元素时,首先从磁盘读取数据到主存的一个或者多个缓冲区中,接下来,缓冲区的内容能够被读到其局部地址空间中。内存
事务为DB元素写入一个新值要沿相反的方向。it
所以,事务原语包括:class
(1) INPUT(x) 将X从DISK拷贝到BUFFER变量
(2) READ(X , t) 将X拷贝到事务的局部变量t数据
(3) WRITE(X, t) 将事务的局部变量t的值拷贝到内存缓冲区Xdi
(4) OUTPUT(X) 将X从缓冲区拷贝回磁盘
Redo日志规则:
将修改数据库元素X写到磁盘以前,保证全部与X这一新修改相关的日志记录,包括更新记录<T,X,v>以及<COMMIT T>等都必须出如今磁盘上。
写顺序:
(1)指出被修改元素的记录
(2)COMMIT记录
(3)改变的DBS元素自己
Undo日志规则:
(1)若是T改变了X,那么<T,X,v>必须在X的新值写到DISK以前写到DISK
(2)若是事务提交,则COMMIT日志必须在事务改变的全部数据库元素写到DISK以后写到DISK,但应该尽快。
写顺序:
(1)指出被修改的数据库元素的记录
(2)改变的数据库元素自己
(3)COMMIT日志记录