Datenbankversionierung erlaubt es, dass mehrere Schemaversionen innerhalb einer Datenbank co-existieren. Damit wird die Verfübarkeit der logischen, externen Schemaversionen von der eigentlichen Materialisierung der Daten entkoppelt. Diese Materialisierung ist jedoch maßgeblich für die Performance von Schreib- und vor allem Leseanfragen. Ziel der Diplomarbeit ist es, einen Advisor zu entwickeln, welcher eine möglichst performante Materialisierung für einen gegebene Workload vorschlägt.
Datenbankversionierung erlaubt es, dass mehrere Schemaversionen innerhalb einer Datenbank co-existieren. Damit wird die Verfügbarkeit der logischen, externen Schemaversionen von der eigentlichen Materialisierung der Daten entkoppelt. Diese Materialisierung ist jedoch maßgeblich für die Performance von Schreib- und vor allem Leseanfragen.
Ziel der Diplomarbeit ist es, einen Advisor zu entwickeln, welcher eine möglichst performante Materialisierung für einen gegebenen Workload vorschlägt. Dabei werden all jene Materialisierungen betrachtet, welche die Daten nicht-redundant entsprechend einer Tabellenversion ablegen.
Wesentliche Aufgaben sind dabei:
Für größere Datenbanken kann dieser naive Ansatz an Komplexitätsgrenzen stoßen und unpraktikabel sein. Deshalb soll der Datenbestand gesampelt und in einer parallelen Datenbank analysiert werden. Dabei ergeben sich die folgenden Teilaufgaben: