事務與數據庫交互時,有三個地址空間數據庫
(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日誌記錄