Databázové systémy v praxi

V této přednášce shrnujeme zkušenosti ze současných i minulých projektů vývoje a údržby datově náročných systémů. Vybrali jsme okruhy, které často způsobují problémy při vývoji a provozu.  Naší ambicí je pomoci studentům neopakovat znovu a znovu známe chyby.

Co se v kurzu dovíte:

  • Proč je datový model kritický pro výkon jakékoliv aplikace?
  • Jak vybrat správný databázový pattern, a co to vlastně je?
  • V čem spočívá důležitost fyzického datového modelu a jaký je rozdíl mezi fyzickým a logickým modelem?
  • Co to je datová kvalita a metadata, a proč je důležité se jimi měli zabývat?
  • Co znamená optimalizace v oblasti databází; kdy, jak a co optimalizovat.
  • Co můžete čekat od chování transakcí v transakčně zatížených systémech.
  • Jaké jsou nejčastější chyby v SQL a při psaní kódu v databázi obecně? Psaní kódu v databázi je extrémně závislé na konkrétní databázi. Na cvičeních si vyzkoušíte, jak rozdílně se ten samý jednoduchý úkol provádí v Oracle, MS SQL, PostgreSQL nebo Mysql. Přednáška předpokládá znalost logického návrhu databáze a základů SQL. Výhodou je zkušenost s nějakým datovým projektem.

 

INFORMACE PRO POSLUCHAČE

 

Doba konání přednášky a cvičení je dána vždy aktuálním rozvrhem pro daný semestr.

Letní semestr 2019 na FIT

 

Výuka – 18. 2. – 18. 5. 2019  (6× sudé a 6× liché, v sudé úterý 30. 4. probíhá výuka jako v sudou středu)

Zkouškové období letního semestru – 20. 5. – 29. 6. 2019

 

Přednáška: Út TH: A 1247 – 16:15 – 17:45

Cvičení: Út T9:351 – 18:00 – 19:30


Semestr:

ČVUT FIT v Praze – letní

Rozsah:

2/1 Z, Zk

Přednášející:

RNDr. Ondřej Zýka

Uzavření předmětu:

Získaný zápočet a složená zkouška

Požadavky na zápočet:

Účast na cvičení, vyřešení zadaných úloh ze cvičení

Požadavky na zkoušku:

Písemný test a ústní zkouška (cca 10 až 20 minut – diskuse nad otázkami z testu).


Obsah předmětu

1. Design databázového systému – na čem je založena kvalita datového modelu aplikace
Soustředíme se na nejdůležitější etapu návrhu databázového systému – sběr požadavků. Dále probereme význam procesní matice a její vliv na návrh logického modelu a implementaci byznys logiky.

2. Fyzický design databáze – kritická část návrhu z pohledu jeho výkonnosti
V přednášce probereme vztah fyzického implementace a logického datového modelu. Budeme se zabývat důvody a způsoby denormalizace modelu a dopadu denormalizace na výkon aplikace a na administraci systému.

3. Databázové návrhové vzory – osvědčené řešení pro standardní úlohy
Probereme návrhové vzory pro řešení standardních částí datových modelů. Soustředíme se na jednoduché i složitější řešení obdobných situací . Probereme výhody a nevýhody jednotlivých řešení jak ze strany vývoje a údržby, tak ze strany srozumitelnosti.

4. Dimenzionální modelování – Základní pattern BI
Dimenzionální model je dobře definovaný a standardizovaný přístup pro ukládání dat ve vysoce denormalizovaném tvaru vhodném pro analytické výpočty. Přednáška pokrývá stručný úvod do dimenzionálního programování a představí architekturu systému Teradata určeného pro velké datové sklady.

5. Integrace dat a datové toky – integrační přístupy a Master Data Management
V současnosti už není žádný systém samostatný, získává více dat z ostatních systémů než od uživatelů. V přednášce probereme různé metody integrace zaručující konzistenci dat v takovém prostředí a základy Master Data Managementu.

6. Architektura datového serveru – co potřebuje vývojář vědět o hardware a OS aby napsal dobrou aplikaci
Probereme základní funkce DBMS, kompromisy v architektuře datových serverů a kritické faktory pro výkonnost DBMS v závislosti na uživatelských požadavcích.

7. Dialekty SQL – kolik je různých SQL a čím se od sebe liší, co z SQL se skutečně používá
V přednášce probereme oblasti psaní kódu v databázi, které v praxi způsobují největší problémy a vyžadují rozdílný přístup. Zmíníme základní chyby vyskytující se při použití ORM nástrojů.

8. Transakce a paralelismus v datovém systému – čím se liší teorie od praxe
Transakce jsou další oblast, která je pokrytá standardy. V přednášce probereme způsoby realizace obecných principů v jednoltivých databázích. Zmíníme best and bad practices pro jednotlivé implementace, nejčastější chyby a způsoby, jak jim předcházet.

9. Optimalizace výkonu – co umí datový server a v čem mu musíme pomoci
Přednáška pokrývá témata jako rozpor mezi optimalizací pro maximální propustnost nebo pro minimální dobu odezvy, řešení rozporu mezi čitelností a výkonností kódu, optimalizace na úrovni kódu a možnosti optimalizace bez zásahu do kódu aplikace.

10. Správa dat v podniku – data jako majetek organizace
Data a informace uložené v systémech jsou jedním z nejcennějších majetků organizace. Datově orientované systémy je třeba chápat jako prostředky pro správu tohoto majetku. Přednáška pokrývá používané metodiky a přístupy pro správu dat.

11. Datová kvalita a Metadata – základní kompetence nutné k pro porozumění a správu dat
Datová kvalita je přístup jak definovat, měřit a zvyšovat využitelnost dat pro koncové uživatele. V přednášce jsou probrány přístupy jak definovat kvalitu dat, metody čištění dat a měření datové kvality. Metadata jsou základní nástroj pro porozumění a využití dat. Probereme typy metadat, způsoby jejich získání a příklady jejich použití.

12. Administrace a Enterprise vlastnosti DBMS – základ úspěšného provozování datového systému
Přednáška se zabývá procesy nutnými k dlouhodobému provozování datového systému. Pokrývá různé role uživatelů DBMS a jejich zodpovědnosti. Soustředí se na řešení zálohování, monitorování systémů, metody dosahování vysoké dostupnosti, upgrade a migrace, synchronizace mezi databázemi, přidělování zdrojů i další cíle administrace.