Klausurfragen

Datenbanken

Datenbanken


S. G.
Diese Lernkarten behandeln fortgeschrittene Themen der Datenbankverwaltung auf Universitätsniveau, mit Fokus auf Konsistenz, Speicherung und Abfragen. Sie beleuchten Konzepte wie Row- und Column-Storage, Sperren, Anomalien und Serialisierbarkeit, sowie Vor- und Nachteile verschiedener Ansätze. Ideal für Studierende und Fachleute, die ihr Verständnis von Datenbanken vertiefen und praktische Optimierungstechniken erlernen möchten.
Cartes-fiches
18
Utilisateurs
1
Langue
Allemand
Catégorie
Informatique
Niveau
Université
Créé / Mis à jour
25.11.2014 / 26.11.2014

Cartes-fiches

Was versteht man unter Konsistenz im Bezug auf Datenbanken

  • Korrektheit der in der Datenbank gespeicherten Date
  • Eine hohe Konsistenz einer Datenbank ist dann gegeben, wenn die Daten in der Datenbank frei von Widersprüchen ist

Welche Herausforderungen treten in der Gegenwart bei großen Systemen auf?

  • Verteilte Systeme bereitstellen
  • Events mit niedriger Wahrscheinlichkeit treten garantiert auf und
  • müssen behandelt werden
  • Priorität zwischen Konsistenz, Verfügbarkeit und Toleranz gegenüber Ausfällen setzen

Beschreiben Sie den Unterschied zwischen strikter und schwacher Konsistenz

  • Bei strikter Konsistenz wird eine Garantie abgegeben, dass die abgefragten Daten aktuell sind  auch wenn aus asynchronen, unabhängigen Prozessen darauf zugegriffen wird. Kann diese Garantie nicht abgegeben werden, so können die Daten veraltet sein und man spricht von schwacher Konsistenz.

Welche zwei Bedingungen müssen erfüllt sein, bevor ein commit-Eintrag ins System Log eingetragen wird?

  • Alle Lese-und Schreiboperationen abgearbeitet
  • Logdatei auf Platte gespeichert (wenn nicht schon geschehen per Forcewriting) 

Wie lautet die Regel die ergänzt werden muss, um zu verhindern dass die Serialisierbarkeit nicht garantiert werden kann?

  • Vor dem unlock müssen alle read und writes abgeschickt werden

Erläutern Sie die Vor-und Nachteile des seriellen Scheduler?

  • Pro: Keine Konflikte
  • Contra: Keine parallele Transaktionsabarbeitung

Wann ist eine Schedule serialisierbar?

  • Eine Schedule ist serialisierbar, wenn sie die gleichen Ergebnisse liefert wie eine Hintereinanderausführung der enthaltenen Transaktionen

Welchen Vorteil hat ein Konzept mit gemeinsamen und exklusiven Sperren gegenüber binärem Locking?

  • Ein Konzept mit gemeinsamen und exklusiven Sperren ermöglicht im Gegensatz zu binärem Locking die Parallelisierung von Leseoperationen unterschiedlicher Transaktionen auf einen Datensatz. Dies führt zu einer höheren Performance.

) Benennen und beschreiben Sie die Anomalie, die im Isolation Level REPEATABLE READ auftreten kann.

  • In REPEATABLE READ können sogenannte Phantom Reads auftreten, das heißt die Menge der Datensätze, die über eine bestimmte Bedingung ausgewählt werden, kann sich im Verlauf einer Transaktion ändern.

In welchem Umfang müssen bei Lesezugriffen Sperren gesetzt werden, um die Anomalie aus a) zu vermeiden?

  • Um Phantom Reads zu vermeiden, muss bei Lesezugriffen ein Shared Lock auf die gesamte Tabelle (bzw. auf die durchsuchten Schlüsselbereiche) gesetzt werden.

Was sind die Vor- und Nachteile der Denomalisierung und wann ist sie sinnvoll?

  • Häufige Abfragen auf verschiedene Tabellen
  • Vorteil: Abfragezeiten sind kürzer
  • Nachteil: Höherer Speicherbedarf, Höhere Komplexität

Nennen Sie die zwei Arten von Indexen und beschreiben Sie diese.

  • Clustered: Speichert Zeilen einer Tabelle in sortierter Reihenfolge des Clustered Index Schlüssels
  • Nonclustered: Enthält Wert des indizierten Schlüssels und einen Zeiger auf den Speicherort der restlichen Daten

Wie kann die folgende Abfrage für eine große Datenbank optimiert werden?

SELECT col_x FROM tab_name WHERE

clo_1=‘val_1’ OR col_2=‘val_2’;

  • SELECT col_x FROM tab_name WHERE

clo_1=‘val_1’

UNION

SELECT col_x FROM tab_name WHERE

col_2=‘val_2’;

Warum bietet sich die Kompression bei Column-Storage an?

  • gleiche Dateitypen liegen im Speicher nebeneinander

Worin unterscheidet sich die physikalische Speicherung bei Row- und Columns-Storage?

  • Row: alle Daten eines Tupels werden hintereinander in einer Speicherseiten abgelegt
  • Column: alle Daten einer Spalten werden hintereinander in Speicherseiten abgelegt

Nenne drei Vorteile von Column-Storage gegenüber Row-Storage

  • Daten können besser komprimiert werden
  • Spalten hinzufügen/löschen ist effizienter
  • Spaltenbezogene Queries sind effizienter
  • Effizientere Speichernutzung

Warum ist das Speicherkonzept der Heap-Datei ungeeignet für viele Dateien?

Da sich durch die sequenzielle Speicherung ein extrem hoher Lese/Schreibaufwand ergibt 

Welche Vorteile bietet File-per-table bei InnoDB?

  • Betriebssystem bekommt löschen mit
  • Einfaches Backup von einzelnen Tabellen
  • Einzelne Tabellen können einfach kopiert werden

Étudier