Datenbanken in Rechnernetzen und Transaktionssysteme - Cheatsheet.pdf

Datenbanken in Rechnernetzen und Transaktionssysteme - Cheatsheet
Datenbanken in Rechnernetzen und Transaktionssysteme - Cheatsheet Entity-Relationship-Modell (ERM) Definition: Abstraktionskonzept zur Modellierung von Datenbanken; verwendet Entitäten, Attribute und Beziehungen. Details: Entität: Objekt oder Konzept, das in der Datenbank repräsentiert wird. Attribut: Eigenschaft einer Entität. Beziehung: Verbindung zwischen zwei oder mehr Entitäten. Schlüsselattr...

© StudySmarter 2024, all rights reserved.

Datenbanken in Rechnernetzen und Transaktionssysteme - Cheatsheet

Entity-Relationship-Modell (ERM)

Definition:

Abstraktionskonzept zur Modellierung von Datenbanken; verwendet Entitäten, Attribute und Beziehungen.

Details:

  • Entität: Objekt oder Konzept, das in der Datenbank repräsentiert wird.
  • Attribut: Eigenschaft einer Entität.
  • Beziehung: Verbindung zwischen zwei oder mehr Entitäten.
  • Schlüsselattribute: Eindeutige Identifizierung einer Entität.
  • Darstellung in einem ER-Diagramm.
  • Einfacher vs. erweiterter ERM (EERM).

Normalisierung und Denormalisierung von Datenbanken

Definition:

Prozess zur Optimierung der Datenbankstruktur durch Eliminierung von Redundanzen und Sicherstellung der Datenintegrität (Normalisierung) und umgekehrter Prozess zur Verbesserung der Abfragegeschwindigkeit (Denormalisierung).

Details:

  • Normalisierung: Schrittweise Aufteilung in Normalformen:
    • 1. Normalform (1NF): Elimination von Wiederholungsgruppen
    • 2. Normalform (2NF): Elimination von partiellen Abhängigkeiten
    • 3. Normalform (3NF): Elimination von transitiven Abhängigkeiten
  • Ziel: Redundanz verringern, Konsistenz und Datenintegrität verbessern
  • Denormalisierung: Vergleichen von mehreren Tabellen und Zusammenzuführen von Daten
    • Ziel: Performance/Abfragegeschwindigkeit erhöhen
    • Nachteile: Erhöhte Redundanz, potentielle Konsistenzprobleme

ACID-Prinzipien

Definition:

ACID-Prinzipien sichern die Zuverlässigkeit von Transaktionen in Datenbanksystemen.

Details:

  • Atomicity (Atomarität): Eine Transaktion ist entweder vollständig oder gar nicht ausgeführt.
  • Consistency (Konsistenz): Eine Transaktion führt das System von einem konsistenten Zustand in einen anderen.
  • Isolation (Isolation): Parallel ablaufende Transaktionen beeinflussen sich nicht gegenseitig.
  • Durability (Dauerhaftigkeit): Nach Abschluss einer Transaktion bleiben die Änderungen dauerhaft gespeichert.

Konzepte von Datenreplikation und Synchronisation

Definition:

Datenreplikation: Duplizieren von Daten über mehrere Knoten hinweg; Synchronisation: Sicherstellen der Konsistenz dieser kopierten Daten.

Details:

  • Datenreplikation: erhöht Verfügbarkeit und Fehlertoleranz
  • Synchronisationsstrategien: sofort (synchron) vs. verzögert (asynchron)
  • Replikationsarten: Master-Slave, Multi-Master, Peer-to-Peer
  • Konsistenzmodelle: starke Konsistenz, eventual consistency
  • Konfliktbehandlung: Konflikterkennung und -auflösung
  • Wichtige Algorithmen: Two-Phase Commit (2PC), Paxos, Raft
  • Leistungsmetriken: Latenz, Durchsatz, Verfügbarkeit

