hero-image

Výuka databázových předmětů na Katedře informatiky

Správa databází

Hodnocení předmětu pro rok 2009/2010 bylo uzavřeno. Pokud Vám chybí nějaké hodnocení v edisonu napiště mi prosím do 2.5.2010

Materiály

Doprovodný text k předmětu je možné najít v knize Databázové systémy v sedmé části nazvané administrace databázových systémů.

Podmínky udělení zápočtu

První bodovaný úkol

Do prvního bodovaného cvičení si každý student vytvoří testovací vytížení jednoduché databáze (je možné použít návrh nějaké předchozí databáze). Databáze bude obsahovat minimálně pět tabulek: dvě hlavní, jedna vazební a dva číselníky. Každý student bude mít své téma, je možné sdílet kód na generování dat. Pracovní vytížení databáze bude mít následující parametry:

  • V libovolném jazyce.
  • Pro SŘBD SQL Server, Oracle a DB2.
  • V několika vláknech (nezávislých).
  • Náhodně generovaná data: čísla, řetězce (jména, produkty), datumy. Čísla by měla být z domény aplikace u řetězců mohou být nesmysly.
  • 7 - 8 procesů aplikace. 2 - 3 transakce.
  • Mělo by odpovídat reálnému vytížení databáze (select, insert, delete, update).
  • Vytížení by mělo být schopné běžet teoreticky neomezenou dobu. Ošetření chyb!

Druhý bodovaný úkol

Na druhý bodovaný úkol si každý připraví odladěnou verzi svého původního návrhu. Fyzický návrh by měl vycházet z vytížení, které by mělo tentokrát být upraveno pro Oracle. Pro získání maximálního počtu bodů je nutné pro zlepšení ve fyzickém návrhu využít alespoň dvě z následujících datových struktur, či úprav v návrhu:

  • Indexově organizované tabulky.
  • Indexově klastrované tabulky.
  • Materializované pohledy.
  • Hašovaná tabulka.
  • Denormalizace.

Využití těchto struktur nesmí být samoúčelné a mělo by být řádně zdůvodněno. Připravte si také ER (UML) diagram datového modelu spolu se seznamem SQL příkazů, ať se mohu rychle zorientovat ve vašem řešení. 
Jak bude druhý bodovaný úkol probíhat a jak má vypadat připravené vytížení:

  1. Dostanete image s nainstalovanou Oracle databází. Image je vytvořena z Oracle1. Bude tam uživatel Pepa a uživatel Franta, dva tabulkové prostory StaticTP a DynamicTP.
  2. Pod uživatelem Franta vytvoříte neodladěné tabulky, které budou mít indexy na primárním klíčích a cizích klíčích.
  3. Tabulky se nejprve naplní daty (toto nebude součástí měřeného vytížení). Pro načtení dat můžete zvolit jakoukoli metodu. Hlavní tabulky a vazební tabulky musí dohromady mít alespoň 150MB! Velikost dat můžete ověřit mimo jiné v tabulkových prostorech.
  4. Spustí se připravené vytížení a odchytí se provoz během tohoto vytížení.
  5. Pod uživatelem Pepa vytvoříte odladěné tabulky.
  6. Tabulky se naplní stejnými daty. Spustí se připravené vytížení a odchytí se provoz, který se porovná s výsledky na neodladěných tabulkách.
  7. Vytížení tentokrát připravte tak, aby proběhl konstantní počet SQL operací při každém spuštění. Vytížení na neodladěné databázi by nemělo běžet méně než tři minuty a déle než deset minut.

Výsledek bude hodnocený podle provedených změn ve fyzickém návrhu (alespoň dvě změny ze zmiňovaného seznamu), logiky vytížení (ocením rozumné SQL dotazy a jejich návaznost) a celkového zlepšení počtu logických přístupů do databáze.

Třetí bodovaný úkol

Stejně jako u druhého bodovaného úkolu si každý připraví původní a odladěnou verzi svého návrhu. Požadavky na změny ve fyzickém návrhu jsou stejné jako u Oracle. Bodování třetího úkolu bude probíhat stejně jako u druhého úkolu s drobnými změnami v požadavcích:

  1. Stačí když naplněné tabulky budou mít dohromady 100MB.
  2. Vytížení musí obsahovat operace insert, delete a update na tabulkách, kde to má smysl. Databáze nesmí být během vytížení statická!
  3. K odchycení vytížení použijte sledování na straně serveru. Výsledné zlepšení budete demonstrovat pomocí nástroje ReadTrace a Reporter.
  4. Na požádání musíte být schopni zobrazit plán dotazu vybraného SQL příkazu. Připravte si tedy seznam SQL příkazů na jedno místo ať jej můžete rychle spustit s nějakými testovacími hodnotami.

