Mehrbenutzersynchronisation

Größe: px
Ab Seite anzeigen:

Download "Mehrbenutzersynchronisation"

Transkript

1 Kapitel 10 Mehrbenutzersynchronisation 381 / 520

2 Mehrbenutzersynchronisation Alle TAs strikt seriell (also nacheinander) auszuführen ist sicher, aber langsam Oft werden Systemressourcen nicht voll ausgenutzt, da eine TA auf Plattenzugriff oder Benutzereingabe wartet Diese TA blockiert dann alle anderen TAs Um Systemressourcen auszunutzen bietet sich Nebenläufigkeit an 382 / 520

3 Mehrbenutzersynchronisation(2) Nicht abgesicherte Nebenläufigkeit kann aber zu folgenden Problemen führen: lost update dirty read non-repeatable read phantom problem 383 / 520

4 Probleme Lost Update T 1 T 2 bot r 1 (x) bot r 2 (x) w 1 (x) w 2 (x) commit commit Das Ergebnis der Transaktion T 1 ist verlorengegangen! 384 / 520

5 Probleme Dirty Read T 1 T 2 bot bot r 2 (x) w 2 (x) r 1 (x) w 1 (y) commit abort T 1 liest einen Wert für x der so nicht gültig ist! 385 / 520

6 Probleme Non-Repeatable Read T 1 T 2 bot r 1 (x) r 1 (x)... bot w 2 (x) commit T 1 liest x zweimal mit verschiedenem Ergebnis! 386 / 520

7 Probleme Phantom Problem T 1 T 2 bot select count(*) from R; select count(*) from R;... bot insert into R...; commit T 1 findet ein weiteres Tupel beim Abarbeiten der zweiten Anfrage! 387 / 520

8 Isolation Levels Vermeidung der Probleme Im Idealfall sollten alle diese Probleme vermieden werden Man muß dabei allerdings einen Kompromiß zwischen Performanz und Genauigkeit schließen Je mehr Sicherheit, desto langsamer wird die Ausführung Über die Isolation Levels kann man DBMS mitteilen, welche Sicherheit erwünscht ist 388 / 520

9 Isolation Levels Transaktionen und SQL Festsetzen von Eigenschaften einer TA: set transaction Stufe, Zugriffsmodus Folgende Stufen für den Isolation Level sind möglich: read uncommitted read committed repeatable read serializable Mögliche Zugriffsmodi: read only read write 389 / 520

10 Isolation Levels Transaktionen und SQL(2) lost dirty nonrep. phant. update read read probl. read uncommit. read commited repeat. read serializable 390 / 520

11 Isolation Levels Transaktionen und SQL(3) read only sagt dem DBMS, daß eine TA nur Leseoperationen enthält Das hat Auswirkungen auf die Performanz Nebenläufiges Ausführen von TAs die nur lesen ist unkritisch, d.h. beliebig vieler solcher TAs können völlig uneingeschränkt parallel laufen Erst wenn eine TA dazukommt, die auch schreibt müssen Vorkehrungen getroffen werden 391 / 520

12 Isolation Levels Transaktionen und SQL(4) Befehl zum Markieren eines Transaktionsbeginns start transaction; Befehl zur erfolgreichen Beendigung commit [work]; Befehl zum Abbruch rollback [work]; 392 / 520

13 Historien Was macht ein DBMS? Um Lösungsansätze besser verstehen zu können, wird das Problem zunächst etwas formaler betrachtet Danach werden Lösungen vorgestellt, die in DBMS eingesetzt werden 393 / 520

14 Historien Formale Definition einer TA Operationen einer TA T i ri (A): Lesen des Datenobjekts A w i (A): Schreiben des Datenobjekts A a i : Abbruch ci : erfolgreiche Beendigung bot: begin of transaction (implizit) 394 / 520

15 Historien Formale Definition einer TA(2) Eine TA T i ist eine partielle Ordnung von Operationen mit der Ordnungsrelation < i so daß: Ti {r i [x],w i [x] x ist ein Datenobjekt} {a i,c i } a i T i, gdw. c i T i Sei t gleich ai oder c i, dann gilt für jede andere Operation p i : p i < i t i Falls ri [x] und w i [x] T i, dann gilt entweder r i [x] < i w i [x] oder w i [x] < i r i [x] 395 / 520

16 Historien Darstellung Transaktionen werden oft als gerichtete azyklische Graphen (DAGs) dargestellt: r2 w 2 [z] c 2 r 2 [y] r 2 [x] < 2 w 2 [z], w 2 [z] < 2 c 2, r 2 [x] < 2 c 2, r 2 [y] < 2 w 2 [z], r 2 [y] < 2 c 2 Transitive Beziehungen sind im Graph implizit enthalten 396 / 520

17 Historien Historien (Schedules) Mehrere TAs können nebenläufig ausgeführt werden Dies wird durch eine Historie (Schedule) beschrieben Eine Historie gibt an, wie Operationen aus verschiedenen TAs relativ zueinander ausgeführt werden Da verschiedene Operationen parallel ausgeführt werden können, ist eine Historie eine partielle Ordnung 397 / 520

18 Historien Konfliktoperationen Operationen die in Konflikt miteinander stehen dürfen nicht parallel ausgeführt werden Zwei Operationen stehen in Konflikt miteinander, wenn beide auf dem gleichen Datenobjekt arbeiten und mindestens eine davon eine Schreiboperation ist T i T j r i [x] w i [x] r j [x] w j [x] 398 / 520

19 Historien Definition von Historien Sei T = {T 1,T 2,...,T n } eine Menge von Transaktionen Eine Historie H über T ist eine partielle Ordnung mit der Ordnungsrelation < H, so daß H = n i=1 T i <H n i=1 < i Für zwei beliebige Operationen p,q H die in Konflikt miteinander stehen gilt: entweder p < H q oder q < H p 399 / 520

20 Historien Beispiel einer Historie r 2 [x] w 2 [y] w 2 [z] c 2 H = r 3 [y] w 3 [x] w 3 [y] w 3 [z] c 3 r 1 [x] w 1 [x] c / 520

21 Konfliktäquivalenz (Konflikt-)Äquivalenz Zwei Historien H und H sind (konflikt-)äquivalent (H H ), wenn: Sie enthalten die gleichen Mengen von TAs (samt allen dazugehörigen Operationen) Sie ordnen die Konfliktoperationen der nicht abgebrochenen TAs in der gleichen Art und Weise an Die Idee dabei ist, das berechnete Endergebnis nicht zu verändern 401 / 520

