Vorlesung Datenbanksysteme WS 2.0 Christoph Koch [email protected] (Subject: „DBVO: ...“ Pruefungsstoff Kap. Kap. Kap. Kap. Kap. Kap. Kap. Kap. Kap. 7 Physische Datenorganisation 8 Abfrageoptimierung 9 Transaktionsverwaltung 10 Fehlerbehandlung 11 Mehrbenutzersynchronisation 12 Sicherheit (exkl. 12.6 Kryptographie) 13 OODBMS 14 ORDBMS 16 Verteilte Datenbanken 2 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. 3 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! 4 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! 5 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 6 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 7 Security Wissensfragen, keine Rechenbeispiele. 8 OODBMS Verständnisfragen. Ev. Klassen fuer gegebene Beispielsituation angeben (mit Attributen, Methoden und Relationships) 9 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. 10 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 11