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.