Sep 7 – 11, 2015
Europe/Berlin timezone

Application development with relational and non-relational databases

Sep 8, 2015, 1:00 PM
5h
Gaede HS (Building 30.22)

Gaede HS

Building 30.22

Speaker

Dr Mario Lassnig (CERN)

Description

In this workshop, the students will learn how to use relational and non-relational databases to build multi-threaded applications. The focus of the workshop is to teach efficient, safe, and fault-tolerant principles when dealing with high-volume and high-throughput database scenarios.

A basic understanding of the following things is required:
- A programming language (preferably Python or any C-like)
- Basic SQL (CREATE, DROP, SELECT, UPDATE, DELETE)
- Linux shell scripting (bash or zsh)

The course will cover the following three topics:

- When to use relational databases, and when not
* Relational primer
* Non-relational primer
* How to design the data model

- Using SQL for fun and profit
* Query plans and performance analysis
* Transactional safety in multi-threaded environments
* How to deal with large amounts of sparse metadata
* Competetive locking and selection strategies

- Building a fault-tolerant database application
* Distributed transactions across relational and non-relational databases
* SQL injection and forceful breakage
* Application-level mitigation for unexpected database issues

Primary author

Dr Mario Lassnig (CERN)

Presentation materials