PA152 Implementace databázových systémů Pavel Rychlý pary@fi.muni.cz Laboratoř zpracování přirozeného jazyka http://www.fi.muni.cz/nlp/ 19. září 2008 PA152,Implementace databázových systémů 1 / 25 Technické informace http://www.fi.muni.cz/ pary/pa152/ přednáška ukončení písemnou zkouškou příklady k samostudiu projekty PA152,Implementace databázových systémů 2 / 25
Zkouška písemná 16 testových otázek (výběr ze 4 možností) maximum 80 bodů za projekt(y) je možné získat až 50 bodů hodnocení: 70 a více bodů A 69 61 bodů B 60 53 bodů C 52 46 bodů D 45 40 bodů E PA152,Implementace databázových systémů 3 / 25 Projekty samostatná práce (příp. skupina max. 3 lidí) výsledkem písemná zpráva (+ funkční programy) Sada testovací otázek (5 bodů za otázku) Názorné ilustrace k přednášce (5 bodů za obrázek) Výstižné heslo/verš k přednášce (7 bodů) PA152,Implementace databázových systémů 4 / 25
Obsah přednášky H. Garcia-Molina, J.D. Ullman, and J. Widom. Database System Implementation Prentice Hall, New Jersey, 2000 Sig: D89 odkazy na další zdroje na Internetu Předpoklady: relační model DB (SQL) PA152,Implementace databázových systémů 5 / 25 Základní pojmy Databáze programuje většina programátorů potřebuje každá firma je součástí většiny aplikací Databázi obstarává DBMS Database Management System Database Engine databázový stroj PA152,Implementace databázových systémů 6 / 25
Základní pojmy Data jakékoliv údaje, které chceme uchovávat Databáze vnitřně strukturovaný soubor dat v konzistentním stavu Databázový stroj (DBMS) systém zajišt ující správných chod databáze PA152,Implementace databázových systémů 7 / 25 Osnova Základy Třídění Uložení dat Datové struktury pro vyhledávání Vyhonocení dotazu Algoritmy pro vyhodnocení dotazu Výpadky systému Souběžné zpracování PA152,Implementace databázových systémů 8 / 25
Oblasti Přednáška pokrývá tři oblasti ukládání a zpracování velkých dat (na disku) ošetření výpadků systému souběžné zpracování PA152,Implementace databázových systémů 9 / 25 Obsah přednášky Co se nedozvíte jak programovat databáze návrh schématu databáze tvorba pravidel/omezení tvorba dotazů návrh formulářů/sestav PA152,Implementace databázových systémů 10 / 25
Téma přednášky Hlavní téma přednášky: Teorie pro praxi teoretická přednáška (složitost, korektnost, důkazy,...) praktické příklady využití teoretických informací v praktických aplikacích PA152,Implementace databázových systémů 11 / 25 Základy O(n log n) Moore Stavíme na dvou pilířích: složitost, Mooreův zákon PA152,Implementace databázových systémů 12 / 25
Relační model databáze Databáze sada relací a pravidel Relace tabulka obsahuje řádky (záznamy), sloupce (atributy) Schéma popis struktury Normální formy, relační algebra/kalkul PA152,Implementace databázových systémů 13 / 25 Vlastnosti DBMS Programming interface (API) aplikační rozhraní Persistent storage trvalé uchování dat Transaction management řízení transakcí současný přístup více uživatelů/procesů PA152,Implementace databázových systémů 14 / 25
Části DBMS Storage Manager správa bloků na disku správa vyrovnávací paměti Query Processor překlad dotazu vyhodnocení dotazu Transaction Manager atomičnost, izolovanost a trvalost transakcí PA152,Implementace databázových systémů 15 / 25 Uložení dat databáze obsahují velké množství dat potřebujeme trvalé uložení kam ukládat? jak ukládat? PA152,Implementace databázových systémů 16 / 25
Hierarchie pamětí vyrovnávací procesor hlavní/operační RAM sekundární disk záložní pásky, optické disky PA152,Implementace databázových systémů 17 / 25 Vlastnosti pamětí větší kapacita menší rychlost větší rychlost menší kapacita Mooreův zákon dvojnásobek za každých 18 měsíců rychlost procesoru velikost operační paměti za jednotnou cenu velikost disku za jednotnou cenu ale: NE rychlost disku PA152,Implementace databázových systémů 18 / 25
Mooreův zákon Exponenciální růst PA152,Implementace databázových systémů 19 / 25 Základní uložení dat trvalé uložení dat trvalost transakcí využití trvalé paměti disk PA152,Implementace databázových systémů 20 / 25
Disk Charakteristiky hlavičky, povrchy, cylindry, stopy, bloky náhodný přístup Vlastnosti disku náhodný přístup je řádově pomalejší než jakýkoliv výpočet i sekvenční přístup atomickým prvkem je blok ( 4 kb) algoritmy optimalizujeme na počet náhodných přístupů na disk zpracováváme celý blok PA152,Implementace databázových systémů 21 / 25 Diskové operace Všechny diskové operace jsou blokové. čtení bloku zápis bloku modifikace bloku čtení bloku modifikace v paměti zápis bloku (kontrola - čtení bloku) PA152,Implementace databázových systémů 22 / 25
Příklady algoritmů Vyhledání Třídění SELECT... ORDER BY... nejčastější netriviální operace DBS PA152,Implementace databázových systémů 23 / 25 Vyhledání sekvenční O(n) binární v uspořádaném poli O(log n) ze skoro každého bloku použijeme jenom zlomek PA152,Implementace databázových systémů 24 / 25
Třídění QuickSort (a jiné) předpokládají data v operační paměti MergeSort třídění sléváním rekurzivní dělení na menší posloupnosti slévání setříděných posloupností O(n log n) v praxi mnohem pomalejší PA152,Implementace databázových systémů 25 / 25