Distributed Data Management (ST 2021)

Dr. Thorsten Papenbrock


The free lunch is over! Computer systems up until the turn of the century became constantly faster without any particular effort simply because the hardware they were running on increased its clock speed with every new release. This trend has changed and today's CPUs stall at around 3 GHz. The size of modern computer systems in terms of contained transistors (cores in CPUs/GPUs, CPUs/GPUs in compute nodes, compute nodes in clusters), however, still increases constantly. This caused a paradigm shift in writing software: instead of optimizing code for a single thread, applications now need to solve their given tasks in parallel in order to expect noticeable performance gains. Distributed computing, i.e., the distribution of work on (potentially) physically isolated compute nodes is the most extreme method of parallelization.

Big data analytics and management are a multi-million dollar markets that grow constantly! The ability to control and utilize large amounts of data is the most valuable ability of today's computer systems. Because data volumes grow so rapidly and with them the complexity of questions they should answer, data analytics, i.e., the ability of extracting any kind of information from the data becomes increasingly difficult. As data analytics systems cannot hope for their hardware getting any faster to cope with performance problems, they need to embrace new software trends that let their performance scale with the still increasing number of processing elements.

In this lecture, we take a look at various technologies involved in building distributed, data-intensive systems. We start by discussing fundamental concepts in distributed computing, such das data models, encoding formats, messaging, data replication and partitioning, fault tollerance, and batch- and stream processing. In between, we consider different practical systems from the Big Data Landscape, such as Akka and Spark. In the end, we concentrate on data management aspects, such as distributed database management system architectures and distributed query optimization.

Predecessor of this series: Distributed Data Management (WT 2019/20)

Lectures

Introduction

Date: April 12, 2021
Language: English
Duration: 01:34:22

Foundations

Date: April 14, 2021
Language: English
Duration: 01:22:24

Encoding

Date: April 19, 2021
Language: English
Duration: 01:33:49
Encoding 01:33:49

Communication

Date: April 21, 2021
Language: English
Duration: 01:23:58

Communication: Message-oriented Middleware

Date: April 26, 2021
Language: English
Duration: 01:31:39

Communication: Service-oriented & Database-oriented Middleware

Date: April 28, 2021
Language: English
Duration: 01:31:18

Akka Actor Programming

Date: May 3, 2021
Language: English
Duration: 01:32:32

Akka Actor Programming 2

Date: May 5, 2021
Language: English
Duration: 01:33:25

Akka Actor Programming 3 - Patterns

Date: May 12, 2021
Language: English
Duration: 00:42:13
The first part of the lecture was lost due to technical problems.

Here you find the complete lecture of the predecessor series:
https://www.tele-task.de/lecture/video/7767/

Data Models and Query Languages

Date: May 17, 2021
Language: English
Duration: 01:34:25

Storage and Retrieval

Date: May 19, 2021
Language: English
Duration: 01:34:40

Replication

Date: May 26, 2021
Language: German
Duration: 01:35:19

Replication & Partitioning

Date: May 31, 2021
Language: English
Duration: 01:22:22

Partitioning & Distributed Systems

Date: June 2, 2021
Language: German
Duration: 01:29:17

Distributed Systems

Date: June 7, 2021
Language: German
Duration: 01:21:07

Consistency and Consensus

Date: June 9, 2021
Language: English
Duration: 01:41:06

Transactions

Date: June 14, 2021
Language: English
Duration: 01:27:16

Batch Processing

Date: June 16, 2021
Language: English
Duration: 01:31:15

Batch Processing 2 - Distributed File Systems and MapReduce

Date: June 21, 2021
Language: English
Duration: 01:30:38

Spark Batch Processing

Date: June 28, 2021
Language: English
Duration: 01:29:30

Spark Batch Processing (2)

Date: June 30, 2021
Language: English
Duration: 01:37:54

Exercise 1 Evaluation

Date: July 5, 2021
Language: English
Duration: 01:29:27

Stream Processing

Date: July 7, 2021
Language: English
Duration: 01:20:16

Stream Processing - Databases and Streams

Date: July 12, 2021
Language: English
Duration: 01:29:24

Federated DBMSS

Date: July 19, 2021
Language: German
Duration: 01:16:07

Lecture Summary

Date: July 21, 2021
Language: English
Duration: 01:57:16