22 Konfliktäquivalenz Beispiel r 1 [x] w 1 [y] r 2 [z] c 1 w 2 [y] c 2 r 1 [x] r 2 [z] w 1 [y] c 1 w 2 [y] c 2 r 2 [z] r 1 [x] w 1 [y] w 2 [y] c 2 c 1 r 2 [z] r 1 [x] w 2 [y] w 1 [y] c 2 c / 520

23 Serialisierbarkeit Serialisierbarkeit Da serielle Historien sicher sind, ist es wünschenswert Historien mit ähnlichen Eigenschaften zu haben Insbesondere möchte man eine Historie haben die äquivalent zu einer seriellen Historie ist Eine solche Historie nennt man serialisierbar 403 / 520

24 Serialisierbarkeit Serialisierbarkeit(2) Präzise Definition: Die abgeschlossene Projektion C(H) einer Historie H enthält nur die erfolgreich abgeschlossenen TAs Eine Historie H ist serialisierbar, wenn C(H) äquivalent zu einer seriellen Historie H s ist 404 / 520

25 Serialisierbarkeit Serialisierbarkeitstheorem Wie überprüft man die Serialisierbarkeit? Eine Historie ist genau dann serialisierbar, wenn ihr Serialisierbarkeitsgraph SG(H) azyklisch ist 405 / 520

26 Serialisierbarkeit Serialisierbarkeitsgraph Der Serialisierbarkeitsgraph SG(H) einer Historie H = {T 1,...,T n } ist ein gerichteter Graph mit folgenden Eigenschaften: Die Knoten sind die erfolgreich abgeschlossenen TAs aus H Eine Kante zwischen zwei TAs Ti und T j wird eingetragen, wenn es zwei Konfliktoperationen p i und q j gibt und p i < H q j 406 / 520

27 Serialisierbarkeit Beispiel Historie H H = w 1 [x] w 1 [y] c 1 r 2 [x] r 3 [y] w 2 [x] c 2 w 3 [y] c 3 SG(H) SG(H) = T 1 ր ց T 2 T / 520

28 Serialisierbarkeit Beispiel(2) H ist serialisierbar Mögliche Ordnungen H 1 s = T 1 T 2 T 3 H 2 s = T 1 T 3 T 2 H H 1 s H 2 s 408 / 520

29 Serialisierbarkeit Beispiel(3) r 1 [x] w 1 [x] w 1 [y] c 1 H = ւ r 2 [x] w 2 [y] c 2 r 3 [x] w 3 [x] c 3 ր SG(H) = T 2 ց T 3 T / 520

30 Serialisierbarkeit Beispiel(4) H ist serialisierbar Mögliche Ordnung H 1 s = T 2 T 1 T 3 H H 1 s 410 / 520

31 Serialisierbarkeit Beispiel(5) w 1 [x] w 1 [y] c 1 H = r 2 [x] w 2 [y] c 2 SG(H) = T 1 T 2 H ist nicht serialisierbar 411 / 520

32 Weitere Eigenschaften Weitere Eigenschaften Für TAs sind weitere Eigenschaften wünschenswert: Rücksetzbarkeit (Recoverability) Vermeidung kaskadierenden Rücksetzens (avoiding cascading aborts: ACA) Striktheit (strictness) 412 / 520

33 Weitere Eigenschaften Weitere Eigenschaften(2) Zuerst müssen wir Schreib-/Leseabhängigkeiten (reads-from relationship) definieren Eine TA T i liest (Datenobjekt x) von TA T j, wenn w j [x] < r i [x] a j r i [x] Falls ein w k [x] existiert mit w j [x] < w k [x] < r i [x], dann a k < r i [x] Eine TA kann auch von sich selbst lesen 413 / 520

34 Weitere Eigenschaften Rücksetzbarkeit Eine Historie ist rücksetzbar, wenn folgendes gilt Immer wenn eine TA Ti von einer anderen TA T j liest (i j) und c i H, dann c j < c i Die TAs müssen eine bestimmte Commit-Reihenfolge einhalten Bei nicht rücksetzbaren Historien können Probleme mit dem C und D der ACID-Eigenschaften auftreten 414 / 520

35 Weitere Eigenschaften Rücksetzbarkeit(2) H = w 1 [x] r 2 [x] w 2 [y] c 2 a 1 H ist nicht rücksetzbar Die Konsequenzen sind: Wenn Ergebnis von T2 so stehen bleibt, dann haben wir inkonsistente Daten (T 2 hat Daten von einer abgebrochenen TA gelesen) Wenn wir T2 zurücksetzen, dann nehmen wir Änderungen einer fest zugesicherten TA zurück 415 / 520

36 Weitere Eigenschaften Kaskadierendes Rücksetzen Schritt T 1 T 2 T 3 T 4 T w 1 [x] 2. r 2 [x] 3. w 2 [y] 4. r 3 [y] 5. w 3 [z] 6. r 4 [z] 7. w 4 [v] 8. r 5 [v] 9. a 1 (abort) 416 / 520

37 Weitere Eigenschaften Kaskadierendes Rücksetzen(2) Eine Historie vermeidet kaskadierendes Rücksetzen, wenn folgendes gilt Immer wenn eine TA Ti von einer anderen TA T j liest (i j), dann c j < r i [x] Es darf nur von bereits erfolgreich abgeschlossenen TAs gelesen werden 417 / 520

