Navigation To modulepage
Display language

IDB-PRA: Implementation of a Database Engine (Database Technology Lab)

6 LP

English

#40037 / #3

SS 2017 - WS 2018/19

Fakultät IV

EN 7

Institut für Softwaretechnik und Theoretische Informatik

34351500 FG Datenbanksysteme und Informationsmanagement

Markl, Volker

Traub, Jonas

sekr@dima.tu-berlin.de

POS-Nummer PORD-Nummer Modultitel
63300 31243 IDB-PRA: Implementation of a Database Engine (Database Technology Lab)

Learning Outcomes

The global data volume is increasing dramatically each year. Understanding how to store, process and manage these huge amounts of data efficiently is a key requirement for software engineers and data analysts in the modern IT world. This lab (following the corresponding lecture topics of DBT-Database Technology) will teach students both the fundamentals of data processing in traditional single-node database systems and how to scale out these techniques to huge amounts of data in large-scale, distributed environments. During the implementation part of the lab, students will get hands-on experience with important data processing techniques by implementing several components of a relational database system and by using parallel programming platforms like Apache Hadoop or Nephele/PACT.

Content

In the database technology lab, students will implement components of a relational database system and get hands-on experience with a parallel data processing platform. The actual components implemented may vary each year, but will include parsing, query optimizer, execution engine, index structures and storage system.

Module Components

Pflichtgruppe:

All Courses are mandatory.

Course Name Type Number Cycle Language SWS
IDB-PRA: Implementation of a Database Engine PR 0434 L 468 WS No information 4

Workload and Credit Points

IDB-PRA: Implementation of a Database Engine (PR):

Workload description Multiplier Hours Total
Lab/Project Work (individual/group work) 15.0 8.0h 120.0h
Plenary Meetings 15.0 4.0h 60.0h
180.0h (~6 LP)
The Workload of the module sums up to 180.0 Hours. Therefore the module contains 6 Credits.

Description of Teaching and Learning Methods

Lectures are accompanied by exercises in small groups to practically rehearse the theory taught in the lectures. In the project, the students will be split in teams and under self-control will implement some components of a database system, with the goal to have a running demonstrator at the end of the semester.

Requirements for participation and examination

Desirable prerequisites for participation in the courses:

This course is the base course for master students with focus on database systems and information management and should be attended in the first semester of the master program. In contrast to the introduction of database systems (MPGI5/DBS), which looks database systems from an application programmers point of view, this class focuses on the internals of database systems. To participate, students are required to have successfully completed a Bachelor in computer science with a focus on database systems (participation in the Datenbankpraktikum, Datenbankprojekt). As a mandatory requirement, knowledge of data modeling, relational algebra, and SQL as well as a very good (!!) command of Java programming and the GIT version control system are essential to participate in the course. These topics will not be repeated in the lecture.

Mandatory requirements for the module test application:

No information

Module completion

Grading:

graded

Type of exam:

Portfolio examination

Language:

English

Typ of portfolio examination

100 points in total

Test elements

Name Points Categorie Duration/Extent
Deliverable assessment: Implementation of database modules for IO handling (3 tasks with 10 points each) 30 practical 36h (12h/task)
Deliverable assessment: Implementation of a database index (1 tasks with 10 points) 10 practical 12h
Deliverable assessment: Implementation of database operators (3 tasks with 25 points in total) 25 practical 36h (12h/task)
Deliverable assessment: Implementation of database optimizer components (2 tasks with 25 points in total) 25 practical 24h (12h/task)
Deliverable assessment: Implementation of database components for massively parallel processing (1 task with 10 points) 10 practical 12h

Grading scale

1.01.31.72.02.32.73.03.33.74.0
95.090.085.080.075.070.065.060.055.050.0

Test description (Module completion)

The final grade according to § 47 (2) AllgStuPO will be calculated with the faculty grading table 2. (Die Gesamtnote gemäß § 47 (2) AllgStuPO wird nach dem Notenschlüssel 2 der Fakultät IV ermittelt.)

Duration of the Module

This module can be completed in one semester.

Maximum Number of Participants

The maximum capacity of students is 60.

Registration Procedures

Students are required to register via the DIMA course registration tool before the start of the first lecture (http://www.dima.tu-berlin.de/). Within the first six weeks after commencement of the lecture, students will have to register for the course at QISPOS (university examination protocol tool) and ISIS (course organization tool) in addition to the registration at the DIMA course registration tool.

Recommended reading, Lecture notes

Lecture notes

Availability:  unavailable

Electronical lecture notes

Availability:  available

Literature

Recommended literature
[1] Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom: Database Systems - The Complete Book, Pearson Education International, 2002.
[2] Or: (the same book, but different publisher) Garcia-Molina, Ullman, Widom: "Database Systems: The Complete Book," Prentice Hall, 2000

Assigned Degree Programs

This module is used in the following modulelists:

Miscellaneous

Recommended Reading: Primary Literature: [1] Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom: "Database Systems: The Complete Book", Pearson Education International, 2002. [2] Or: (the same book, but different publisher) Garcia-Molina, Ullman, Widom: "Database Systems: The Complete Book," Prentice Hall, 2000 Additional Literature: [3] R. Elmasri und S.B. Navathe: Fundamentals of Database Systems, Benjamin Cummings Deutsche Übersetzung: "Grundlagen von Datenbanksystemen," Pearson, 2002 [4] J. Gray, A. Reuter: Transaction Processing, Morgan Kaufman, 1993 [5] T. Özsu und P. Valduriez: Principles of Distributed Database Systems, Prentice Hall, 1999 [6] Saake, Heuer, Sattler: "Datenbanken: Implementierungstechniken", mitp Verlag, 2005 (2. Auflage) [7] Härder, Rahm: "Datenbanksysteme. Konzepte und Techniken der Implementierung," Springer, 2. Auflage 2001 [8] Kemper, Eickler: "Datenbanksysteme - Eine Einführung," Oldenburg, 5. Auflage 2004