Concurrency Control Techniken und Locking-Mechanismen

Definition:

Mechanismen zur Verwaltung gleichzeitiger Zugriffe auf eine Datenbank, um Konsistenz und Isolation von Transaktionen sicherzustellen.

Details:

  • Ziel: Vermeidung von Anomalien wie Dirty Reads, Lost Updates, Non-repeatable Reads.
  • Sperrarten: Shared Lock (S) für Lesen, Exclusive Lock (X) für Schreiben.
  • 2-Phasen-Sperrprotokoll (2PL): Growing Phase (nur Sperren), Shrinking Phase (nur Entsperren).
  • Deadlocks: Zyklisches Warten, gelöst durch Deadlock Detection oder Deadlock Prevention.
  • WICHTIG: Isolationslevel (READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, SERIALIZABLE) beeinflussen Sperrverhalten.

Role-Based Access Control (RBAC)

Definition:

Zugriffssteuerung basierend auf Rollen, um Berechtigungen effizient zu verwalten und zuzuweisen.

Details:

  • Rollen: Sammlung von Berechtigungen, die bestimmten Aufgaben entsprechen.
  • Subjekte: Nutzer oder Prozesse, denen Rollen zugewiesen werden.
  • Zuweisung: Subjekte erhalten Rollen basierend auf ihrer Position oder Aufgabe.
  • Rollen-Hierarchien: Erlauben die Vererbung von Berechtigungen.
  • Vorteile: Vereinfachte Verwaltung, erhöhte Sicherheit, Skalierbarkeit.
  • Nicht zu verwechseln mit Discretionary Access Control (DAC) oder Mandatory Access Control (MAC).
  • Beispiel: Verwaltungssysteme, Datenbankschutz.

Verteilte Datenbanksysteme

Definition:

Verteilte Datenbanksysteme bestehen aus mehreren logisch zusammenhängenden Datenbanken, die über ein Netzwerk verteilt sind.

Details:

  • Datenaufteilung: Daten sind auf mehreren Standorten verteilt.
  • Replikation: Datenkopien werden an mehreren Standorten gehalten.
  • Transparenz: Nutzern erscheint das System als eine einzige Datenbank.
  • Konsistenz: Daten in allen Replikaten müssen aktuell und korrekt sein.
  • Verfügbarkeit: System bleibt auch bei Ausfällen von Teilen funktionsfähig.
  • Skalierbarkeit: Einfache Erweiterung durch Hinzufügen weiterer Knoten.
  • Abfragen: Komplexität durch verteilte Datenzugriffe höher.

Multiversion Concurrency Control (MVCC)

Definition:

Multiversion Concurrency Control (MVCC) erlaubt mehreren Transaktionen gleichzeitig zu lesen und zu schreiben, indem verschiedene Versionen von Datenobjekten beibehalten werden.

Details:

  • Jede Schreiboperation erzeugt eine neue Version eines Datenobjekts.
  • Lesende Transaktionen sehen nur die Versionen, die vor ihrem Beginn erstellt wurden. Dadurch wird eine konsistente Sicht auf die Daten sichergestellt.
  • MVCC verhindert Deadlocks und verbessert die Performance bei gleichzeitigen Transaktionen.
  • Abfragen verwenden Transaktionszeitstempel, um die korrekten Versionen von Daten zu identifizieren: ReadTime(T) und WriteTime(T).
  • Schreibkonflikte werden durch Überprüfen der Sichtbarkeit und der gültigen Zeiträume der Versionen gemanagt.
  • Drei wichtige Operationen:
    • Read(y): Liest die neueste Version, die vor ReadTime erstellt wurde.
    • Write(x): Generiert eine neue Version.
    • Commit: Macht die neue Version dauerhaft sichtbar.
Sign Up

Melde dich kostenlos an, um Zugriff auf das vollständige Dokument zu erhalten

Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.

Kostenloses Konto erstellen

Du hast bereits ein Konto? Anmelden