38 Weitere Eigenschaften Striktheit Eine Historie ist strikt, wenn folgendes gilt Bei zwei Operationen wj [x] < o i [x] (mit o i [x] = r i [x] oder w i [x] gilt entweder a j < o i [x] oder c j < o i [x] Nur von bereits erfolgreich abgeschlossenen TAs darf gelesen oder dürfen Datenobjekte überschrieben werden 418 / 520

39 Weitere Eigenschaften Striktheit(2) Nur bei strikten Historien darf physische Protokollierung beim Recovery angewendet werden x = 0 w 1 [x,1] before image von T 1 : 0 x = 1 w 2 [x,2] before image von T 2 : 1 x = 2 a 1 c 2 Bei Abbruch von T 1 wird x fälschlicherweise auf 0 gesetzt 419 / 520

40 Weitere Eigenschaften Einordnung alle Historien H9 SR RC H8 ACA H7 ST H6 serielle Historien H1 H2 H3 H4 H5 SR: serialisierbar, RC: rücksetzbar, ACA: vermeidet kaskadierendes Rücksetzen, ST: strikt 420 / 520

41 Scheduler Datenbank-Scheduler T 1 T 2 T 3... T n Transaktions-Manager Scheduler Daten-Manager Recovery-Manager Puffer-Manager Datenbank 421 / 520

42 Scheduler Datenbank-Scheduler(2) Ein Scheduler ist ein Programm, das die eingehenden Operationen ordnet und für eine serialisierbare und rücksetzbare Historie sorgt Mehrere Möglichkeiten nach Entgegennahme einer Operation: (Sofort) ausführen Zurückweisen Verzögern 422 / 520

43 Scheduler Datenbank-Scheduler(3) Es existieren zwei grobe Strategien: Pessimistisch Optimistisch 423 / 520

44 Scheduler Pessimistische Scheduler Scheduler verzögert entgegengenommene Operationen Wenn mehrere Operationen da sind, legt Scheduler möglichst geschickte Reihenfolge fest Wichtigster Vertreter: Sperrbasierter Scheduler (in der Praxis weit verbreitet) 424 / 520

45 Scheduler Optimistische Scheduler Scheduler schickt entgegengenommene Operationen möglichst schnell zur Ausführung, Muß später eventuell Schaden reparieren Wichtigster Vertreter: Zeitstempelbasierter Scheduler 425 / 520

46 Scheduler Sperrbasierte Synchronisation Hauptidee relativ einfach: Jedes Datenobjekt hat eine zugehörige Sperre Bevor eine TA T i zugreifen darf, muß sie Sperre anfordern Falls eine andere TA Tj Sperre hält, bekommt T i die Sperre nicht und muß warten, bis T j die Sperre freigegeben hat Nur eine TA kann Sperre halten und auf Datenobjekt zugreifen Wie garantiert man Serialisierbarkeit? 426 / 520

47 Zwei-Phasen-Sperrprotokoll Zwei-Phasen-Sperrprotokoll Abgekürzt durch 2PL Zwei Sperrmodi: S (shared, read lock, Lesesperre) X (exclusive, write lock, Schreibsperre) Verträglichkeitsmatrix (auch Kompatibilitätsmatrix genannt): gehaltene Sperre angeford. Sp. keine S X S X 427 / 520

48 Zwei-Phasen-Sperrprotokoll Definition Jedes Objekt, das von einer TA benutzt werden soll, muß vorher entsprechend gesperrt werden Eine TA kann eine Sperre die sie hält nicht noch einmal anfordern Wenn eine Sperre nicht gewährt werden kann (nach Matrix), wird TA in Warteschlange eingereiht Eine TA darf nach der ersten Freigabe einer Sperre keine weitere anfordern (es gibt zwei Phasen) Bei Transaktionsende muß eine TA alle Sperren zurückgeben 428 / 520

49 Zwei-Phasen-Sperrprotokoll Zwei Phasen #Sperren Wachstum Schrumpfung Zeit Wachstumsphase: es werden Sperren angefordert, aber keine freigegeben Schrumpfungsphase: es werden Sperren freigegeben, aber keine angefordert 429 / 520

50 Zwei-Phasen-Sperrprotokoll Verzahnung nach 2PL Schritt T 1 T 2 Bemerkung 1. BOT 2. lockx[x] 3. r[x] 4. w[x] 5. BOT 6. locks[x] T 2 muss warten 7. lockx[y] 8. r[y] 9. unlockx[x] T 2 wecken 10. r[x] 11. locks[y] T 2 muss warten 12. w[y] 13. unlockx[y] T 2 wecken 14. r[y] 15. commit 16. unlocks[x] 17. unlocks[y] 18. commit 430 / 520

51 Zwei-Phasen-Sperrprotokoll Strenges 2PL 2PL schließt kaskadierendes Rücksetzen nicht aus Erweiterung zum strengen 2PL: alle Sperren werden bis zum Ende der Transaktion gehalten damit ist kaskadierendes Rücksetzen ausgeschlossen (die erzeugten Schedules sind sogar strikt) 431 / 520

52 Zwei-Phasen-Sperrprotokoll Strenges 2PL(2) #Sperren EOT Wachstumsphase Zeit 432 / 520

53 Deadlocks Verklemmungen (Deadlocks) Beispiel für ein Deadlock: T 1 T 2 bot lockx 1 (a) w 1 (a) lockx 1 (b) bot locks 2 (b) r 2 (b) locks 2 (a) 433 / 520

54 Deadlocks Deadlocks erkennen Keine TA soll ewig auf eine Sperre warten Eine Strategie zum Erkennen von Deadlocks ist Time-Out Richtige Zeitdauer zu finden ist problematisch Präzise Methode benutzt Wartegraphen Knoten sind TAs, Kanten sind Wartet-auf-Beziehungen Wenn Graph Zyklen aufweist, liegt ein Deadlock vor 434 / 520

55 Deadlocks Wartegraph Beispiel T 1 T 2 T 5 T 4 T 3 Wartegraph hat Zyklen, d.h. Deadlock liegt vor Zyklen können hier durch Zurücksetzen von T 2 oder T 3 aufgelöst werden 435 / 520

56 Deadlocks Deadlock-Vermeidung Deadlocks können durch Preclaiming vermieden werden Preclaiming bedeutet, daß alle Sperren zu Beginn einer TA angefordert werden In der Praxis unrealistisch #Sperren BOT EOT Zeit 436 / 520

57 Deadlocks Deadlock-Vermeidung(2) Time-Out-Verfahren ist oft zu vorsichtig, z.t. werden TAs abgebrochen, wenn nur der Verdacht auf ein Deadlock besteht Eine andere Methode besteht darin zum Zeitpunkt wenn T i eine Sperre anfordert, die von T j gehalten wird, zu entscheiden TAs bekommen Prioritäten zugewiesen Wenn Priorität von T i höher ist, darf T i warten Wenn Priorität von T i kleiner ist, wird T i abgebrochen 437 / 520

58 Deadlocks Deadlock-Vermeidung(3) Durch Prioriäten wird vermieden, daß durch ein Warten ein Deadlock entstehen kann Prioritätenvergabe muß umsichtig erfolgen Wenn eine abgebrochene TA T i beim Neutstart ständig niedrige Prioritäten erhält, können sich immer TAs mit höheren Prioritäten vordrängeln Ti kommt nie zum Zug, wir haben kein Deadlock, aber ein Livelock 438 / 520

59 Deadlocks Deadlock-Vermeidung(4) Vermeidung von Deadlocks und Livelocks: Verwendung von Zeitstempeln als Prioritäten Zeitstempel sind eindeutig und wachsen monoton mit der Zeit Eine TA bekommt beim ersten Aufruf einen Zeitstempel ts zugewiesen, beim Neustart behält sie den alten Zeitstempel Je älter der Zeitstempel, desto höher die Priorität Irgendwann hat eine immer wieder abgebrochene TA den ältesten Zeitstempel, Livelocks werden verhindert 439 / 520

60 Deadlocks Deadlock-Vermeidung(5) Angenommen T j hält Sperre, T i fordert sie an Im Zeitstempelverfahren kann ein Scheduler nun zwei verschiedene Strategien fahren Wait-Die: Falls ts(t i ) < ts(t j ), dann wartet T i, sonst bricht T i ab Wound-Wait: Falls ts(t i ) < ts(t j ), dann bricht T j ab, sonst wartet T i 440 / 520

61 multi-granularity locking Phantom-Problem Mit (strengem) 2PL haben wir alle am Anfang des Kapitels angesprochenen Probleme gelöst, außer des Phantom-Problems Phantom-Problem läßt sich mit Sperren auf Datenobjekten nicht lösen, da keine Sperren auf nichtexistenten Datenobjekten angefordert werden können Lösung des Problems durch hierarchische Sperrgranulate (multi-granularity locking: MGL) 441 / 520

62 multi-granularity locking MGL Datenbasis Segmente Seiten Sätze 442 / 520

63 multi-granularity locking Erweiterte Sperrmodi für MGL S (shared): für Leser X (exclusive): für Schreiber IS (intention share): für beabsichtigtes Lesen weiter unten in der Hierarchie IX (intention exclusive): für beabsichtigtes Schreiben weiter unten in der Hierarchie 443 / 520

64 multi-granularity locking Kompatibilitätsmatrix gehaltene Sperre angef. Sp. keine S X IS IX S X IS IX 444 / 520

65 multi-granularity locking Sperrprotokoll Sperren werden in der Hierarchie von oben nach unten angefordert Für eine S oder IS Sperre müssen alle Vorgänger in der Hierarchie im IS oder IX Modus gesperrt sein Für eine X oder IX Sperre müssen alle Vorgänger in der Hierarchie im IX Modus gehalten werden Sperren werden von unten nach oben wieder freigegeben (Sperre wird nur freigegeben, wenn auf keinem Nachfolger des Knotens noch eine Sperre gehalten wird) 445 / 520

66 multi-granularity locking Beispiel Datenbasis (T 1, IX) D (T 2, IS) (T 3, IX) Segmente (T 1, IX) a 1 (T 2, IS) a 2 (T 3, X) Seiten (T 1, X) p 1 p 2 (T 2, S) p 3 Sätze s 1 s 2 s 3 s 4 s 5 s / 520

67 multi-granularity locking Beispiel(2) Datenbasis (T 5, IS) (T 1, IX) (T 2, IS) (T 4, IX) D (T 3, IX) Segmente (T 1, IX) (T 2, IS) a 1 (T a 2 4, IX) (T 3, X) (T 5, IS) Seiten (T 1, X) (T 2, S) p 1 p 2 (T p 3 4, IX) (T 5, IS) Sätze s 1 s 2 s 3 s 4 s 5 s 6 (T 4, X) (T 5, S) 447 / 520

68 multi-granularity locking Beispiel(3) TAs T 4 und T 5 sind blockiert Hier noch kein Deadlock, aber im einfachen MGL-Protokoll sind auch Deadlocks möglich 448 / 520

69 Zeitstempelbasierte Verfahren Zeitstempelbasierte Verfahren Neben den sperrbasierten Protokollen gibt es noch eine weitere große Klasse an Protokollen, die zeitstempelbasierte Synchronisation Transaktionsmanager weist jeder TA einen eindeutigen Zeitstempel zu Jede Operation der TA bekommt diesen Zeitstempel 449 / 520

70 Zeitstempelbasierte Verfahren Zeitstempel Ein Scheduler benutzt die Zeitstempel um in Konflikt stehende Operationen zu ordnen: Angenommen p i [x] und q j [x] stehen in Konflikt miteinander pi [x] wird vor q j [x] ausgeführt, gdw. der Zeitstempel von T i älter als der Zeitstempel von T j ist 450 / 520

71 Zeitstempelbasierte Verfahren Zeitstempel(2) Scheduler speichert zu jedem Datenobjekt x den Zeitstempel der letzten auf x ausgeführten Operation Das wird für jeden Operationstypen q gemacht: max-q-scheduled(x) Wenn Scheduler eine Operation p bekommt, wird ihr Zeitstempel mit allen max-q-scheduled(x) verglichen, mit denen p in Konflikt steht Wenn der Zeitstempel von p älter als ein max-q-scheduled(x) ist, wird p zurückgewiesen (und TA abgebrochen) Ansonsten wird p ausgeführt und max-p-scheduled(x) aktualisiert 451 / 520

72 Zeitstempelbasierte Verfahren Weitere Eigenschaften Einfaches Zeitstempelverfahren erzeugt u.u. nicht rücksetzbare Schedules Rücksetzbarkeit kann dadurch garantiert werden, daß TAs in Zeitstempelreihenfolge committen Solange noch TAs laufen, von denen eine TA T i gelesen hat, wird ein commit von T i verzögert 452 / 520

73 Zeitstempelbasierte Verfahren Probleme von Zeitstempeln Zeitstempelbasierte Synchronisation wird in der Praxis kaum eingesetzt Phantom-Problem wird nicht gelöst Jede Operation wird praktisch zur Schreiboperation, da immer die max-q-scheduled(x)-felder aktualisiert werden müssen 453 / 520

74 Zusammenfassung Zusammenfassung Mehrbenutzersynchronisation gehört mit zu den wichtigsten Funktionen eines DBMS Normalerweise bleibt dies den Benutzern verborgen, aber über die Einstellung der Isolation-Levels kann in die Qualität dieser Synchronisation eingegriffen werden Die zwei bekanntesten Verfahren: Sperrbasierte Synchronisation Zeitstempelbasierte Synchronisation 454 / 520

Mehrbenutzer-Synchronisation

Mehrbenutzer-Synchronisation MehrbenutzerSynchronisation KonfliktKategorien Serialisierung Historien Sperrungen Verklemmungen Optimistische Synchronisation Synchronisation in SQL Mehrbenutzersynchronisation Ausführung der drei Transaktionen,

Mehr

Synchronisation in Datenbanksystemen in a nutshell

Synchronisation in Datenbanksystemen in a nutshell Synchronisation in Datenbanksystemen in a nutshell 1. Modell für nebenläufige Transaktionen und Korrektheitskriterium Transaktionsmodell: Folgen von Lese und Schreiboperationen abgeschlossen durch c=commit.

Mehr

Mehrbenutzer-Synchronisation

Mehrbenutzer-Synchronisation Mehrbenutzer-Synchronisation Konflikt-Kategorien Serialisierung Historien Sperrungen Verklemmungen Optimistische Synchronisation Synchronisation in SQL Kapitel 11 1 Mehrbenutzersynchronisation Ausführung

Mehr

Software-Engineering und Datenbanken

Software-Engineering und Datenbanken Software-Engineering und Datenbanken Transaktionskonzepte 1 Der Transaktionsbegriff Eine Transaktion ist eine Folge von Operationen, die die Datenbank von einem konsistenten Zustand in einen neuen überführen.

Mehr

Serialisierbarkeit von Historien: Minimalanforderung bzgl. "akzeptabler" Synchronisation

Serialisierbarkeit von Historien: Minimalanforderung bzgl. akzeptabler Synchronisation Rücksetzbarkeit Serialisierbarkeit von Historien: Minimalanforderung bzgl. "akzeptabler" Synchronisation von Transaktionen zusätzliche Forderung: lokale Rücksetzbarkeit von Historien, d.h. Jede Transaktion

Mehr

Datenbanken: Transaktionskonzept und Concurrency Control

Datenbanken: Transaktionskonzept und Concurrency Control Wesentlich für das Arbeiten mit Datenbanken sind konsistente Datenbestände! Folgerung: es muss sichergestellt werden, dass Datenmanipulationen von Benutzern immer in einem erneut konsistenten Zustand der

Mehr

... T n T 1 T 2 T 3. Transaktions-Manager. Daten-Manager. Recovery-Manager Puffer-Manager. Datenbank

... T n T 1 T 2 T 3. Transaktions-Manager. Daten-Manager. Recovery-Manager Puffer-Manager. Datenbank Techniken der Schedule-Realisierung T 1 T 2 T 3.... T n Isolations-Eigenschaft wird durch den Scheduler sichergestellt. Aufgabe: : Koordination des Ablaufs konkurrierender Transaktionen so, dass deren

Mehr

Transaktionen und Synchronisation konkurrierender Zugriffe

Transaktionen und Synchronisation konkurrierender Zugriffe Transaktionen und Synchronisation konkurrierender Zugriffe Fragestellungen Aufgaben des Transaktionsmanagers Aktivieren von Transaktionen entsprechend den Anforderungen von Anwendungsprogrammen. Dabei

Mehr

Datenbanksysteme 2009

Datenbanksysteme 2009 Datenbanksysteme 2009 Vorlesung vom 30.06.09 Kapitel 14: Mehrbenutzersynchronisation Oliver Vornberger Institut für Informatik Universität Osnabrück Multiprogramming Zeitachse Einbenutzer betrieb T1 T2

Mehr

Mehrbenutzersynchronisation

Mehrbenutzersynchronisation Mehrbenutzersynchronisation VU Datenbanksysteme vom 4.11. 2015 Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Nebenläufigkeit

Mehr

Mehrbenutzersynchronisation

Mehrbenutzersynchronisation Mehrbenutzersynchronisation Ausführung der drei Transaktionen T 1, T 2 und T 3 : (a) im Einzelbetrieb und Zeitachse T 1 T2 T 3 (b) im (verzahnten) Mehrbenutzerbetrieb (gestrichelte Linien repräsentieren

Mehr

1 Transaktionen in SQL. 2 Was ist eine Transaktion. 3 Eigenschaften einer Transaktion. PostgreSQL

1 Transaktionen in SQL. 2 Was ist eine Transaktion. 3 Eigenschaften einer Transaktion. PostgreSQL 1 Transaktionen in SQL Um Daten in einer SQL-Datenbank konsistent zu halten, gibt es einerseits die Möglichkeit der Normalisierung, andererseits sog. Transaktionen. 2 Was ist eine Transaktion Eine Transaktion

Mehr

Synchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt.

Synchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt. OPTIMISTIC CONCURRENCY CONTROL Synchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt. Abbruch einer Transaktion

Mehr

Tag 4 Inhaltsverzeichnis

Tag 4 Inhaltsverzeichnis Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik

Mehr

Übungen zur Vorlesung. Datenbanken I

Übungen zur Vorlesung. Datenbanken I Prof. Dr. S. Böttcher Adelhard Türling Übungen zur Vorlesung Datenbanken I WS 2002/2003 Blatt 6 Aufgabe 1: In der Vorlesung haben Sie für die Einbringstrategie Update in Place die Vorgehensweisen steal,

Mehr

Mehrbenutzersynchronisation

Mehrbenutzersynchronisation Mehrbenutzersynchronisation Ausführung der drei Transaktionen T 1, T 2 und T 3 : (a) im Einzelbetrieb und Zeitachse T 1 T 2 T 3 (b) im (verzahnten) Mehrbenutzerbetrieb (gestrichelte Linien repräsentieren

Mehr

Koordination des Mehrbenutzerbetriebs 9. Koordination des Mehrbenutzerbetriebs

Koordination des Mehrbenutzerbetriebs 9. Koordination des Mehrbenutzerbetriebs 9. Mehrbenutzerbetrieb: DBS bedient gleichzeitig mehrere Benutzer Benutzer arbeiten zwar unabhängig voneinander, können aber die gleiche Relation oder sogar den gleichen Datensatz bearbeiten! Aktivität

Mehr

Datenbanksysteme Technische Grundlagen Transaktions-Konzept, Mehrbenutzer-Synchronisation, Fehlerbehandlung

Datenbanksysteme Technische Grundlagen Transaktions-Konzept, Mehrbenutzer-Synchronisation, Fehlerbehandlung Datenbanksysteme Technische Grundlagen Transaktions-Konzept, Mehrbenutzer-Synchronisation, Fehlerbehandlung Prof. Dr. Manfred Gruber FH München Transaktions-Konzept (1) Beispiel: op 1 BOT op 2 read(k 1

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Tag 4 Inhaltsverzeichnis

Tag 4 Inhaltsverzeichnis Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik

Mehr

Mehrbenutzer-Synchronisation

Mehrbenutzer-Synchronisation Mehrbenutzer-Synchronisation Konflikt-Kategorien Serialisierung Historien Sperrungen Verklemmungen Optimistische Synchronisation Synchronisation in SQL Kapitel 11 1 Mehrbenutzersynchronisation Ausführung

Mehr

Datenintegrität und Transaktionskonzept

Datenintegrität und Transaktionskonzept und Transaktionskonzept 1. / Datenkonsistenz 1 Mögliche Gefährdung der : Missachtung von Konsistenzbedingungen ("Semantische Integrität") Inkorrekte Verweise auf Datensätze in verschiedenen Tabellen ("Referentielle

Mehr

Mehrbenutzersynchronisation

Mehrbenutzersynchronisation Mehrbenutzer Synchronisation KonfliktKategorien Serialisierung Historien Sperrungen Verklemmungen Optimistische Synchronisation Synchronisation in SQL Mehrbenutzersynchronisation Ausführung der drei Transaktionen,

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann Blatt Nr. 2 Übung zur Vorlesung Einsatz und Realisierung von Datenbanksystemen im SoSe15 Moritz Kaufmann (moritz.kaufmann@tum.de)

Mehr

Eigenschaften von TAs: ACID-Prinzip

Eigenschaften von TAs: ACID-Prinzip Transaktionsparadigma Definition: Transaktion ununterbrechbare Folge von DML-/DDL-Befehlen begin transaction --- end transaction begin: meist implizit mit ersten Datenbankzugriff end: commit (work) oder

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

Darunter versteht man die Anmeldung eines Benutzers beim System unter Angabe einer Benutzererkennung.

Darunter versteht man die Anmeldung eines Benutzers beim System unter Angabe einer Benutzererkennung. Datenmanagement 60 5 Datenschutz und Datensicherheit 5.1 Datenschutz Wer wird hier geschützt? Personen Ein anderer Begriff für Datenschutz ist Zugriffskontrolle. Datenschutz soll sicherstellen, dass alle

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Handbuch ECDL 2003 Professional Modul 3: Kommunikation Kalender freigeben und andere Kalender aufrufen

Handbuch ECDL 2003 Professional Modul 3: Kommunikation Kalender freigeben und andere Kalender aufrufen Handbuch ECDL 2003 Professional Modul 3: Kommunikation Kalender freigeben und andere Kalender aufrufen Dateiname: ecdl_p3_02_03_documentation.doc Speicherdatum: 08.12.2004 ECDL 2003 Professional Modul

Mehr

Transaktionsverarbeitung und Nebenläufigkeitskontrolle. Jim Gray ( )

Transaktionsverarbeitung und Nebenläufigkeitskontrolle. Jim Gray ( ) Transaktionsverarbeitung und Nebenläufigkeitskontrolle Jim Gray (1944-2007) Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1. Lese den Kontostand von A in die Variable

Mehr

Datenbanken Konsistenz und Mehrnutzerbetrieb III

Datenbanken Konsistenz und Mehrnutzerbetrieb III Datenbanken Konsistenz und Mehrnutzerbetrieb III 1. Oracle Architektur! Komponenten des Oracle Servers! Zugriff über Netzwerk 2. Zugriffsrechte! Starten und Schließen der Datenbank! Nutzer und Rollen!

Mehr

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

Statuten in leichter Sprache

Statuten in leichter Sprache Statuten in leichter Sprache Zweck vom Verein Artikel 1: Zivil-Gesetz-Buch Es gibt einen Verein der selbstbestimmung.ch heisst. Der Verein ist so aufgebaut, wie es im Zivil-Gesetz-Buch steht. Im Zivil-Gesetz-Buch

Mehr

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!. 040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl

Mehr

Datenbanksysteme II SS 2010. Übungsblatt 9: Wiederholung

Datenbanksysteme II SS 2010. Übungsblatt 9: Wiederholung Ludwig-Maximilians-Universität München München, 02.07.2010 Department Institut für Informatik PD Dr. Peer Kröger Andreas Züfle Datenbanksysteme II SS 2010 Übungsblatt 9: Wiederholung Besprechung: 20.07.2010

Mehr

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige

Mehr

Mehrbenutzersynchronisation

Mehrbenutzersynchronisation Kapitel 13 Mehrbenutzersynchronisation 13.1 Multiprogramming Unter M ultiprogramming versteht man die nebenläufige, verzahnte Ausführung mehrerer Programme. Abbildung 13.1 zeigt exemplarisch die dadurch

Mehr

7 Rechnen mit Polynomen

7 Rechnen mit Polynomen 7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 3 12.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: a)

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1 Zahlenwinkel: Forscherkarte 1 alleine Tipp 1 Lege die Ziffern von 1 bis 9 so in den Zahlenwinkel, dass jeder Arm des Zahlenwinkels zusammengezählt das gleiche Ergebnis ergibt! Finde möglichst viele verschiedene

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 2 Übung zur Vorlesung Einsatz und Realisierung von Datenbanksystemen im SoSe14 Moritz Kaufmann (moritz.kaufmann@tum.de)

Mehr

Wie halte ich Ordnung auf meiner Festplatte?

Wie halte ich Ordnung auf meiner Festplatte? Wie halte ich Ordnung auf meiner Festplatte? Was hältst du von folgender Ordnung? Du hast zu Hause einen Schrank. Alles was dir im Wege ist, Zeitungen, Briefe, schmutzige Wäsche, Essensreste, Küchenabfälle,

Mehr

Hilfedatei der Oden$-Börse Stand Juni 2014

Hilfedatei der Oden$-Börse Stand Juni 2014 Hilfedatei der Oden$-Börse Stand Juni 2014 Inhalt 1. Einleitung... 2 2. Die Anmeldung... 2 2.1 Die Erstregistrierung... 3 2.2 Die Mitgliedsnummer anfordern... 4 3. Die Funktionen für Nutzer... 5 3.1 Arbeiten

Mehr

Musterlösungen zur Linearen Algebra II Blatt 5

Musterlösungen zur Linearen Algebra II Blatt 5 Musterlösungen zur Linearen Algebra II Blatt 5 Aufgabe. Man betrachte die Matrix A := über dem Körper R und über dem Körper F und bestimme jeweils die Jordan- Normalform. Beweis. Das charakteristische

Mehr

A Lösungen zu Einführungsaufgaben zu QueueTraffic

A Lösungen zu Einführungsaufgaben zu QueueTraffic A Lösungen zu Einführungsaufgaben zu QueueTraffic 1. Selber Phasen einstellen a) Wo im Alltag: Baustelle, vor einem Zebrastreifen, Unfall... 2. Ankunftsrate und Verteilungen a) poissonverteilt: b) konstant:

Mehr

Transaktionsverwaltung

Transaktionsverwaltung Transaktionsverwaltung Commit Eigenschaften von Transaktionen (ACID) Transaktionen in SQL Kapitel 9 1 Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1. Lese den Kontostand

Mehr

Beispielszenarien. 12. Transaktionen. ACID-Eigenschaften. Transaktion

Beispielszenarien. 12. Transaktionen. ACID-Eigenschaften. Transaktion 12. Transaktionen Beispielszenarien Transaktionsbegriff Probleme im Mehrbenutzerbetrieb Serialisierbarkeit Sperrprotokolle zur Synchronisation Isolationsebenen in SQL Platzreservierung für Flüge quasi

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Fallbeispiel: Eintragen einer Behandlung

Fallbeispiel: Eintragen einer Behandlung Fallbeispiel: Eintragen einer Behandlung Im ersten Beispiel gelernt, wie man einen Patienten aus der Datenbank aussucht oder falls er noch nicht in der Datenbank ist neu anlegt. Im dritten Beispiel haben

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann Blatt Nr. 13 Übung zur Vorlesung Grundlagen: Datenbanken im WS14/15 Harald Lang (harald.lang@in.tum.de) http://www-db.in.tum.de/teaching/ws1415/grundlagen/

Mehr

WinVetpro im Betriebsmodus Laptop

WinVetpro im Betriebsmodus Laptop WinVetpro im Betriebsmodus Laptop Um Unterwegs Daten auf einem mobilen Gerät mit WinVetpro zu erfassen, ohne den Betrieb in der Praxis während dieser Zeit zu unterbrechen und ohne eine ständige Online

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Monitore. Klicken bearbeiten

Monitore. Klicken bearbeiten Sascha Kretzschmann Institut für Informatik Monitore Formatvorlage und deren Umsetzung des Untertitelmasters durch Klicken bearbeiten Inhalt 1. Monitore und Concurrent Pascal 1.1 Warum Monitore? 1.2 Monitordefinition

Mehr

Kompetitive Analysen von Online-Algorithmen

Kompetitive Analysen von Online-Algorithmen Kompetitive Analysen von Online-Algorithmen jonas echterhoff 16. Juli 004 1 Einführung 1.1 Terminologie Online-Algorithmen sind Algorithmen, die Probleme lösen sollen, bei denen Entscheidungen getroffen

Mehr

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

Mehr

Softwarelösungen: Versuch 4

Softwarelösungen: Versuch 4 Softwarelösungen: Versuch 4 Nichtstun in Schleife wird ersetzt durch zeitweilige Zurücknahme der Anforderung, um es anderen Prozessen zu erlauben, die Ressource zu belegen: /* Prozess 0 */ wiederhole flag[0]

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Ein Buch entsteht. Ein langer Weg

Ein Buch entsteht. Ein langer Weg Ein Buch entsteht ilo 2003 Ein langer Weg Wenn ein Schriftsteller oder eine Schriftstellerin eine Geschichte schreibt, dann ist das noch ein langer Weg bis daraus ein Buch wird. Der Autor Alles fängt damit

Mehr

Erfahrungen mit Hartz IV- Empfängern

Erfahrungen mit Hartz IV- Empfängern Erfahrungen mit Hartz IV- Empfängern Ausgewählte Ergebnisse einer Befragung von Unternehmen aus den Branchen Gastronomie, Pflege und Handwerk Pressegespräch der Bundesagentur für Arbeit am 12. November

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

Animationen erstellen

Animationen erstellen Animationen erstellen Unter Animation wird hier das Erscheinen oder Bewegen von Objekten Texten und Bildern verstanden Dazu wird zunächst eine neue Folie erstellt : Einfügen/ Neue Folie... Das Layout Aufzählung

Mehr

Konfliktgraph. Satz und Definition

Konfliktgraph. Satz und Definition 9. Transaktionsverwaltung 9.2. Mehrbenutzerkontrolle Seite 1 Konfliktgraph Der Konfliktgraph von S ist ein gerichteter Graph KG(S) = (V, E), wobei V die Menge aller Transaktionen in S und E die Menge der

Mehr

Wie Sie mit Mastern arbeiten

Wie Sie mit Mastern arbeiten Wie Sie mit Mastern arbeiten Was ist ein Master? Einer der großen Vorteile von EDV besteht darin, dass Ihnen der Rechner Arbeit abnimmt. Diesen Vorteil sollten sie nutzen, wo immer es geht. In PowerPoint

Mehr

10.3.1.8 Übung - Konfigurieren einer Windows 7-Firewall

10.3.1.8 Übung - Konfigurieren einer Windows 7-Firewall 5.0 10.3.1.8 Übung - Konfigurieren einer Windows 7-Firewall Drucken Sie diese Übung aus und führen Sie sie durch. In dieser Übung werden Sie erfahren, wie man die Windows 7-Firewall konfiguriert und einige

Mehr

Internet online Update (Mozilla Firefox)

Internet online Update (Mozilla Firefox) Um Ihr Consoir Beta immer schnell und umkompliziert auf den aktuellsten Stand zu bringen, bieten wir allen Kunden ein Internet Update an. Öffnen Sie Ihren Mozilla Firefox und gehen auf unsere Internetseite:

Mehr

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken? UErörterung zu dem Thema Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken? 2000 by christoph hoffmann Seite I Gliederung 1. In zu großen Mengen ist alles schädlich. 2.

Mehr

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten 2008 netcadservice GmbH netcadservice GmbH Augustinerstraße 3 D-83395 Freilassing Dieses Programm ist urheberrechtlich geschützt. Eine Weitergabe

Mehr

Beweisbar sichere Verschlüsselung

Beweisbar sichere Verschlüsselung Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit bmoeller@crypto.rub.de 6

Mehr

Anmerkungen zur Übergangsprüfung

Anmerkungen zur Übergangsprüfung DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung

Mehr

Unzulänglichkeiten der ANSI-SQL-Isolationslevel [1] Intelligente Datenbanken

Unzulänglichkeiten der ANSI-SQL-Isolationslevel [1] Intelligente Datenbanken Unzulänglichkeiten der ANSI-SQL-Isolationslevel [1] Ausarbeitung zum Seminar Intelligente Datenbanken im Sommersemester 2005 Fabian Klingbeil Universität Bonn Institut für Informatik III am 19.7.2005 Seminar

Mehr

Literatur und Quellen. Datenbanken. Inhalt. Inhalt. Transaktionen. Nikolaus Augsten. Wintersemester 2013/14

Literatur und Quellen. Datenbanken. Inhalt. Inhalt. Transaktionen. Nikolaus Augsten. Wintersemester 2013/14 Literatur und Quellen Datenbanken Nikolaus Augsten nikolaus.augsten@sbg.ac.at FB Computerwissenschaften Universität Salzburg Wintersemester 2013/14 Lektüre zu den Themen : Kapitel 9 () aus Kemper und Eickler:

Mehr

192.168.0.1. Wenn wir also versuchen auf einen anderen PC zuzugreifen, dann können wir sowohl per Name als auch mit der Adresse suchen.

192.168.0.1. Wenn wir also versuchen auf einen anderen PC zuzugreifen, dann können wir sowohl per Name als auch mit der Adresse suchen. Windows Netzwerk Sie haben einen oder mehrere PC mit einander verbunden? Dann sollte man das auch nutzen. Generelles: Ein PC hat in der Regel IMMER eine feste Nummer / Adresse (egal ob wechselnd oder immer

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

Kapitel 12 Integrität der Datenbank

Kapitel 12 Integrität der Datenbank Kapitel 12 Integrität der Datenbank 12 Integrität der Datenbank 12 Integrität der Datenbank...1 12.1 Aspekte des Integritätsproblems...3 12.2 Semantische Integrität...4 12.3 Das Konzept der Transaktion...6

Mehr

BERECHNUNG DER FRIST ZUR STELLUNGNAHME DES BETRIEBSRATES BEI KÜNDIGUNG

BERECHNUNG DER FRIST ZUR STELLUNGNAHME DES BETRIEBSRATES BEI KÜNDIGUNG Frist berechnen BERECHNUNG DER FRIST ZUR STELLUNGNAHME DES BETRIEBSRATES BEI KÜNDIGUNG Sie erwägen die Kündigung eines Mitarbeiters und Ihr Unternehmen hat einen Betriebsrat? Dann müssen Sie die Kündigung

Mehr

A. Ersetzung einer veralteten Govello-ID ( Absenderadresse )

A. Ersetzung einer veralteten Govello-ID ( Absenderadresse ) Die Versendung von Eintragungsnachrichten und sonstigen Nachrichten des Gerichts über EGVP an den Notar ist nicht möglich. Was kann der Notar tun, um den Empfang in seinem Postfach zu ermöglichen? In zahlreichen

Mehr

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr

Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3

Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3 Lineare Funktionen Inhaltsverzeichnis 1 Proportionale Funktionen 3 1.1 Definition............................... 3 1.2 Eigenschaften............................. 3 2 Steigungsdreieck 3 3 Lineare Funktionen

Mehr

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung

Mehr

AutoCAD 2007 - Dienstprogramm zur Lizenzübertragung

AutoCAD 2007 - Dienstprogramm zur Lizenzübertragung AutoCAD 2007 - Dienstprogramm zur Lizenzübertragung Problem: Um AutoCAD abwechselnd auf mehreren Rechnern einsetzen zu können konnte man bis AutoCAD 2000 einfach den Dongle umstecken. Seit AutoCAD 2000i

Mehr

Alle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt.

Alle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt. Gentlemen", bitte zur Kasse! Ravensburger Spiele Nr. 01 264 0 Autoren: Wolfgang Kramer und Jürgen P. K. Grunau Grafik: Erhard Dietl Ein Gaunerspiel für 3-6 Gentlemen" ab 10 Jahren Inhalt: 35 Tresor-Karten

Mehr

10.6 Programmier-Exits für Workitems

10.6 Programmier-Exits für Workitems 10.6 Programmier-Exits für Workitems 279 10.6 Programmier-Exits für Workitems 10.6.1 Das Interface IF_SWF_IFS_WORKITEM_EXIT Am Schritt einer Workflow-Definition im Reiter»Programmier-Exits«können verschiedene

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

Internationales Altkatholisches Laienforum

Internationales Altkatholisches Laienforum Internationales Altkatholisches Laienforum Schritt für Schritt Anleitung für die Einrichtung eines Accounts auf admin.laienforum.info Hier erklären wir, wie ein Account im registrierten Bereich eingerichtet

Mehr

Gruppenrichtlinien und Softwareverteilung

Gruppenrichtlinien und Softwareverteilung Gruppenrichtlinien und Softwareverteilung Ergänzungen zur Musterlösung Bitte lesen Sie zuerst die gesamte Anleitung durch! Vorbemerkung: Die Begriffe OU (Organizational Unit) und Raum werden in der folgenden

Mehr

Lösungsmethoden gewöhnlicher Differentialgleichungen (Dgl.)

Lösungsmethoden gewöhnlicher Differentialgleichungen (Dgl.) Lösungsmethoden gewöhnlicher Dierentialgleichungen Dgl) Allgemeine und partikuläre Lösung einer gewöhnlichen Dierentialgleichung Eine Dierentialgleichung ist eine Gleichung! Zum Unterschied von den gewöhnlichen

Mehr

Informationen zum neuen Studmail häufige Fragen

Informationen zum neuen Studmail häufige Fragen 1 Stand: 15.01.2013 Informationen zum neuen Studmail häufige Fragen (Dokument wird bei Bedarf laufend erweitert) Problem: Einloggen funktioniert, aber der Browser lädt dann ewig und zeigt nichts an Lösung:

Mehr

Transaktionen Recovery Isolationslevel. Datenbanksysteme. Transaktionen. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen

Transaktionen Recovery Isolationslevel. Datenbanksysteme. Transaktionen. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen Transaktionen Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2015 Motivation ACID-Eigenschaften Übersicht Transaktionen Motivation ACID-Eigenschaften Ursachen für Logging und Backup

Mehr

TAV Übung 3. Übung 3: Verteilte Datenhaltung

TAV Übung 3. Übung 3: Verteilte Datenhaltung Übung 3: Verteilte Datenhaltung 1. Serialisierung Konstruieren Sie Historien aus drei Transaktionen T1, T2 und T3, die folgende Merkmale aufweisen: 1. Die serielle Reihenfolge ist T1 vor T2 vor T3. 2.

Mehr

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Die Entscheidung Advoware über VPN direkt auf dem lokalen PC / Netzwerk mit Zugriff auf die Datenbank des zentralen Servers am anderen

Mehr