就是愛分享
一個交易的基本定義,必須是將交易內的所有操作一次全部執行完畢,或是全部都不執行;而且在電腦系統中,所有的交易又都是交錯地執行,在執行中總會有互相影響的問題,並藉由「遺失更新問題」(Lost Update Problem),「不正確讀取」(Dirty Read Problem)或稱為「暫時更新問題」(The Temporary Update Problem)以及「不正確的總和問題」(The Incorrect Summary Problem)三個問題點出了交錯執行上必須注意的並行控制問題,所以對一個交易很明顯的定義出,必須具備四個基本特性 ACID,也就是單元性(Atomicity)、一致性的保留(Consistency Preservation)、獨立性(Isolation)以及永久性(Durability or Permanency)四個特性。

當交易正在進行期間,電腦系統有可能遇到非預期的各種類型失敗,所以交易必須具備有回復(Recovery)的功能,此功能可透過系統日誌(System Log)的全程記錄方式來追蹤所有交易進行的情形,並且在適當時機可將失敗且未完成的交易恢復到最原始的情形。

另外電腦排程可分為「序列的」(Serial)和「非序列的」(Non-Serial)排程,以序列的排程執行結果是最理想和最正確的排程,但在實際的電腦系統下是不太可能存在的,但是對於「非序列的」排程卻有可能會出現正常和不正常的執行結果,必須透過衝突且可序列化的測試演算法來判斷出該排程是否能正確執行出結果。
0 Responses