Relational and Non-relational Databases: Difference between revisions
From Gridkaschool
Jump to navigationJump to search
(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]