(V2+Ü1)
Termin: Mi 12-14 h/C 424 und Mi 14-16 h, G 420
Doz.: Maurice van Keulen (Universiteit Twente, NL)
Adressaten:
Target audience are students interested in databases
and/or modern computer architecture (especially processor
and memory architecture) - Bachelor and Master program
Angebot im Lehrexport:
Mathematik, Nebenfach oder Schwerpunkt Informatik
Voraussetzungen:
Foundations in databases (in particular, SQL and relational
algebra).
Inhalt:
Custom hardware, from workstations to PCs, has
experienced tremendous improvements in the past
decades. However, this improvement has not been equally
distributed over all aspects of hardware performance and
capacity: the speed of commercial microprocessors has
been increasing roughly 70% every year, while the speed of
commodity DRAM has improved by little more than 50%
over the past decade. The result is that from the
perspective of the processor, memory has been getting
slower at a dramatic rate making it increasingly difficult to
achieve high processor effciency. Another trend is the
ever-increasing number of parallel execution opportunities
in modern CPUs. It has been shown that current database
systems on the market make poor use of these new
features resulting in low IPC scores (instructions executed
per CPU cycle) during database query execution.
In this course, we examine these aspects and trends
concerning computer architecture more closely.
Furthermore, we also examine database implementation
architecture and trends therein in an effort to understand
how to design a database system that more efficiently uses
main-memory and CPU resources. It appears, for example,
that many simple algorithms for certain database
operations that sequentially traverse the operands,
outperform common database indexing techniques such as
B-trees that show random access patterns. The
performance characteristics are especially important in
query intensive database applications, such as data mining,
so we will focus on these.
More concretely, in this course we will address the
following topics:
Computer architecture. In particular, the co-operation
between CPU, main-memory, and disk.
Database implementation architecture. In particular,
buffer management and common execution algorithms.
Trends in both.
The design of a main-memory DBMS.
Database algorithms optimized for main-memory
execution.
Applications of main-memory DBMSs.
In order to obtain practical experience as well, there is a
practicum with the course. We will use the main-memory
database system Monet developed by the researchers from
the research institute CWI and the University of
Amsterdam. The Monet DBMS is used as a research
vehicle for database research, but it is also been
commercially used, for example, by the data mining
company Data Distilleries. Furthermore, Monet is being
used in Konstanz in the research project Pathfinder.
Students can participate in this project, see Projektgruppe
Pathfinder.
Literatur:
The study material will be chapters from the PhD thesis of
Peter Boncz, "Monet: A Next-Generation DBMS Kernel For
Query-Intensive Applications" (May 2002), and one or two
additional research papers or chapters from a book.
Additional materials will be provided at http://www.inf.uni-konstanz.de/dbis/teaching/ws0203/main-memory-dbms/.
Leistungsnachweis:
The examination of the course will consist of a written exam
(Klausur). For the practicum, there will be no grade, just the
requirement that you have passed it.
Leistungspunkte:
4.5 credits may be achieved for successful participation.