110 likes | 235 Views
Vorlesung Datenbanksysteme WS 2.0. Christoph Koch dbvo@dbai.tuwien.ac.at (Subject: „DBVO: ...“. Pruefungsstoff. Kap. 7 Physische Datenorganisation Kap. 8 Abfrageoptimierung Kap. 9 Transaktionsverwaltung Kap. 10 Fehlerbehandlung Kap. 11 Mehrbenutzersynchronisation
E N D
Vorlesung Datenbanksysteme WS 2.0 Christoph Koch dbvo@dbai.tuwien.ac.at (Subject: „DBVO: ...“
Pruefungsstoff • Kap. 7 Physische Datenorganisation • Kap. 8 Abfrageoptimierung • Kap. 9 Transaktionsverwaltung • Kap. 10 Fehlerbehandlung • Kap. 11 Mehrbenutzersynchronisation • Kap. 12 Sicherheit (exkl. 12.6 Kryptographie) • Kap. 13 OODBMS • Kap. 14 ORDBMS • Kap. 16 Verteilte Datenbanken
Allgemein • Wissensfragen zum gesamten Stoff. • Weiterhin koennen Pruefungsfragen zu SQL und relationaler Algebra kommen, besonders solche, die für die Abfrageoptimierung relevant sind (z.B. „sind zwei gegebene Queries äquivalent?“) • Alte Prüfungsangaben: ER, Normalformen kommen nicht mehr. Zur Queryoptimierung hat sich der Stoff geändert. Es lohnt sich, sich alte Fragen zu Mehrbenutzersynchronisation und Recovery anzusehen.
Phys. Datenorg. + Abfragebearbeit. • Indexstrukturen:Eintragen und Auslesen von Daten. • Wissensfragen. ------ • Beispiele wie auch in der Vorlesung vom 27.10. Vorgetragen (=> Folien !!!). • Die Ideen und Algorithmen stehen im Buch, es reicht aber nicht, die Formeln auswendigzulernen. • Pipelining: aufeinanderfolgende Operatoren muessen sich die Puffer teilen. Wenn etwas über die Pipeline kommt, muss es nicht von der Platte gelesen werden. • Überlegen Sie sich, wie die Formeln im Kap. 8 zustandkommen. Die sind nicht schwierig! • Selektivität muss verstanden werden!
Beispiel NL-Join • Was passiert, wenn nur m´ Seiten verfügbar sind? • Was passiert, wenn R oder S über die Pipeline kommen? • Was passiert, wenn R ganz in den Puffer passt? • Formel fuer Anzahl der page seeks ? • Formel fuer Anzahl der messages in verteilten Datenbanken? • Ähnliche Überlegungen sollten Sie auch für die anderen Operationen anstellen!
Fehlerbehandlung • „Rechenbeispiele“: • Log fuer gegebene Transaktion aufschreiben. • Bei Absturz zu gegebenem Zeitpunkt auszuführende Recoveryschritte angeben. • Log-Änderungen während der Recovery angeben. • Was tun, wenn während der Recovery ein weiterer Absturz passiert? • Nicht übersehen: WAL-Prinzip • Sicherungspunkte: drei Arten von Recovery • +Verständnisfragen
Mehrbenutzersynchronisation Was kann bei unkontrollierbarem Mehrbenutzerbetried schieflaufen? (lost updates, dirty reads, Phantomproblem) „Rechenbeispiele“ z.B. • Serialisierbarkeit von Historien (siehe alte Angaben) • Rücksetzbarkeit, nicht-kaskadierende Rücksetzbarkeit • Sperrbasierte Synchronisation: 2-Phase Locking • Deadlockerkennung (Abhängigkeitsgraph; preclaiming, Zeitstempel) • Hierarchisches Locking • Zeitstempel-basierende Synchronisation (siehe alte Angaben) • Optimistische Synchronisation
Security • Wissensfragen, keine Rechenbeispiele.
OODBMS • Verständnisfragen. • Ev. Klassen fuer gegebene Beispielsituation angeben (mit Attributen, Methoden und Relationships)
ORDBMS • Verständnisfragen. • Queries: • Für gegebene Aufgabe aus einer Liste die richtige Query (SQL mit ORDBMS-Erweiterungen) herausfinden. • Bedeutung einer gegebenen Query angeben. • Typen aufschreiben; updates darauf durchführen.
Verteilte Datenbanken • Fragmentierung: • Fragmentierung und Query-Dekomposition auf fragmentierten Daten. • Bewertung von verschieden fragmentierten Versionen einer Datenbank für eine gebenen Query. • Query-Auswertung: • Joinauswertung; Semijoin-Methode • Kostenabschaetzungen • Transaktionen: • 2PC: Wissensfragen, Analyse von Protokollfehlern • Mehrbenutzersynchronisation: verteilte Entscheidung von Serialisierbarkeit; 2PL; Deadlockerkennung und –vermeidung • Replizierte Daten: Quorum-Konsensverfahren