Professional Documents
Culture Documents
£ ¸ ¾´ Ï ¾¨ ¢ º ¤¡ ¾ ¯ È
¼ Á¯ ¤£ õ
¡÷È́ ¤¾ ê ¾¤ª ñ¡ ¡ ½¦ ¾©( Logical Unit work ) ê †
À́ º̂ ´ ó
¡ ¾ ¯ ½
´ ¸ ° ö ¡ ÷
È́ ¤¾ ©„¤¡ È
¾¸ ¥½À» ñ
©Ã¹ É
¢ Ó́ø ´ ó
£ ¸ ¾´ « õ
¡ªÉ
º ¤¦ ö́ ®ø ¦ ½ÀÏ ó
µøÀ§ „ À©ó́
È ¹ù
õ À̧ í¾Ä©Ȩ́È
¾
¸È
¾À¯ ñ ¡ ÷
È́ ¤¾ ê ¾¤ª ñ
¡ ¡ ½¦ ¾©ê †
º ¾ ÷
¨ ¾©Ã¹ É́ó
¡ ¾ ° ò©¡ ö
©¦ ¿ì ñ
®£ º ®£ ÷
´ £ ¸ ¾´ « õ
¡ªÉ
º ¤¢ º ¤¢ Ó́ø
Ä©É
. Ã ¡ ¾ ¯ ½´ ¸ ° ö ¡ ¾ ¯ È
¼ Á¯ ¤, « É
¾¡ ¾ ¯ ½´ ¸ ° ö
¦ ¿Àì ñ©Ï ¾¨ £ ¸ ¾´ ¸ È
¾ê ÷
¡ £ ¿¦ „¤² ¾¨ Ã
¡ ¾ ¯ È
¼ Á¯ ¤¥½ª É
º ¤« õ
¡ ¯ ½´ ¸ ° ö ê ñ
¤Ï ö
© Áì ½ « É
¾¹ ¾¡ À¡ ó©£ ¸ ¾´ ° ò
©² ¾©¢ œ
©¨ ´ 󮾤£ ¿¦ „¤
Ã ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤¨ ñ
¤¯ ½´ ¸ ®Ò
Áì Ȩ́ ¹ù
õ ¨ñ
¤®Ò
Ä©É
«õ¡ ¯ ½´ ¸ ° ö ¥½ª É
º ¤À»ñ
©¡ ¾ ¨ ö
¡ Àì ó
¡ ¡ ¾
¯ ½´ ¸ ê ÷
¡ £ ¿¦ „¤² ¾¨ Ã ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤©„¤¡ È
¾¸ ê ñ¤Ï ö
©.
ª ö̧ µÈ
¾¤
ª ¾ª ½ì ¾¤ SP À¯ ñ ª ¾ª ½ì ¾¤®ñ
êõ
¡ ¦ ò £ É
¾ê †
»ñ®À¢ í¾À§ …
¤¯ ½¡ º ®©Ȩ́¨ ì ½¹ ñ
© ¡ ¾ ¦ ‰
¤(SP#)
ì ½¹ ñ
©¦ ò £ É
¾ (P#) Áì ½ ¥ ¿ ¸ ¦ ò £ É
¾( QTY ). ©„¤ ˜ À́ º̂ »ñ
®¦ ò
£É
¾ÃÏ úÀ¢ í¾´ ¾ª É
º ¤À»ñ
©¡ ¾ ¯ ñ
®¯ ÷
¤¢ Ó́ø ì ¾¨ ¡ ¾ ¦ ò
£É
¾ê †
´óà ª ¾ª ½ì ¾¤ P- À§ …
¤¯ ½¡ º ®©Ȩ́¨ ì ½
¹ñ
© (P#) Áì ½ ¥ ¿ ¸ ¦ ò
£É
¾( TOTQTY) ©¨ ´ ó
£È¾Àê ‰
¾¡ ñ
® TOTQTY+SP.QTY ©„¤ ˜ ì ¾¨ ¡ ¾
¯È
¼ Á¯ ¤Ã ¡ ¾ »ñ
®¦ ò £ É
¾¥‡
¤¯ ½¡ º ®©Ȩ́¨
¡ ¾ À² ™
š́ ¢ Ó́ø ( Insert ) À¢ í¾Ä¯ à SP
¡ ¾ ¯ ñ
®¯ ÷
¤¢ Ó́ø ¥ ¿ ¸ ¦ ò £ É
¾ (Update ) Ã P
ຕົວຢ່າງການໃຊ້ຄຳສັ່ງໃນ SQL
ໃນການປະມວນຜົນລາຍການປ່ຽນແປງ
INSERT INTO SP( SP#,P#,QTY ) VALUES ( ‘S5’,’P1’,1000 )
UPDATE P SET TOTQTY = TOTQTY+1000 WHER E P# =’P1’
COMMIT ;
FINISH
ROLLBACK;
FINISH
RETURN;
¥ ¾¡ £ ¿¦ „¤ SQL ¢ É
¾¤Àê ò
¤¥½À¹ ñ Ä©Ȩ́È
¾À́ º̂ À»ñ
©¡ ¾ ¯ ½´ ¸ ° ö ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ ¥ ½À» ñ
©
¡ ¾ À² š́ (Insert) ¢ Ó́ø à ª ¾ª ½ì ¾¤ SP Áì ½ į À»ñ
©¡ ¾ ¯ ñ®¯ ÷
¤ (Update) ¢ Ó́ø
à ª ¾ª ½ì ¾¤ P
©¨ À»ñ
©¡ ¾ ¯ ñ
®£ È
¾ TOTQTY = TOTQTY + SP.QTY. « É
¾¦ ¿-Àì ñ©¥ ½À» ñ
©¡ ¾ ¯ ½´ ¸ ° ö £ ¿¦ „¤
COMMIT Áª È
«É¾À¡ ó
© ERROR ¢ œ¥½À» ñ
©¡ ¾ ¨ ö
¡ Àì ó
¡ £ ¿¦ „¤ê †
°È¾ ´ ¾ê ñ
¤Ï ö
©Â©¨ ¡ ¾ ç É
£ ¿¦ „¤
ROLLBACK
INSERT INTO SP( SP#,P#,QTY )
VALUES ( ‘S5’,’P1’,1000 )
UPDATE P SET TOTQTY =
TOTQTY+1000 WHERE P# =’P1’
COMMIT ;
FINISH
ROLLBACK;
FINISH
RETURN;
COMMIT Áì ½ ROLLBACK
COMMIT À¯ ñ £ ¿¦ „¤ê †®º ¡ À« ò
¤®È
º ¦ ¿Àì ñ
© “ End of Transaction” À§ …
¤®º ¡ -ù É
ª ö̧ ¥ ñ
©¡ ¾ ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤» ø
É
-̧ È
¾¡ ¾ ¯ ½´ ¸ ° ö ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤¦ ¿-Àì ñ
©»¼®»û
º ¨ Áì Ȩ́ Áì ½
« ¾ ¢ Ó́ø µø
È
à ¦ ½² ¾¸ ½¦ ½-À« ¨ ì ½² ¾®.
ROLLBACK À¯ ñ £ ¿¦ „¤®º ¡ Àì ó¡ ¡ ¾ ¯ ½´ ¸ ° ö ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤À º̂ ¤¥ ¾¡ À¡ ó©¦ …
¤° ò
©
¯ö
¡ ¡ ½ª ò
¢œ À»ñ
©Ã¹ É
ªÉº ¤¨ ö
¡ Àì ó¡ £ ¿¦ „¤¯ ½´ ¸ ° ö ° È
¾ ´ ¾ê ñ
¤Ï ö
© Áì ½ ¨ É
º¡ñ
®Ä¯ ¥ ÷
©Àì š́ ª í ¡ È
º
À¢ í¾À»ñ
©¡ ¾ ¯ ½´ ¸ ° ö ¡ ¾ ¯ È
¼ Á¯ ¤.
£ ¸ ¾´ ¢ ñ
©¢ É
º ¤¢ º ¤ì ½®ö®( System Failure )
À¯ ñ
£ ¸ ¾´ ¢ ñ©¢ û
º ¤ê †
À¡ ó
©¢ œ
À º̂ ¤¥¾¡ ij ©ñ
® ¹ù
õ ì ñº ¡ £ É
¾¤§ ‡
¤´ ó
° ö À»ñ
©Ã¹ É
¢ Ó́ø
µø
à Πú̧ ¨
È
£ ¸ ¾´ ¥¿Ã ì ½¹ ¸ È
¾¤¡ ¾ ¯ ½´ ¸ ¨ ñ
¤®Ò
«õ
¡ ®ñ ê ô
¡ À¡ ñ
®ì ö
¤Ä¯ à Disk À¡ ©
ó £ ¸ ¾´ À¦ ¨ ¹ ¾¨ ¢ œ
,
Áª È
®Ò́ó
° ö ¡ ñ
®¢ Ó́ø à « ¾ ¢ Ó́ø
ê †À¡ ñ
®®ñ
êô
¡ ĸ É
à Disk ¡ È
º -Î É
¾ š, -§ ‡
¤£ ¸ ¾´ ¢ ñ
©¢ É
º ¤ê †
À¡ ó©¢ œ
à ì ñ
¡ ¦ ½ ½©„¤¡ È
¾¸ ¥½» ¥
Éñ
ø ¡ ¡ ñ Ã ¾´ ¢ º ¤ “ Soft Crash”
£ ¸ ¾´ ¢ ñ
©¢ É
º ¤ê †À¡ ó
©¥ ¾¡ ¦ ˆ®ñ ê ô¡ ¢ Ó́ø
( Media Failure )
À¯ ñ
£ ¸ ¾´ ¢ ñ©¢ É
º ¤ê †
À¡ ó
©¢ œ
´ ó° ö
¡ ½ê ö
®¡ ñ®¢ Ó́ø à « ¾ ¢ Ó́ø
À§ „ Disk À¯ È
®¾¤Àê º̂ Àº š ¸ È
¾
” Hard Crash “
¡ ¾ ¡ ø
£õ
É ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ê †
À¡ ó
©¥¾¡ £ ¸ ¾´ ¢ ñ
©¢ É
º ¤¢ º ¤ì ½®ö
®
£ ¸ ¾´ ¢ ñ
©¢ É
º ¤¢ Ó
ì ½®ö®¥½À»ñ©Ã¹ É
¢ Ó́ø à Πú̧ ¨ £ ¸ ¾´ ¥¿À¦ ¨ į § ‡
¤° ö ê †
ª ¾´ ´ ¾£ õ
, Ã ¡ ¾ ¯ ½
´ ¸ ° ö ¡ È
º ê †¥ ½À¡ ó©®ñ ¹ ¾¢ œ
º ¾©´ ó
ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤®¾¤ì ¾¨ ¡ ¾ ê†
¯ ½´ ¸ ° ö Áì Ȩ́´ ó
¡ ¾
COMMIT »¼®»ûº ¨ -Áì Ȩ́ ¹ ùõ ®¾¤ì ¾¨ ¡ ¾ ¨ ñ
¤¯ ½´ ¸ ° ö ®Ò
Áì Ȩ́ Áì ½ ´ ó
ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤Ã©
ê †¨ ñ¤®Ò
«õ
¡ À¡ ñ®ì ö¤ Disk, § ‡¤Ã ¡ ¾ ¡ £ø
Éõ ¢ º ¤¢ Ó́ø ˜ ¦ ¿ì ñ
®ì ¾¨ ¡ ¾ ê †¦ ¿-Àì ñ©Áì Ȩ́ì ½®ö
®¥ñ©¡ ¾
« ¾ ¢ Ó́ø ¥ ½ª É
º ¤À» ñ©¡ ¾ ¯ ½´ ¸ ° ö ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ ˜ £ õ ÃÏ ú, ¦ Ȩ̀ ì ¾¨ ¡ ¾ ¯ ½´ ¸ ° ö ê †
®Ò
¦ ¿-Àì ñ
©ì ½®ö®¥½ª É
º ¤À»ñ©¡ ¾ ¨ ö¡ Àì ó
¡ ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤©„¤¡ È
¾¸ ê ñ
¤-Ï ö
©, -À§ …
¤®ñ
¹ ¾¡ £ð õ̧ È
¾¥½» ø
É
-Ä©É
-
Á ¸ é¸ È
¾´ ó
ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤Ã©-Á©È
-ê †
À»ñ
©¡ ¾ ¯ ½´ ¸ ° ö ¦ ¿-Àì ñ©Áª È̈ñ
¤®Ò
Ä©É
«õ¡ ®ñ ê ô
¡ìö
¤ Disk
À² º̂ À»ñ©¡ ¾ ¯ ½´ ¸ ° ö § Õ (Redo) ¹ ù
õ´ ó
ì ¾¨ ¡ ¾ ¯ È
¼ éª É
º ¤À»ñ
©¡ ¾ ¨ ö
¡ Àì ó
¡ (Undo) À² º̂
ù É
« ¾ ¢ Ó́ø µø
à ² ¾¸ ½« õ¡ ª É
È º ¤ Áì ½ ´ ó
¦ ½-À« ¨ ì ½² ¾®
¡ ¾ ¨ ö
¡ Àì ó
¡ (Undo) Ï ¾¨ -À« ò
¤¡ ¾ ¿Àº ö¾¢ Ó́ø
À¡ ‰
¾¡ È
º ¯ ½´ ¸ ° ö ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤
À¢ í¾´ ¾Áê , ¦ Ȩ̀ ¡ ¾ ¯ ½´ ¸ ° ö § Õ (Redo) Ï ¾¨ À« ò
¤¡ ¾ ¿-Àº ö
¾£ È
¾ê †
¯ ½´ ¸ ° ö -ÃÏ È
-́ ¾Áê
©„¤ ˜ ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ê †
¯ ½´ ¸ ° È
¾ į Áì Ȩ́ ( ´ ó¡ ¾ COMMIT Áì Ȩ́) ¥ ½ª É
º ¤« õ
¡ ¯ ½´ ¸
° ö ÃÏ ú(Redo), ¦ Ȩ̀ ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ê †
¯ ½´ ¸ ° ö ¨ ñ
¤®Ò
êñ
¤Áì Ȩ́¥½ª É
º ¤« õ
¡¨ö
¡ Àì ó
¡ (Undo)
¦ ¿ì ®
ñ ¯ ñ ¹ ¾ê †-̧ È
¾ ì ½®ö
®¥ ½-» ø
É
-Ä©É
-Á ¸ -é¸ È
¾ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤-é-Á©È
êó¥ ½ª É
º ¤¨ ö¡ Àì ó
¡ ¹ù
õì ¾¨ ¡ ¾ -
¯È
¼ -Á¯ ¤Ã©¥½ª É
º ¤À» ñ
©¡ ¾ ¯ ½´ ¸ ° ö ÃÏ ú
˜ , £ ¿ª º ®¡ ð
£ õç Ȩ́ò
ê ¡ó ¿ ö©¥÷
©¡ ¸ ©¦ º ® ( Check
Point ) ¢ œ Áì ½ ù É
ì ½®ö
®¯ ½ª ò®©
ñ ¡ ¾ À» ñ
©¡ ¾ À£ º̂ ¨ É
¾¨ ¢ º ¤¢ Ó́ø ¥¾¡ Buffer ì ö
¤ Disk Áì ½
®ñ -ê ô
¡ À̧ ì ¾ì ö
¤Ã Log file § ‡
¤Á³ É́ Log ™
šÀ¯ ñ Á³ É́² òÀ¦ ©ê †À¡ ®
ñ ¢ Ó́ø
ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ª È
¾¤Åê †
À¡ ó©¢ œ
¡ñ
®ì ½®ö
®« ¾ ¢ Ó́ø
ຕ
ົ ວຢ ັ້ ງຈ
່ າງການຕ ຸ ດກວດສອບ
À̧ ì ¾ Tc Tf
T
R T1
A
N T2
S
A T3
C
I T4
O
N T5
À»ñ
©¡ ¾ ¨ ö
¡ Àì ó¡ ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ T3 Áì ½ T5
À»ñ
©¡ ¾ ¯ ½´ ¸ § Õì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ T2 Áì ½ T4
ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ T1 ®Ò
ªÉ
º ¤À»ñ
©¡ ¾ ¯ ½´ ¸ ° ö
ÃÏ ú
À º̂ ¤¥¾¡ « õ
¡ À¡ ñ
®Ã Disk Áì Ȩ́
¢ ˜ ª º ¡ ¾ ¡ ø
£õ
É ´ó
©„¤ š
ê ¿¡ ¾ ¦ ¾
ɤ§ ÷
©ì ¾¨ ¡ ¾ ¢ œ
2 §÷
© £ õUndo list Áì ½ Redo list ² ºÉ´ ê ñ
¤ê ¿¡ ¾ À¡ ñ
®£ È
¾
ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ê ñ
¤Ï ö
©Ä¸ É
à Undo list ¦ Ȩ̀ Redo list ª º Àì †
´ ª í ¥ ½¹ ¸ È
¾¤.
ì ½®ö
®ê ¿-¡ ¾ £ í ¹ ¾ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤Ã Log file ª ¤̃Áª È
¥÷
©¡ ¸ ©¦ º ®À¯ ñ ª í į
À́ º̂ À¹ ñ ¥ ÷
©Àì š́ ª í ¢ º ¤¡ ¾ ¯ È
¼ Á¯ ¤ T À² †
´ ì ¾¨ ¡ ¾ À¡ ñ
®Ã Undo list
«É
¾£ í ² ö
®¥ ÷
© COMMIT ¢ º ¤¡ ¾ ¯ È
¼ Á¯ ¤ T ¥ ½ ¿ì ¾¨ ¡ ¾ T º º ¡ ¥¾¡ Undo list
Áì ½ À¡ ñ
®Ä¸ É
à ¦ Ȩ̀ ¢ º ¤ Redo list Áê
à ¡ ¾ ¯ ½´ ¸ ° ö ©„¤¡ È
¾¸ À́ º̂ ¥ö
® Log file ¥½Ä©ÉUndo list ¯ ½¡ º ®©Ȩ́¨ T3 Áì ½ T5
Áì ½ Redo list ¯ ½¡ º ®©Ȩ́¨ T2 Áì ½ T4
¡ ¾ ¡ £
Éõ
ø À º̂ ¤¥ ¾¡ ¦ ˆ®ñ
êô
¡ À¦ ¨ ¹ ¾¨
¦ ¿ì ñ®¡ ¾ ¡ øÉ
£ õ ¢ Ó́ø ¥ ¾¡ ¦ ˆ®ñ ê ô
¡ ¢ ð́ ø À¦ ¨ ¹ ¾¨ ˜ ´ ó̧ ò
êó¡ ¾ ©„¤ š£ õ ¿Àº ö¾¢ Ó́ø ¦ ¿» º ¤
´ ¾À¢ í¾ì ½®ö®ÃÏ ú(Reload Í õRestore)
«É
¾¸ È
¾ log file ®ðÀ¦ ¨ ¹ ¾¨ , º ¾©¥ ½À» ñ
©Ä©É
©¨ ¡ ¾ À»ñ
©¡ ¾ ¯ ½´ ¸ ° ö ì ¾¨ ¡ ¾
¯ ú¼ Á¯ ¤§ Õ (Redo transaction) À² º̂ ¡ ñ®À¢ í¾¦ ø
È
² ¾¸ ½¡ È
º ê†
ì ½®ö
®¥½¢ ñ©¢ É
º¤
¦ ¿ì ñ®¡ ¾ ¡ øÉ
£ õ º ñ À º̂ ¤´ ¾¥ ¾¡ ¦ ˆ®ñ ê ô
¡ ¢ Ó́ø À¦ ¨ ¹ ¾¨ ˜ ¥¿À¯ ñ ê †
¥ ½ª É
º ¤´ ó¡ ¾ ¦ ¿»º ¤
¢ Ó́ø ĸ É
À§ …
¤À»ñ©Ä©É
©¨ ç ÉUtility Program À§ „ backup Í õExport À¯ ñ ª í
¡ ¾ £ ¸ ®£ ÷
´ ì ¿©ñ
®¡ ¾ ¯ ½´ ¸ ° ö
(Concurrency Control)
¦ ¿ì ñ
®¡ ¾ À»ñ
©¸ ¼¡ Ã ì ½®ö
®° ø
ç É
É ¹ù¾¨ £ ö (Multi User) À§ …
¤À¯ ñ ì ½®ö
®ê †º ½ ÷
¨ ¾©
ù ìɾ¨ ¡ ¾ ¯ È
¼ Á¯ ¤¹ ¾
ù¨ ì ¾¨ ¡ ¾ À¢ í¾À« ò
¤¢ Ó́ø à À̧ ì ¾©¼¸ ¡ ñ Áì ½ « É
¾®Ò́ó
¡ ¾ £ º ®£ ÷
´ ì ¿©ñ
®
¡ ¾ ¯ ½´ ¸ ° ö ¡ ñ®¢ Ó́ø à « ¾ ¢ Ó́ø
(®Ò́ó
¡ ¾ £ º ®£ ÷
´ Concurrency) ¯ ñ ¹ ¾ê †
¥ ½ª ¾´ ´ ¾À º̂ ¤
¥¾¡ ¡ ¾ Á§ ¡ ¦ ½¹ ù
® (Interleave) ¢ º ¤ì ¾¨ ¡ ¾ Ä©É
ñ Á¡ È
¡ ¾ ¦ ø
À¦ ¨ ¡ ¾ Á¡ É
Ä¢ ¢ Ó́ø (Lost update problem)
®ñ
¹ ¾ê †
À¡ ó
©¥¾¡ ¡ ¾ µÉ
º¡ñ
® (Uncommitted dependency problem)
®ñ
¹ ¾£ ¸ ¾´ ¢ ñ©Á¨ É
¤ (Consistent analysis problem)
¡ ¾ ¦ ø À¦ ¨ ° ö
¡ ¾ Á¡ É
Ä¢
¦ ¿ì ñ
®¯ ñ
¹ ¾ê †
À¡ ò©¢ œ
šÃ¹ É
²ò¥ ¾ì ½ ¾¥ ¾¡ ¡ ¾ ¯ ½´ ¸ ° ö
¢ º ¤ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ 2
ì ¾¨ ¡ ¾ £ õì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ A Áì ½ B ©„¤ª Ò
į š
ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ A TLME ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ B
ºÈ
¾ ¢ Ó́ø ê ½®¼ R T1 Œ
Œ T2 ºÈ
¾ ¢ Ó́ø ê ½®¼ R
Á¡ É
Ä¢ ¢ Ó́ø ê ½®¼ R T3 Œ
Œ T4 Á¡ É
Ä¢ ¢ Ó́ø ê ½®¼ R
¥ ¾¡ ª ¾ª ½ì ¾¤¢ É
¾¤Àê ò
¤¥½¦ ñ
¤À¡ ©À¹ ñ ¸ È
¾¡ ¾ ¯ ½´ ¸ ° ö ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ A ¥ ½º È
¾ ¢ Ó
´ ø ¥¾¡ ê ½®¼ R ê †
À̧ ì ¾ T1 à ¢ ½ ½©¼¸ ¡ ñ ê †À̧ ì ¾ T2 ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ B ¡ ð
¥ ½º È
¾
¢ Ó́ø ¥ ¾¡ ê ½®¼ ©¼¸ ¡ ñ ¢ œ
´ ¾ Áì ½ ê †À̧ ì ¾ T3 ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ A À» ñ
©¡ ¾ Á¡ É
Ä¢ ¢ Ó́ø .
À§ „ ª ö̧ µÈ
¾¤¸ È
¾À́ º̂ Àì š́ ª í ê ½®¼ R ´ ó£ È
¾ 1000 « õ
¡ºÈ
¾ ¢ œ
´ ¾ Áì ½ ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ A
«õ
¡ Á¡ Ä
É¢ ©¨ À² ó́ £ È
¾À¢ í¾Ä¯ 1000 ©„¤ ˜ ¢ Ó́ø ê †
Á¡ É
Ä¢ Áì ½ À¡ ñ
®®ñ ê ô
¡ ĸ É́ó
£È¾ 2000 Áì ½
à À̧ ì ¾ T4 ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ B À» ñ
©¡ ¾ Á¡ É
Ä¢ ¢ Ó́ø ©¨ ¡ ¾ ±¾¡ À² š́ 500 À§ …
¤¢ Ó́ø
ê†
Ä©É
£ ¸ ¥ ½À¯ ñ £ È
¾ 2500, Áª È
ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ B º È
¾ ¢ Ó́ø ê †À̧ ì ¾ T2 Ä©û 1000 ©„¤ ˜
À́ º̂ À» ñ©¡ ¾ ¯ ñ®¯ ÷
¤¢ Ó́ø ê †À̧ ì ¾ T3 £ È
¾ê †À¡ ñ
®®ñ ê ô
¡ £ õ1500 ¦ ½ ˜ £ ¾
È¢ Ó́ø ê ì† ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤
A Á¡ É
Ä¢ ¥ ½¹ ¾¨ į
¯ñ
¹ ¾ê †
À¡ ò
©¥¾¡ ¡ ¾ ¨ É
º¡ñ
®
¯ ñ ¹ ¾º ñ À º̂ ¤´ ¾¥¾¡ ¡ ¾ ¨ º ´ ù É
ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤¦ ¾´ ¾©¯ ½ª ò®ñ©Ä©É
²Éº ´ ¡ ñ ¹ ù¾¨
ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤Â©¨ ®Ò
ªÉ
º ¤ì ð
ù É
ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤Î ‡¤¯ ½´ ¸ ° ö Áì Ȩ́ Áì ½ À»ñ©¡ ¾
COMMIT ¢ Ó́ø ¡ È
º ©„¤ª ö̧ µÈ
¾¤ a Áì ½ b ì ÷
È́ š
ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ A TLME ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ B
Œ T1 Á¡ É
Ä¢ ¢ Ó́ø ê ½®¼ R
º¾
È ¢ Ó́ø
ê ½®¼ R T2 Œ
Œ T3 ROLLBACK
(a) ¦ ½Á©¤¯ ñ ¹ ¾À¡ ó©¥¾¡ ¡ ¾ µÉ
º¡ñ
®
ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ A TLME ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ B
Œ T1 Á¡ É
Ä¢ ¢ Ó́ø ê ½®¼ R
ºÈ
¾ ¢ Ó́ø ê ½®¼ R T2 Œ
Á¡ É
Ä¢ ¢ Ó́ø ê ½®¼ R T3 Œ
T4 ROLLBACK
(b) ¦ ½Á©¤¯ ñ ¹ ¾À¡ ó
©¥¾¡ ¡ ¾ µÉ
º ¡ñ
®
¦ ¿ì ñ
®ª ¾ª ½ì ¾¤ (a) ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ B À»ñ
©¡ ¾ Á¡ É
Ä¢ ¢ Ó́ø
R ê†
À̧ ì ¾ T1 Áì ½ À̧ ì ¾
T2 ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ B º È
¾ ¢ Ó́ø
ê ½®¼ R § ‡
¤¢ Ó́ø ê †
Ä©É
£õ¢ Ó́ø ê †
Á¡ É
Ä¢ Áì Ȩ́À́ º̂ À̧ ì ¾° È
¾ į
T3 ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ B ®Ò
¦ ¾´ ¾©¯ ½´ ¸ Ä©É
¦ ¿Àì ñ
©¥‡
¤À¡ ó
©¡ ¾ µÉ
º¡ñ
®¢ œ
(ROLLBACK)
¡ñ
®Ä¯ ¡ È
º ¦ ½² ¾¸ ½ê †
À¢ í¾¦ ø
È
¡ ¾ ¯ ½´ ¸ ° ö ¡ ¾ ¯ È
¼ Á¯ ¤ B ©„¤ ˜ ¢ Ó́ø ê †
ì ¾¨ ¡ ¾ -̄ È
¼ Á¯ -¤ A
Ä©É
Ȗ
®¥ ‡
¤®Ò
¦ º ©£ È
º ¤¡ ñ
®¢ Ó́ø à « ¾ ¢ Ó́ø
§‡
¤¯ È
¼ Á¯ ¤Ä¯ Áì Ȩ́.
¦ ¿ì ñ
®ª ¾ª ½ì ¾¤ (b) À́ º̂ ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ B º È
¾ ¢ Ó́ø ¥ ¾¡ ê ½®¼ R, ¦ ö́ ´ ÷
©¸ È
¾´ ó
£È¾-
Àê ‰
¾1000 Áì û̧ ê ¿¡ ¾ Á¡ É
â ù É́ó£ ú
¾Àê ‰
¾¡ ñ
® 500 Áì ½ ê †
À̧ ì ¾ T2 ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ A
ºÈ
¾ ¢ Ó́ø
ê ½®¼ R À§ „ ©¼¸ ¡ ñ Áì ½ ¢ Ó́ø
ê†
Ä©É
» ñ®£ õ
¢ Ó́ø ¹ ù
¤¡ ¾ Á¡ É
ñ Ä¢ -À§ …
¤´ ó
£È¾-Àê ‰
¾-¡ ñ
® 500.
à À̧ ì ¾ T3 ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ A À»ñ
©¡ ¾ Á¡ É
Ä¢ ¢ Ó́ø ê ½®¼ R ©¨ ´ ó
£È¾À¯ ñ 800 Áì ½
ê†
À̧ ì ¾ T4 ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ B ®Ò
¦ ¾´ ¾©À»ñ©¡ ¾ ¯ ½´ ¸ ° ö ¥‡
¤À¡ ó©¡ ¾ ¡ ¾ µÉ
º¡ñ
®¢ œ
(ROLLBACK) ©„¤ ˜ ¢ Ó́ø ê ½®¼ R ¥ ½´ ó
£È¾À¯ ñ 1000 À º̂ ¤¥ ¾¡ ¡ ¾ µÉ
º ¡ñ
®¢ º ¤ì ¾¨ ¡ ¾
¯È
¼ Á¯ ¤ B À¯ ñ ° ö
À» ñ
©Ã¹ É
¢ Ó́ø
ê †ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ A Á¡ É
Ä¢ ¦ ø ¹ ¾¨ į .
¯ñ
¹ ¾£ ¸ ¾´ ¢ ñ
©Á¨ É
¤ ( Inconsistent Analysis Problem )
ACC1 (40) ACC2(50) ACC3(30)
ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ A TLME ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ B
º¾
È ACC1 (40)
T1 Œ
SUM = 40
ºÈ¾ ACC2(50)
T2 Œ
SUM = 50
Á¡ É
Ä¢ ¢ Ó́ø ê ½®¼ R T3 ºÈ
¾ ACC3(30)
Œ T4 -Á¡ É
-Ä¢ ACC3 (¥¾¡ 30 À¯ ñ
20)
Œ T5 ºÈ
¾ ACC1 (40)
Œ T6 Á¡ É
-Ä¢ ACC1 (¥¾¡ 40 À¯ ñ 50)
Œ T7 µõ
-̈ ñ -¡ ¾ -Á¡ -Ä
É¢ (COMMIT)
º¾
È ACC3(20)
T8
SUM = 110
¥¾¡ ª ¾ª ½ì ¾¤¦ ½Á©¤¡ ¾ À»ñ
©¸ ¼¡ ¢ º ¤ 2 ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ A Áì ½ B ê †
À» ñ
©¡ ¾
¯ ½´ ¸ ° ö ¡ ®
ñ ACC1 ACC2 Áì ½ ACC3 § ‡
¤ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ A º È
¾ ¢ Ó́ø ACC1 ê †
À̧ ì ¾ T1
²É
º ´ À¡ ñ
®£ È
¾Ä¸ É
ê †SUM Áì ½ À̧ ì ¾ T2 ¥ ½º È
¾ ¢ Ó́ø ACC2 ² É
º ´ -À² †
´ £È
¾À¢ í¾Ä¯ ê †SUM Àê ‰
¾¡ ñ®
90, ¢ ½ ½©¼¸ ¡ ñ ê †
À̧ ì ¾ T3 ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ B º È
¾ ¢ Ó́ø ACC3 Áì ½ -į -Á¡ É
-Ä¢ ¢ Ó
-́ ø -ê -†À̧ ì ¾
T4 ©¨ -̄ È
¼ -¥ ¾¡ 30 À¯ ñ 20 ¥ ¾¡ - ˜ ê -À̧
† ì ¾ T5 ¥½-º È
¾ -¢ Ó
-́ ø ACC1 ¢ œ
´ ¾ -Áì ½ -į -Á¡ É
-Ä¢ -ê †-
À̧ ì ¾ T6 ¥¾¡ 40 À¯ ñ 50 ¥¾¡ - ˜ ¥½-µ õ µñ ¡ ¾ ¯ ½´ ¸ ° ö
ê†
À̧ ì ¾ T7 ©„¤ ˜ À́ º̂ À̧ ì ¾ T8
ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ A À»ñ©¡ ¾ º È
¾ ¢ Ó́ø
¥¾¡ ACC3 £ È
¾ê †
Ä©É
¥‡
¤Àê ‰
¾¡ ñ® 20 Áì ½ À́ º̂ ì ¸ ´
ACC1, ACC2 Áì ½ ACC3 Áì Ȩ́° ö ê †
Ä©É
Ȗ
®-¥ ½-À¯ ñ 110 § ‡
¤®Ò
¦ º ©£ É
º ¤¡ ñ
®£ È
¾ê †
Ä©É
£ õ120
¥¾¡ ¯ ñ
¹ ¾©„¤¡ È
¾¸ ¥½² ö
®¸ È
¾, ¯ ñ ¹ ¾¦ Ȩ̀ -ù ¨ È
-À¡ ó©¢ œ
À º̂ ¤´ ¾¥¾¡ ¡ ¾ ¯ ½´ ¸ ° ö ì ¾¨
¡ ¾ ¯ È
¼ Á¯ ¤Î ‡
¤¨ ñ
¤®Ò
¦ ¿-Àì ñ
©-² ñ
©´ ó
ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤º ˆ Á§ ¡ À¢ í¾´ ¾¯ ½´ ¸ ° ö
. ¡ ¾ Á¡ É
Ä¢ ¯ ñ
¹ ¾©„¤¡ È
¾¸ ¦ ¾´ ¾©À» ñ
©Ä©É
©¨ ¡ ¾ ì ñ
º¡ (LOCK) ¢ Ó́ø ê †
¡ ¿ì ñ
¤À»ñ©¡ ¾ ¯ ½´ ¸ ° ö
µø
È ˜ £ õ-
À́ º̂ ´ óì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤Ã©¡ ¿ì ñ
¤¯ ½´ ¸ ° ö
¡ñ
®¢ Ó́ø
, «É
¾¡ ¾ ¯ ½´ ¸ ° ö ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤©„¤
¡È
¾¸ ¨ ñ
¤®Ò
ê ñ ¦ ¿-Àì ñ
©¥½®Ò̈º ´ ù ìÉ ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤º ˆ À¢ í¾´ ¾¯ ½´ ¸ ° ö ¡ ñ
®¢ Ó́ø ê †
¡ ¿ì ñ
¤¯ ½´ ¸
° ö ˜ .
¡ ¾ ì ñ
º ¡ ( Locking )
¦ ¿ì ñ
®¡ ¾ ì ñ
º ¡ ¢ Ó́ø ´ ó
µø¦ º ¤¯ ½À² ©£ õ
È
Exclusive Lock ¹ ù
õÀº š ¸ È
¾ X-Lock
Shared Lock ¹ù
õÀº š ¸ È
¾ S-Lock
1.1 Exclusive Lock
À¯ ñ ¡ ¾ ì ñ
º ¡ ¢ Ó́ø -©¨ ®Ò
º ¾ ÷
¨ ¾©Ã¹ É
ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤º ˆ À¢ í¾´ ¾¹ ¨ ÷
¤¡ È
É ¼¸ ¡ ñ®¢ Ó́ø
Ã ì ½ ¹ ¸ È
¾¤´ ó
¡ ¾ ¾ì ñ
º ¡ ¢ Ó́ø
1.2 Shared Lock
À¯ ñ ¡ ¾ ì ñ
º ¡ ¢ Ó́ø ©¨ ¥½º ¾ ÷
¨ ¾©Ã¹ É
ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤º ˆ ì ñ
º ¡ ¢ Ó́ø » ú̧ ´ Ä©É
-Áª È
-ª É
º ¤-
À¯ ñ Á®® S-Lock £ õ
¡ñ , «É
¾ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤º ˆ ¢ ð
ì ñº ¡ ¢ Ó́ø À¢ í¾´ ¾Á®® X-Lock ¥ ½®Ò
º ¾ ÷
¨ ¾©
ù É
ìñº ¡ Ä©É
.
¦ ½¹ ®
÷
ù
B
X-lock S-lock
A
X-lock N N
S-lock N Y
¡ ¾ ì ºñ ¡ Á¡ É
Ä¢ ®ñ
¹ ¾Ä©É
Á ¸ é
¦ ¿ì ñ
®¯ ñ ¹ ¾Àì œ
º ¤£ ¸ ¾´ ¦ ø À¦ ¨ ¡ ¾ Á¡ É
Ä¢ ¢ Ó́ø À́ º̂ ´ ó¡ ¾ ì ñ
º ¡ ¢ Ó́ø Àº ö
¾Ä¸ É
Ã ì ½¹ ¸ È
¾¤
¡ ¾ ¯ ½´ ¸ ° ö
ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤¥ ½¦ ¾´ ¾©¦ ½Á©¤Ä©É
©„¤ª ¾ª ½ì ¾¤ì ÷
È́ š
ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ A TLME ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ B
ºÈ
¾ ¢ Ó́ø ê ½®¼ R
T1 Œ
(ì ñ
º ¡ R Á®® S-lock)
ºÈ
¾ ¢ Ó́ø ê ½®¼ R
Œ T2
(ì ñ
º ¡ R Á®® S-lock)
Á¡ É
Ä¢ ¢ Ó́ø ê ½®¼ R
(¢ ð
ìñº ¡ R Á®® X-lock) T3 Œ
®Ò
¦ ¿Àì ñ
©, à ² ¾¸ ½£ º ¨
Œ -Á¡ É
Ä¢ ¢ Ó́ø
ê ½®¼ R
T4 (¢ ð
ìñº ¡ R Á®® X-lock)
®Ò
¦ ¿Àì ñ
©, à ² ¾¸ ½£ º ¨
à ² ¾¸ ½£ º ¨ T5 à ² ¾¸ ½£ º ¨
¥ ¾¡ ª ¾ª ½ì ¾¤¢ É
¾¤Àê ò
¤¥½¦ ñ
¤À¡ ©À¹ ñ ¸ È
¾À́ º̂ ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ A ª É
º ¤¡ ¾ º È
¾ ¢ Ó́ø ê ½ ®¼ R
¥ ½À»ñ
©¡ ¾ ì ñº ¡ R Àº ö
¾Ä¸ É
Á®® S-Lock ê†
À̧ ì ¾ T1, À́ º̂ À̧ ì ¾ T2 ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ B
ªÉ
º ¤¡ ¾ º È
¾ ê ½®¼ R ¢ð
À» ñ
© ¡ ¾ ì ñº ¡ ¢ Ó́ø À² º̂ º È
¾ Á®® S-Lock ¡ ¦ð ¾´ ¾©À» ñ©Ä©É
,
¥ö
´ ¾»º ©À̧ ì ¾ T3 ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ A ª É
º ¤¡ ¾ ê ¿¡ ¾ Á¡ É
Ä¢ ¢ Ó́ø ¥ ‡
¤¢ ð
ìñº ¡ ¢ Ó́ø
Á®® X-
Lock § ‡
¤Ã À̧ ì ¾©„¤¡ È
¾¸ ¥ ½ À¹ ñ Ä©Ȩ́È
¾´ ó
¡ ¾ ì ñº ¡ R Á®® S-Lock ĸ Áì Ȩ́®Ò
¦ ¾´ ¾©
À» ñ
©¡ ¾ ì ñ
º ¡ ¢ Ó́ø Ä©É ©„¤ ˜ ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ A ¥‡
¤µø
È
à ² ¾¸ ½ì ð
£ º ¨ ¥ö
¡¸È
¾¥½´ ó
¡ ¾
¯È
º¨ìñ
º¡, À§ …
¤¸ ò
êóê†
¡È¾¸ ´ ¾ š¥ ½¦ ¾´ ¾©Á¡ É ®ñ ¹ ¾¡ ú
¼¸ ¡ ñ
®¡ ¾ ¦ ø
À¦ ¨ ¡ ¾ Á¡ É
Ä¢ ¢ Ó́ø Ä©É
,
Áª È
¥ ½² ö
®¸ È
¾´ ó
®ñ ¹ ¾ê †ª ¾´ ´ ¾£ õ ê ñ
¤ B Áì ½ A ª È
¾¤¡ Ò
µø
à ² ¾¸ ½ì ð
È £º ¨ . «É
¾ê ñ
¤ A Áì ½ B
®Ò́ó
ð À» ñ©¡ ¾ ¯ È
º¨ìñ
º¡¦ …
¤ê †
ª ¾´ ´ ¾£ õ
À» ñ©Ã¹ É
À¡ ó©ì ñº ¡ £ É
¾¤ Í õdead lock ¢ œ
. ¦ ¿ì ñ
®®ñ ¹ ¾ê †
À¡ ó
©¢ œ
¥ ¾¡ ¡ ¾ µÉ
º¡ñ
®À́ º̂ ´ ó
¡ ¾ Á¡ É
Ä¢ ¢ Ó́ø ©¨ ¸ ò
ꆡ ¾ ì ñ
º ¡ ¦ ¾´ ¾©¦ ½Á©¤Ä©É
©„¤ª ¾ª ½ì ¾¤
ì÷
È́ š.
ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ A TLME ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ B
Á¡ É
Ä¢ ¢ Ó́ø ê ½®¼ R
Œ T1
(¢ ð
ìñº ¡ R Á®® X-lock)
ºÈ
¾ ¢ Ó́ø ê ½®¼ R
(¢ ð
ìñº ¡ R Á®® S-lock) T2 Œ
®Ò
¦ ¿Àì ñ
©, à ² ¾¸ ½£ º ¨
¦ š ¦ ÷
©¡ ¾ ì ñ
º ¡ (Rollback)
à ² ¾¸ ½£ º ¨ T3
(¯ È
º ¨ -ì ñ
º ¡ ê ½®¼ R )
ºÈ
¾ ¢ Ó́ø ê ½®¼ R
T4 -Œ
(ì ñ
º ¡ R Á®® S-lock)
¸ òê ó¡ ¾ £ õ
ì ½¹ ¸ È
¾¤ê †ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ B Á¡ É
Ä¢ ¢ Ó́ø ¥½ì ñ
º ¡ ê ½®¼ R ĸ ¥Éö ¡ Ȩ̀¾
¥½À»ñ
©¡ ¾ ¯ ½´ ¸ ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤Áì Ȩ́§ ‡
¤Ã ¢ ½ ½ê †ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ B Á¡ É
Ä¢ ¢ Ó́ø ê †
À̧ ì ¾
T2 ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ A ¦ ‰
¤¦ ñ ¨ ¾ ¢ ðì ñº ¡ À² º̂ º È
¾ ¢ Ó́ø ê ½®¼ R Áª È
®Ò¦ ¾´ ¾©À»ñ©
Ä©É
À º̂ ¤¥¾¡ ê ½®¼ R « õ¡ ì ñº ¡ Á®® X-Lock ©¨ ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ B ĸ É ©„¤ ˜
¥‡¤µø
à ² ¾¸ ½ì 𣠺 ¨ ¥ö ¡ ½ê ¤̃ê †À̧ ì ¾ T3 ì ¾¨ ¡ ¾ ¯ È
È ¼ Á¯ ¤ B À»ñ
©¡ ¾ ¯ È
º¨ìñ
º ¡ ©¨ À¡ ó©¡ ¾
Rollback ¡ ®
ñ , ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ A ¥‡
¤¦ ¾´ ¾©ì ñ
º ¡ ¢ Ó́ø Áì ½ º È
¾ ¢ Ó́ø R ¢ œ
´ ¾Ä©É
.
À§ „ ©¼¸ ¡ ñ
®¯ ñ ¹ ¾Ã » ø®ª ¾ª ½ì ¾¤ (b) ¦ ¾´ ¾©¦ ½Á©¤Ä©É
©„¤ª ¾ª ½ì ¾¤ì ÷
È́ š
ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ A TLME ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ B
Á¡ É
Ä¢ ¢ Ó́ø ê ½®¼ R
Œ T1
(¢ ð
ìñº ¡ R Á®® X-lock)
ºÈ
¾ ¢ Ó́ø ê ½®¼ R
(¢ ð
ìñº ¡ R Á®® S-lock) T2 Œ
®Ò
¦ ¿Àì ñ
©, à ² ¾¸ ½£ º ¨
à ² ¾¸ ½£ º ¨ T3
-¦ š ¦ ÷
©¡ ¾ ì ñ
º ¡ (Rollback)
à ² ¾¸ ½£ º ¨ T4
(¯ È
º ¨ -ì ñ
º ¡ ê ½®¼ R )
Á¡ É
Ä¢ ¢ Ó́ø ê ½®¼ R
T5 Œ
(¢ ð
ìñº ¡ R Á®® X-lock)
¯ñ
¹ ¾£ ¸ ¾´ ¢ ñ
©Á¨ É
¤ ( Inconsistent Analysis Problem )
¦ ¾´ ¾¦ ½Á©¤¡ ¾ ì ñº ¡ À² º̂ Á¡ É
Ä¢ ¯ ñ ¹ ¾£ ¸ ¾´ ¢ ñ
©Á¨ É
¤¢ º ¤¢ Ó́ø Ä©É
©„¤ª ¾ª ½ì ¾¤ì ÷
È́ š£ õ
à ¡ ðì ½ óÀì œ
º ¤£ ¸ ¾´ ¢ ñ©Á¨ É
¤¢ º ¤¢ Ó́ø À́ º̂ ì ¾¨ ¡ ¾ ¯ È
¼Á¯ ¤ A º È
¾ ACC1 ¢ œ
´ ¾¥ ½À» ñ©¡ ¾
ì ñº ¡ ¢ Ó́ø Á®® S-Lock Áì ½ À́ º̂ º È
¾ ACC2 ¥ ½À» ñ
©¡ ¾ ì ñº ¡ ¢ Ó́ø Á®® S-Lock ĸ É
À§ „
©¼¸ ¡ ñ , ¡ ðì ½ óì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ B º È
¾ ¢ Ó́ø ACC3 ¡ ðª É
º ¤À»ñ
©¡ ¾ ì ºñ ¡ ¢ Ó́ø Á®® S-Lock
À§ „ ©¼¸ ¡ ñ . ê †À̧ ì ¾ T4 ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ B ª É
º ¤¡ ¾ Á¡ É
Ä¢ ¢ Ó́ø ACC1 ©„¤ ˜ ¥ ‡¤¢ ðì ñº ¡
¢ Ó́ø Á®® X-Lock Áª È
¢ ½ ½ ˜ ACC1 « õ
¡ ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ A À» ñ
©¡ ¾ ì ñº ¡ Á®® S-Lock
ĸ É©„¤ ˜ B ¥‡¤µøÈà ² ¾¸ ½ì 𣠺 ¨ ¥ ö ¡ Ȩ̀¾ A ¥ ½¯ È
º¨ìñ
º ¡ Áì ½ ê †
À̧ ì ¾ T8 ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ A
ªÉ
º ¤¡ ¾ º È
¾ ¢ Ó´ ø ACC3 ¥‡¤¦ ‰
¤¦ ñ ¨ ¾ ¢ º ¤ì ñ
º ¡ ¢ Ó́ø Á®® S-Lock Áª È
®Ò¦ ¾´ ¾©ì ñº ¡ Ä©É
À º̂ ¤¥ ¾¡ ACC3 « õ¡ ì ñº ¡ ĸ É
Á®® X-Lock ª É
º ¤µø
à ² ¾¸ ½ì ð
È £ º ¨ ¥ ö ¡ Ȩ̀¾ ACC3 ¥ ½¯ È
º ¨ ì ñº ¡
ACC1 (40) ACC2 (50) ACC3(30)
ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ A TLME ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ B
ºÈ
¾ ACC1 (40)
Á¡ É
Ä¢ ¢ Ó́ø ê ½®¼ R
(ì ºñ ¡ ACC1 Á®® S-lock) T1
(¢ ð
ìñº ¡ R Á®® X-lock)
SUM = 40
ºÈ
¾ ACC2 (50)
(ì ºñ ¡ ACC2 Á®® S-lock) T2 Œ
SUM = 90
ºÈ
¾ ACC3 (30)
Œ T3
(ì ñ
º ¡ ACC3 Á®® S-lock)
Á¡ É
Ä¢ ACC3 (30 À¯ ñ 20)
Œ T4
(ì ñ
º ¡ ACC3 Á®® X-lock)
ºÈ
¾ ACC1 (40)
Œ T5
(ì ñ
º ¡ ACC1 Á®® S-lock)
Á¡ É
Ä¢ ACC1 (40 À¯ ñ 50)
Œ T6
(¢ ð
ìñº ¡ ACC1 Á®® X-lock)
Œ T7 ² ¾¸ ½ì ð
£º ¨
ºÈ
¾ ACC3 (20)
(ì ºñ ¡ ACC3 Á®® S-lock) T8 ² ¾¸ ½ì ð
£º ¨
² ¾¸ ½ì 𣠺 ¨
ìñ
º ¡ £É
¾¤ (Dead lock)
¥ ¾¡ ¡ ¾ ç Ȩ́ò
êóìñ
º ¡ À¢ í¾´ ¾§ Ȩ̀¨ ¥ ½À¹ ñ ¸ È
¾¦ ¾´ ¾©Á¡ É
Ä¢ ®ñ ¹ ¾ª È
¾¤ÅÄ©É
Áª È́ó®ñ ¹ ¾º ˆ ê †
ª ¾´ ´ ¾£ õ
À¡ ó
©² ¾¸ ½ê †
´ó¡ ¾ ¯ È
¼ Á¯ ¤®¾¤ì ¾¨ ¡ ¾ À» ñ©¡ ¾ ì ñ
º ¡ ¢ Ó́ø Àº ¾
öĸ É
À§ …
¤À» ñ
©Ã¹ Éì ¾¨ ¡ ¾
¯¼
È Á¯ ¤º ˆ ª É
º ¤ì ð
£º ¨ ˜ £ õ
†À¡ ó
©¦ …
¤ê †Àº š ¸ È
¾ì ñ
º ¡ £É
¾¤ (Dead lock) ¢ œ À§ …
¤À» ñ
©Ã¹ É
ªÈ¾¤±È
¾¨
ªÈ
¾¤ì ð
«É¾ Áì ½ ®Ò
¦ ¾´ ¾©À» ñ©¡ ¾ ¯ ½´ ¸ ° ö ¡ ñ
®¢ Ó́ø
Ä©É
, À́ º̂ À¡ ó©¯ ñ ¹ ¾¢ œÀ¯ ñ Î û
¾ê †
¢ º ¤ì ½
®ö
®ê †
¥ ½À»ñ
©¡ ¾ ¡ ¸ ©¦ º ®¸ È
¾´ ó̄ ñ ¹ ¾¡ ¼¸ ¡ ñ®ì ñ
º ¡ £É
¾¤£ ¾À¡ ó©¢ œ, ì ½®ö
®¥ ½ª É
º ¤ À» ñ
©¡ ¾ Àì õ
º¡
ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤Ã©ì ¾¨ ¡ ¾ Î ‡
¤Ã¹ É
À¯ ñ
°ø
É̄ö
©ì ñ
º ¡ À² º̂ ù É
ºó¡ ì ¾¨ ¡ ¾ ¦ ¾´ ¾©À¢ í¾Ä¯ ¯ ½´ ¸
° ö ¡ ñ
®¢ Ó́ø , ¦ ¿ì ñ
®ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤ê †
¯ ö©ì ñ
º ¡ ˜ ¥ ½ª É
º ¤¨ É
º ¡ ñ®Ä¯ ¥÷
©ª ¤̃ª í ÃÏ ú
¡Èº ê†
¥½
À¢ í¾À» ñ
©¡ ¾ ¯ ½´ ¸ ° ö ì ¾¨ ¡ ¾ ¯ È
¼ Á¯ ¤