Nicht-Standard Datenbanksysteme
News
- Vorlesungstermine sind online. Die Prüfung ist mündlich.
- Da keine Präsenzlehre möglich ist, wurde der Modus für Vorlesung und Proseminar entsprechend angepasst.
Allgemeines
Die Anforderungen moderner Systeme an das Datenmanagement entfernen sich zunehmend von den klassischen Annahmen relationaler Datenbanksysteme: Die Hardware hat sich verändert (großer RAM, viele Prozessoren), die Datenformate sind vielfältig und lassen sich schwer in ein starres, relationales Schema zwängen, Web Applikationen mit Tausenden von simultanen Benutzern fordern hohe Belastbarkeit der Systeme, usw. Diese Lehrveranstaltung beschäftigt sich mit Themen aus diesem Bereich die in den letzen Jahren besondere Aktualität erlangt haben, z.B. parallele Datenbanken, verteilte Datenbanken, Hauptspeicherdatenbanken, NOSQL Datenbanken.
Vorlesung
Da in diesem Semester keine Präsenzlehre möglich ist, werden regelmäßig Videos zu den einzelnen Themen online gestellt werden. Es finden keine Vorlesungen über Videokonferenz statt.
Der Stoff der Vorlesung ist großteils durch Lehrbücher abgedeckt; die entsprechende Literatur wird referenziert. Zu den meisten Themen gibt es Folien, die rechtzeitig online gestellt und in den Vorlesungsvideos behandelt werden.
Fragen und Diskussionen
Für Fragen und Diskussionen (auch unter den Studierenden) steht der Slack Channel #nsdb-vo-2020ss zur Verfügung.
Folien und Vorlesungsvideos
Thema | Folien | Videos | Handouts | Literatur |
---|---|---|---|---|
Database System Architectures | [1x1] [2x2] | [01] [02] [03] | — | DSC6 17 |
Parallel Databases | [1x1] [2x2] | [01] [02] [03] [04] [05] [06] | — | DSC6 18 |
Distributed Databases | [1x1] [2x2] | [01] [02] [03] [04] [05] [06] [07] [08] [09] |
2-Phase-Commit
Persistent Messaging Distributed Locking |
DSC6 19 |
Voraussetzungen
- Grundlagen Transaktionen:
- DSC6 14.1–14.2, 14.4–14.6
-
- Concurrency Control:
- 2-Phase Locking (2PL): DSC6 15.1.3
Timestamp-Based Protocols: DSC6 15.4
Deadlocks: DSC6 15.2
Literatur
- DSC6 — Database System Concepts
- Silberschatz, Korth, Sudarshan. Database System Concepts.. McGraw-Hill, 2011, 6th edition.
Multiple copies of the book are available in the textbook collection of the department library (Fachbibliothek Itzling). - DSC7 — Database System Concepts
- Silberschatz, Korth, Sudarshan. Database System Concepts.. McGraw-Hill, 2019, 7th edition.
Prüfung
Der Prüfungsstoff schließt Folien, Handouts, Vorlesungsvideos, sowie die Literatur aus der obigen Tabelle ein.
Die Prüfung zur Vorlesung ist mündlich.
Bewertet werden
- die technische Korrektheit der Antwort,
- der Detailgrad der Antwort, d.h., wie tief-schürfend wurde das Thema behandelt,
- die Vollständigkeit der Antwort, d.h., wurden alle Aspekte berücksichtigt,
- der Gebrauch der passenden Fachterminologie,
- die Fähigkeit, auf vertiefende Fragen einzugehen.
Zur Prüfung können keine Unterlagen verwendet werden.
Die An- und Abmeldung zur Prüfung ist bis 48 Stunden vor dem Prüfungszeitpunkt möglich. Bei Fernbleiben von einer Prüfung ohne Abmeldung erfolgt eine Sperre gemäß den Satzungen der Universität.
Proseminar
Die Vorbesprechung und die Präsenztermine fallen aus.
Fragen und Diskussionen
Für Fragen und Diskussionen (auch unter den Studierenden) steht der Slack Channel #nsdb-ps-2020ss zur Verfügung.
Abhaltemodus
Im Proseminar wird über das Semester hinweg an einem praktischen Programmier-Projekt gearbeitet. Die Bearbeitung erfolgt in Gruppen zu je 3 Personen. Zu Beginn wählt jede Gruppe ein Datenbanksystem aus und definiert eine passende Applikation. Die Programmiersprache kann frei gewählt werden. Als Datenbanksystem muss ein System gewählt werden, das nicht zu den traditionellen relationalen Datenbanksystemen (wie bspw. PostgreSQL) gezählt wird. Das inkludiert Systeme aus den NoSQL- und NewSQL-Bewegungen sowie verteilte Frameworks für sehr große Datenmengen (bspw. Apache Spark).
Während des Semesters wird es drei Checkpoints (Meilensteine) geben. Zu Checkpoints 1 und 2 erstellen die Studierenden einen Bericht (in LaTeX verfasst), der eine Ergebnis-Zusammenfassung des jeweiligen Checkpoints darstellt. Für jeden Bericht werden die wichtigsten Punkte/Fragen vordefiniert, die zu bearbeiten sind. Am Ende des Semesters präsentiert jede Gruppe ihr fertiges Projekt (Checkpoint 3) via Video-Konferenz.
Für jeden Checkpoint werden die Beurteilungskriterien im Voraus festgelegt, siehe auch Bewertung für Details zur Benotung.
Checkpoint-Übersicht
Max. Punkte | Deadline | |||||
---|---|---|---|---|---|---|
Regulär + Bonus | ||||||
1. | Checkpoint 1 | 5 + 2 | 20.05.2020, 23:55 | |||
2. | Checkpoint 2 | 10 + 1 | 17.06.2020, 23:55 | |||
3. | Checkpoint 3 | 5 | Präsentationen ab 24.06.2020 |
Zur Erstellung des Berichts zu Checkpoint 1 und 2 wird ein Template zur Verfügung gestellt, das verpflichtend zu verwenden ist.
Bericht
Abfassung
Bitte beachten Sie folgende Richtlinien bei der Abfassung des Berichts:- Template: Verwenden Sie das vorgegebene LaTeX-Template für Ihren Bericht.
- Spache: Das Template ist in Englisch verfasst. Es steht jeder Gruppen frei, den Bericht in Englisch (empfohlen) oder Deutsch zu bearbeiten. Die Wahl der Sprache hat keinen Einfluss auf die Bewertung.
Abgabe eines Berichtes
- Abgabe via Abgabesystem. Der Benutzername ist die Matrikelnummer. Das Passwort kann mithilfe der Password zurücksetzen Funktion (zurück-)gesetzt werden.
- Abzugeben ist der jeweilige Checkpoint-Bericht als PDF.
- Verspätete Abgaben werden nicht berücksichtigt.
Checkpoint 3: Präsentation
Als Abschluss der Lehrveranstaltung (Checkpoint 3) stellt jede Gruppe ihr Projekt in einer Präsentation mit Live-Demo vor (Video Konferenz).
Die Teilnahme an der Präsentation der eigenen Gruppe ist verpflichtend. Im Rahmen der Präsentation werden vom LV-Leiter Fragen gestellt. Die Präsentation wird bewertet. Nicht alle Teilnehmer der Gruppe erhalten notwendigerweise dieselbe Bewertung.
Details zu den Terminen (ab 24.06.2020) und der Logistik werden rechtzeitig bekannt gegeben. So ist etwa geplant, dass Studierende anderer Gruppen sich als Zuseher zur Präsentation dazu schalten können, es besteht jedoch keine Anwesenheitspflicht.
Ablauf der Präsentation
- Kurze Beschreibung des Anwendungsszenarios, des Setups und der verwendeten Datensätze, sowie der Motivation für die Systemwahl (evtl. Folien verwenden, max. 4 Minuten).
- Live-Demo der Applikation (Screen Sharing, max. 8 Minuten).
- Zeit für Fragen.
Bewertung
Pro Checkpoint gibt es eine vordefinierte Anzahl an Punkten, die sich aus regulären Punkten und Bonuspunkten zusammensetzt. Für die Gesamtbewertung werden die erreichten Punkte aller Checkpoints aufsummiert.
Bonuspunkte fließen erst ab einer Punktezahle von 10 regulären Punkten in die Gesamtbewertung ein, d.h. man kann mit Bonuspunkten eine positive Bewertung verbessern, jedoch nicht positiv werden.
Punkteintervall | Note | |||
---|---|---|---|---|
≥ 19 | ||||
[16..19) | ||||
[13..16) | ||||
[10..13) | ||||
< 10 |
Unterlagen
Um einen schnelleren Überblick über die verfügbaren Nicht-Standard Datenbanksysteme (im Kontext dieser Lehrveranstaltung) zu erhalten, stellen wir eine kurzes Survey als PDF zur Verfügung: Overview on non-standard database systems
Im Folgenden finden Sie eine Liste von vorgeschlagenen Unterlagen, die die Bearbeitung der Checkpoints erleichtern sollen. Das Studium der Unterlagen ist optional. Die Liste stellt keinen Anspruch auf Vollständigkeit.
Literatur
- 7D7W — Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement
- Redmond and Wilson. Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement. The Pragmatic Bookshelf, 2012.
- ADM — Advanced Data Management
- Wiese. Advanced Data Management. de Gruyter / Oldenbourg, 2015.
- FDB — Fundamentals of Database Systems (7th Edition)
- Kapitel 23, 24 und 25. Elmasri and Navathe. Fundamentals of Database Systems (7th Edition). Pearson, 2016.
Papers
Empfohlene Papers sind markiert.
- H. Garcia-Molina and K. Salem. Main Memory Database Systems: An Overview, in IEEE TKDE, 1992.
- J. Dean and S. Ghemawat. MapReduce: Simplified Data Processing on Large Clusters, in USENIX OSDI, 2004.
- M. Stonebraker, et al. C-Store: A Column-oriented DBMS, in PVLDB, 2005.
- F. Chang, et al. Bigtable: A Distributed Storage System for Structured Data, in USENIX OSDI, 2006.
- G. DeCandi, et al. Dynamo: Amazon's Highly Available Key-value Store, in ACM SOSP, 2007.
- M. Stonebraker, et al. The End of an Architectural Era (It's Time for a Complete Rewrite), in PVLDB, 2007.
- R. Kallmann, et al. H-Store: A High-Performance, Distributed Main Memory Transaction Processing System, in PVLDB, 2008.
- D. Abadi, et al. Column-Stores vs. Row-Stores: How Different Are They Really?, in ACM SIGMOD, 2008.
- W. Vogels. Blog post on Eventually consistency, in Communications of the ACM, 2009.
- D. Abadi, et al. Column-oriented Database Systems, in PVLDB, 2009.
- M. Stonebraker. Blog post on SQL vs. NoSQL databases, in Communications of the ACM, 2010.
- A. Lakshman and P. Malik. Cassandra: A Decentralized Sturctured Storage System, in ACM SIGOPS Oper. Syst. Rev., 2010.
- R. Cattell. Scalable SQL and NoSQL Data Stores, in ACM SIGMOD, 2010.
- M. Zaharia, et al. Spark: Cluster Computing with Working Sets, in USENIX HotCloud, 2010.
- M. Grund, et al. HYRISE – A Main Memory Hybrid Storage Engine, in PVLDB, 2010.
- M. Stonebraker. Blog post on NewSQL, in Communications of the ACM, 2011.
- A. Kemper and T. Neumann. HyPer: A Hybrid OLTP&OLAP Main Memory Database System Based on Virtual Memory Snapshots, in IEEE ICDE , 2011.
- J. Baker, et al. Megastore: Providing Scalable, Highly Available Storage for Interactive Services, in CIDR, 2011.
- M. Stonebraker. Blog post on NewSQL opportunities, in Communications of the ACM, 2012.
- V. Sikka, et al. Efficient Transaction Processing in SAP Hana Database: The End of a Column Store Myth, in ACM SIGMOD, 2012.
- J. C. Corbett, et al. Spanner: Google's Globally-Distributed Database, in USENIX OSDI, 2012.
- F. Färber, et al. The SAP Hana Database – An Architecture Overview, in IEEE Data Eng. Bull., 2015.
- M. Kleppmann, et al. Kafka, Samza and the Unix Philosophy of Distributed Data, in IEEE Data Eng. Bull., 2015.
- P. Carbone, et al. Apache Flink™: Stream and Batch Processing in a Single Engine, in IEEE Data Eng. Bull., 2015.
- A. Pavlo and M. Aslett. What's Really New with NewSQL?, in ACM SIGMOD, 2016.