Information on individual educational components (ECTS-Course descriptions) per semester

  
Degree programme:Master Computer Science
Type of degree:FH MasterĀ“s Degree Programme
 Full-time
 Winter Semester 2023
  

Course unit titleDatabase System Internals
Course unit code024913010104
Language of instructionGerman
Type of course unit (compulsory, optional)Compulsory
Semester when the course unit is deliveredWinter Semester 2023
Teaching hours per week2
Year of study2023
Level of course unit (e.g. first, second or third cycle)Second Cycle (Master)
Number of ECTS credits allocated4
Name of lecturer(s)Peter REITER


Prerequisites and co-requisites

Sound knowledge of the database language SQL, the concepts of relational databases and at least one object-oriented programming language.

Course content

Concepts and models on which state-of-the-art (centralized as well as distributed) database systems (DBS) are based. This knowledge is used to (a) compare database systems (b) select the right database system for an application and (c) optimize databases with regard to the internal level.

  • Storage engines: Properties of physical storage media, storage interfaces, storage block access
  • Architecture of storage engines: file organization, database buffer, column-oriented storage
  • Indexing: sorted / B + tree / hash index, write-optimized index structures
  • Query processing: key figures for query costs, transformation and evaluation of SQL / relational expressions, estimation of query results, selection of evaluation plans, materialized views
  • Transactions: storage structures, isolation levels
  • Concurrency Control: serializability, read and write anomalies, procedures (optimistic, multiversion, pessimistic and lock-based concurrency control)
  • Recovery System: Classification of errors, algorithms for error correction
  • Architectures of distributed and parallel database systems: parallel and distributed systems, shared status, problems in distributed systems
  • Distributed and parallel storage: partitioning of data, replication and consistency, the CAP theorem, distributed file systems, error detection
  • Query processing in distributed and parallel database systems: query optimization for parallel processing
  • Parallel and distributed transactions: commit protocols, concurrency control, weak consistency, the BASE theorem, leader selection, consensus models
Learning outcomes

Students can:

  • name essential components in the architectures of database systems and their tasks.
  • explain the tasks and different types of database indexes.
  • assess when database indexes are necessary or helpful.
  • use methods to assess the effectiveness of database indexes.
  • explain the tasks and working methods of the query planner / optimizer.
  • create, read and interpret execution plans.
  • explain the meaning of the concepts of transactions, concurrency control and recovery and describe different ways of implementing them.
  • assess which insulation level is required for a specific application and use it.
  • explain essential components / concepts of distributed and parallel database systems and the associated challenges.
  • describe the effects of parallelization / distribution on query processing, transactions and the architecture of database systems.
  • name and explain tried and tested patterns in the implementation of database systems.
  • critically question database systems with regard to their properties in distributed / parallel use.
Planned learning activities and teaching methods
  • Lecture plis in-class exercises (supplemented with flipped classroom elements)
  • Guided processing of relevant literature
  • Selected elements from online courses on state-of-the art database management systems (e.g. https://university.mongodb.com/)
Assessment methods and criteria
  • Evaluation of the exercises (written elaboration / documentation, quality of the solution achieved, ...) and Evaluation of the presentation of the exercises (40%)
  • Final theoretical and practical exam (60%)

For a positive grade, a minimum of 50% of the possible points must be achieved in each part of the examination.

Comment

 None

 

Recommended or required reading
  • Elmasri, Ramez; Navathe, Shamkant B. (2015): Fundamentals of Database Systems. 7. Aufl. Hoboken, NJ: Pearson.
  • Hellerstein, Joseph M.; Stonebraker, Michael (Hrsg.) (2005): Readings in database systems. 4th ed. Cambridge, Mass: MIT Press.
  • Petrov, Alex (2019): Database Internals: A Deep Dive into How Distributed Data Systems Work. 1st edition. Sebastopol, CA: O’Reilly Media.
  • Silberschatz, Abraham; Korth, Henry; Sudarshan, S. (2019): Database System Concepts. 7. Auflage. International. New York, NY: McGraw-Hill Education Ltd.
  • Steen, Maarten van; Tanenbaum, Andrew S. (2017): Distributed Systems. 3.01 edition. Erscheinungsort nicht ermittelbar: CreateSpace Independent Publishing Platform.
  • Winand, Markus (2012): SQL Performance Explained: Everything developers need to know about SQL performance. Vienna, Austria: Winand, Markus.
Mode of delivery (face-to-face, distance learning)

Face-to-face event with selected online elements

Winter Semester 2023go Top