Concurrency Control II (14) (Kiểm soát đồng thời trong hệ thống CSDL) (Tiếng Anh)

UN
Uni24h
0 Downloads
23
0

Inhalt des Dokuments

Seite 2

How to enforce serializable schedules? Option 1: run system, recording P(S); at end of day, check for P(S) cycles and declare if execution was good 2

Seite 3

How to enforce serializable schedules? Option 2: prevent P(S) cycles from occurring T1 T2 ….. Tn Scheduler DB 3

Seite 4

A locking protocol Two new actions: lock (exclusive): li (A) unlock: ui (A) T1 T2 lock scheduler table 4

Seite 7

Exercise: • What schedules are legal? What transactions are well-formed? S1 = l1(A)l1(B)r1(A)w1(B)l2(B)u1(A)u1(B) r2(B)w2(B)u2(B)l3(B)r3(B)u3(B) S2 = l1(A)r1(A)w1(B)u1(A)u1(B) l2(B)r2(B)w2(B)l3(B)r3(B)u3(B) S3 = l1(A)r1(A)u1(A)l1(B)w1(B)u1(B) l2(B)r2(B)w2(B)u2(B)l3(B)r3(B)u3(B) 7

Seite 8

Exercise: • What schedules are legal? What transactions are well-formed? S1 = l1(A)l1(B)r1(A)w1(B)l2(B)u1(A)u1(B) r2(B)w2(B)u2(B)l3(B)r3(B)u3(B) S2 = l1(A)r1(A)w1(B)u1(A)u1(B) l2(B)r2(B)w2(B)l3(B)r3(B)u3(B) S3 = l1(A)r1(A)u1(A)l1(B)w1(B)u1(B) l2(B)r2(B)w2(B)u2(B)l3(B)r3(B)u3(B) 8

Seite 9

Schedule F T1 T2 l1(A);Read(A) A A+100;Write(A);u1(A) l2(A);Read(A) A Ax2;Write(A);u2(A) l2(B);Read(B) B Bx2;Write(B);u2(B) l1(B);Read(B) B B+100;Write(B);u1(B) 9

Seite 10

Schedule F A B T1 T2 25 25 l1(A);Read(A) A A+100;Write(A);u1(A) 125 l2(A);Read(A) A Ax2;Write(A);u2(A) 250 l2(B);Read(B) B Bx2;Write(B);u2(B) 50 l1(B);Read(B) B B+100;Write(B);u1(B) 150 250 150 10

Seite 11

Rule #3 Two phase locking (2PL) for transactions Ti = ……. li(A) ………... ui(A) ……... no unlocks no locks 11

Seite 13

Schedule G T1 T2 l1(A);Read(A) A A+100;Write(A) l1(B); u1(A) delayed l2(A);Read(A) A Ax2;Write(A);l2(B) 13

Seite 14

Schedule G T1 T2 l1(A);Read(A) A A+100;Write(A) l1(B); u1(A) delayed l2(A);Read(A) A Ax2;Write(A);l2(B) Read(B);B B+100 Write(B); u1(B) 14

Seite 15

Schedule G T1 T2 l1(A);Read(A) A A+100;Write(A) l1(B); u1(A) l (A);Read(A) delayed 2 A Ax2;Write(A);l2(B) Read(B);B B+100 Write(B); u1(B) l2(B); u2(A);Read(B) B Bx2;Write(B);u2(B); 15

Seite 16

Schedule H (T2 reversed) T1 T2 l1(A); Read(A) l2(B);Read(B) A A+100;Write(A) B Bx2;Write(B) l1(B) l2(A) delayed delayed 16

Seite 17

• Assume deadlocked transactions are rolled back – They have no effect – They do not appear in schedule E.g., Schedule H = This space intentionally left blank! 17

Seite 19

Conflict rules for li(A), ui(A): • li(A), lj(A) conflict • li(A), uj(A) conflict Note: no conflict < ui(A), uj(A)>, < li(A), rj(A)>,... 19

Seite 20

Theorem Rules #1,2,3  conflict (2PL) serializable schedule To help in proof: Definition Shrink(Ti) = SH(Ti) = first unlock action of Ti 20

Die ersten 20 Seiten werden angezeigt. Laden Sie das Dokument herunter, um alles zu sehen.

Kommentare (0)

Anmelden um an der Diskussion teilzunehmen

Noch keine Kommentare. Seien Sie der Erste!