Betrachte den folgenden Schedule:

´r_1(A), r_2(B), r_3(C), r_1(B), r_2(C), ´´r_3(D), w_1(C), w_2(D), w_3(E)´

Überlege zunächst, wo in diesem Schedule ∗lock-Operationen eingefügt werden müssen, damit die drei beteiligten Transaktionen konsistent und 2PL-konform sperren. Gib anschließend den tabellarischen Ablaufplan der Transaktionsausführung eines DBMS-Schedulers an. Kennzeichne darin, welche Sperranforderungen akzeptiert bzw. zunächst abgelehnt werden. Hinweise zum Einfügen der ∗lock-Operationen:

  • Füge Lock-, Shared-Lock- und Exclusive-Lock Operationen jeweils so nah wie möglich an der Aktion ein, die als zuerst den Lock benötigt.
  • Füge die Unlocks einer Transaktion immer am Ende der jeweiligen Transaktion ein.

Nutze zur Erstellung der Ablaufpläne Shared-Lock-, Exclusive-Lock- und Unlock-Operationen.

Solution
  • ´T_1´ ´T_2´ ´T_3´
    ´sl(A)´
    ´r(A)´
    ´sl(B)´
    ´r(B)´
    ´sl(C)´
    ´r(C)´
    ´sl(B)´
    ´r(B)´
    ´sl(C)´
    ´r(C)´
    ´sl(D)´
    ´r(D)´
    ´xl(C)´
    ´w(C)´
    ´u(C)´
    ´u(B)´
    ´u(A)´
    ´xl(D)´
    ´w(D)´
    ´u(D)´
    ´u(C)´
    ´u(B)´
    ´xl(E)´
    ´w(E)´
    ´u(E)´
    ´u(D)´
    ´u(C)´

    Anmerkung: L1(B) (wird abgelehnt) -> warte auf T2 (hat b gelockt) wenn u(B), wird T1 mit R1(B) weitergeführt. Keine Ablehnung markiert.

  • URL:
  • Language: Deutsch
  • Subjects: Databases
  • Type: Describe
  • Duration: 25min
  • Credits: 5
  • Difficulty: 0.5
  • Tags: schedule 2pl lock
  • Note:
    HPI, 2015-07-13, Datenbanksysteme 1, Aufgabe 5.3b
  • Created By: adius
  • Created At:
    2015-07-27 15:06:04 UTC
  • Last Modified:
    2015-07-27 15:06:04 UTC