Privacy Policy Cookie Policy Terms and Conditions Historie (Informatik) - Wikipedia

Historie (Informatik)

aus Wikipedia, der freien Enzyklopädie

Als Historie bezeichnet man in der Informatik im Zusammenhang mit Transaktionssystemen einen Ausführungsplan für die gemeinsame Ausführung mehrerer Transaktionen.

[Bearbeiten] Sinn und Zweck von Historien

Man stelle sich folgende Transaktionen auf einem Konto vor:

  1. T1: Hebe 100,- € von Konto Nr. 777980 ab.
  2. T2: Zahle 52,- € auf Konto Nr. 777980 ein.

Eine Historie legt nun den Ablaufplan fest, nachdem diese Transaktionen abgearbeitet werden. Die naheliegendste Lösung wäre die Ausführung der Transaktionen nacheinander („seriell“), also nach dem Plan einer der folgenden beiden Historien:

  • H1: T1T2
  • H2: T2T1

Die Reihenfolge der Ausführung ist dabei oft essentiell. Falls etwa das Guthaben des Kontos Nr. 777980 nur noch 74,- € beträgt und das Konto nicht überzogen werden darf, so wäre die Historie H1 nicht zulässig.

Die serielle Ausführung von Transaktionen kann ineffizient sein, etwa wenn eine ganze Reihe von Transaktionen warten muss, weil die erste Transaktion in der Warteschlange gerade auf eine Benutzereingabe wartet. Daher erhöht eine gute Historie die Nebenläufigkeit - das heißt die Abwicklung mehrerer Transaktionen nebeneinander her - so weit wie möglich. Dazu werden statt ganzer Transaktionen deren einzelne Operationen betrachtet:

  1. T1: r1[x]w1[x]c1
  2. T2: r2[x]w2[x]c2

Es resultieren dann Historien wie zum Beispiel die Folgende:

\begin{matrix} r_{1}[x] & \rightarrow & w_{1}[x] & \rightarrow & c_{1} & \rightarrow & c_{2} \\ & & \uparrow \\ r_{2}[x] & \rightarrow & w_{2}[x] \end{matrix}

Das Korrektheitskriterium für die nebenläufige Ausführung von Transaktionen ist die Serialisierbarkeit der zugehörigen Historie. Eine Historie H ist dann serialisierbar, wenn sie äquivalent zu einer seriellen Historie H' ist. Die Reihenfolge der Transaktionen in H' nennt man dann Serialisierungsreihenfolge. Wichtig ist dabei, dass die Reihenfolge konfligierender Operationen in der Historie H der Serialisierungsreihenfolge der zugehörigen Transaktionen entspricht. Zwei Operationen verschiedener Transaktionen konfligieren dann, wenn sie das gleiche Datenobjekt betreffen und mindestens eine der beteiligten Operationen eine Schreiboperation ist.

[Bearbeiten] Darstellung von Historien

Historien werden meist als gerichtete Graphen dargestellt:

\begin{matrix} r_{1}[x] & \rightarrow & w_{1}[x] &  & r_{1}[x] & \rightarrow & c_{1} & \rightarrow & c_{2} \\ & & \downarrow & \nearrow \\ r_{2}[y] & \rightarrow & w_{2}[x] \end{matrix}

Ist keine Nebenläufigkeit vorhanden, kann auch die einfachere Darstellung als Folge gewählt werden:

r1[x]w1[x]r2[y]w2[x]r1[x]c1c2

[Bearbeiten] Serielle Historien

Eine serielle Historie ist eine solche, die eine Transaktion nach der anderen („seriell“) ausführt.

Beispiel:

T1, T2 und T3 sind Transaktionen. Es gibt sechs mögliche serielle Historien: T1T2T3, T1T3T2, T2T1T3, T2T3T1, T3T1T2 und T3T2T1

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -