Difference between revisions of "Relational and Non-relational Databases"

From Gridkaschool
(Created page with "= Overview = Author: Mario Lassnig, CERN PH-ADP-CO, [mailto:mario.lassnig@cern.ch] In this workshop, the students will learn how to use relational and non-relational database...")
 
m (Overview)
Line 1: Line 1:
 
= Overview =
 
= Overview =
 
Author: Mario Lassnig, CERN PH-ADP-CO, [mailto:mario.lassnig@cern.ch]
 
Author: Mario Lassnig, CERN PH-ADP-CO, [mailto:mario.lassnig@cern.ch]
 
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
 

Revision as of 10:33, 8 September 2015

Overview

Author: Mario Lassnig, CERN PH-ADP-CO, [1]