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
- 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)