Klausurfragen
Datenbanken
Datenbanken
-
- 1 / 18
-
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