Znovu opakuji, že každý musí mít připraven seznam SQL příkazů a obrázek s ER diagramem. Tomu kdo bude SQL příkazy hledat v kódu a tabulky popisovat na neúplném ER diagramu, strhnu automaticky 5 - 10 bodů.

Harmonogram bodovaných cvičení

  • Cvičení 5 (40/10) - Instalace a nastavení SŘBD, je možné dostat kterékoli SŘBD. Důraz bude kladen na spuštění vytížení databáze se základním nastavením.
  • Cvičení 8, (30/10) - Ladění Oracle databáze - 29.3. a 30.3. ,druhý bodovaný úkol je možné odevzdat již v pátek 26.3. na zvláštním cvičení ve 12:30.
  • Cvičení 10 (30/10) - Ladění SQL Server databáze
  • Opravné cvičení, E320, 16.4.2010, 11:30 - 15:00 (20/10) - Možnost opravit jeden z bodovaných úkolů. Pošlete email pokud se budete chtít na opravný termín dostavit!

?

Přednášky a cvičení

TýdenPřednáškaCvičení
1.Úvod do předmětu; Úkoly administrátora databáze; Oracle: Vytvoření databáze, Tabulkových prostorů, Uživatelů, Základní nastavení, Údržba databáze, Zotavení a záloha. 
Přednáška (poslední změny: 16.2.2010)
Prezentace (poslední změny: 7.2.2010) 
Prakticky manual k Oracle (poslední změny: 15.2.2010) 
Úkoly k Oracle (poslední změny: 7.2.2010)
2.SQL Server; Základní nastavení, Filegroups, Uživatelé, Zotavení, Záloha a údržba databáze. 
Přednáška (poslední změny: 16.2.2010)
Praktický manuál k SQL Serveru (poslední změny: 20.2.2010) 
Úkoly k SQL Serveru (poslední změny: 20.2.2010)
3.DB2 LUW; nástroje, nastavení DB2, buffer pool, Zásobník, Tabulkové prostory, Zabezpečení, Zotavení, Záloha a údržba databáze. 
Přednáška (poslední změny: 26.2.2010) 
Přednáška k monitorování (poslední změny: 14.3.2010)
Praktický manuál k DB2 (poslední změny: 28.2.2010) 
Úkoly k DB2 (poslední změny: 28.2.2010)
4.Ladění databází I, Fyzický návrh databáze, Ladění a fyzický návrh v Oracle. 
Přednáška (poslední změny: 14.3.2010)
Úkoly k ladění Oracle (poslední změny: 14.3.2010) 
Indexově orientované tabulky (poslední změny: 13.3.2010) 
Aukce - nahrávání dat (poslední změny: 13.3.2010) 
Aukce - jednoduché vytížení (poslední změny: 13.3.2010)
5.Ladění databází II, Zamykání v Oracle, Denormalizace, Automatické ladění databáze. 
Přednáška (poslední změny: 17.3.2010)
Každý archiv obsahuje README.txt, kde je úkol popsán. 
Clustering factor indexu (poslední změny: 17.3.2010) 
Aukce - blokování (poslední změny: 17.3.2010) 
Vázané proměnné (poslední změny: 17.3.2010)
6.Ladění databází III, Fyzická implementace v SQL Serveru, Sledování SQL Serveru, 25.3.2010, 15:00 - 16:30, B5 
Přednáška (poslední změny: 25.3.2010)
Praktický manuál k ladění SQL Serveru (poslední změny: 26.3.2010) 
Vázané proměnné v SQL Serveru (poslední změny: 26.3.2010) 
Aukce - nahrávání dat (poslední změny: 26.3.2010) 
Aukce - jednoduché vytížení (poslední změny: 26.3.2010)
7.Ladění databází IV, SQL Server a úrovně izolace, Využití indexů, Materializované pohledy 
Přednáška (poslední změny: 8.4.2010)
Aukce - nahrávání dat (poslední změny: 8.4.2010) 
Aukce - vytížení (poslední změny: 8.4.2010) 
Aukce - vytížení (poslední změny: 8.4.2010)
8.Vysoká dostupnost, Full-text, Partitioning, SQL Server: failover clustering, log shipping, zrcadlení databáze, Oracle RAC. 
Přednáška (poslední změny: 15.4.2010)
-