作者yfmail (純粹)
看板Database
標題[問題] DBMS支援的交易管理
時間Mon May 11 19:48:43 2009
第一次接觸database差點滅頂........怎麼那麼奧秘...泣~
DAMS有支援交易管理
其中兩個最重要的異動操作是 並行控制 跟 回復處理
我在念並行控制(concurrency control)時
有一小節是在談排程(schedules)是否滿足"可循序性(serializability)"
但即使我知道有迴圈就不滿足可循序性
可是它仍可用two-phase locking來使交易正確執行
問題一:那麼多個交易發生不可循序性時到底會怎麼樣?
是會使交易結果錯誤嗎?
我現在腦中的糨糊
1.交易是循序性(serial)時→免用鎖定法→交易會正確無誤
問題二:2.交易是可循序性時(serializability)→到底要不要用到鎖定法.....
3.交易是不可循序性時→可以用二階段鎖定法→交易會正確無誤(排除死結可能)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.232.182.92
我剛剛靈光乍現發現一件事
好像只要符合可循序性,那再搭配鎖定法,可以保證交易順利執行完畢
但不可循序性,配上鎖定法,有時交易可以執行,有時會有死結發生,這將
導致交易無法執行
以上的觀念是對的嗎?
※ 編輯: yfmail 來自: 118.232.182.92 (05/11 20:38)
推 adrianshum:2-phase commit 和 deadlock 是兩回事吧? 05/11 21:23
→ yfmail:喔~我是看講義寫說基本型或嚴格型(strict)2-phase locking 05/11 22:37
→ yfmail:不保證不會有死結發生....我頭..頭...好昏... 05/11 22:42
推 AndCycle:而且理論跟實務的實做會有出入, 你兩邊都要看 05/12 03:34
→ yfmail:好~我兩邊都會注意 那...可循序性的目的到底是什麼 05/12 10:29