1. Databázové systémy (MP leden 2010)



Podobné dokumenty
Databázové systémy Tomáš Skopal

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky

TÉMATICKÝ OKRUH Počítače, sítě a operační systémy

Databáze I. 5. přednáška. Helena Palovská

Složitosti základních operací B + stromu

04 - Databázové systémy

6. Fyzická (interní) úroveň databázového systému

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

Přednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

6. Fyzická (interní) úroveň databázového systému

Organizace a zpracování dat I

Stromové struktury v relační databázi

Principy počítačů a operačních systémů

PA152. Implementace databázových systémů

SQL tříhodnotová logika

vyhledávací stromové struktury

B Organizace databáze na fyzické úrovni u serveru Oracle

Paměťový podsystém počítače

Přijímací zkouška - informatika

Operátory ROLLUP a CUBE

Semestrální práce 2 znakový strom

Kapitola 11: Indexování a hešování. Základní představa

8. Zpracování dotazu. J. Zendulka: Databázové systémy 8 Zpracování dotazu 1

J. Zendulka: Databázové systémy 8 Zpracování dotazu Podstata optimalizace zpracování dotazu

1 Nejkratší cesta grafem

Prioritní fronta, halda

Algoritmizace prostorových úloh

37. Indexování a optimalizace dotazů v relačních databázích, datové struktury, jejich výhody a nevýhody

Fyzické uložení dat a indexy

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o.

8.2 Používání a tvorba databází

Adresní vyhledávání (přímý přístup, zřetězené a otevřené rozptylování, rozptylovací funkce)

Přednáška. Správa paměti I. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Analýza a modelování dat 6. přednáška. Helena Palovská

TEORIE ZPRACOVÁNÍ DAT

Databázové systémy Cvičení 5.2

Systém adresace paměti

Technické informace. PA152,Implementace databázových systémů 4 / 25. Projekty. pary/pa152/ Pavel Rychlý

09. Memory management. ZOS 2006, L.Pešička

Přednáška. Systémy souborů. FAT, NTFS, UFS, ZFS. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Databázové systémy BIK-DBS

4. Databázové systémy

Stromové struktury v relační databázi

IB111 Úvod do programování skrze Python

Zobrazování barev Josef Pelikán CGG MFF UK Praha.

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Vyhodnocování dotazů slajdy k přednášce NDBI001. Jaroslav Pokorný MFF UK, Praha

Healtcheck. databáze ORCL běžící na serveru db.tomas-solar.com pro

bin arn ı vyhled av an ı a bst Karel Hor ak, Petr Ryˇsav y 23. bˇrezna 2016 Katedra poˇ c ıtaˇ c u, FEL, ˇ CVUT

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

SQL SQL-SELECT. Informační a znalostní systémy. Informační a znalostní systémy SQL- SELECT

Lineární datové struktury

B4B35OSY: Operační systémy

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

Náplň. v Jednoduché příklady na práci s poli v C - Vlastnosti třídění - Způsoby (algoritmy) třídění

IPZ laboratoře Struktura pevného disku L305 Cvičení 1 Cvičící:

Operační systémy. Správa paměti (SP) Požadavky na SP. Spojování a zavedení programu. Spojování programu (linking) Zavádění programu (loading)

Algoritmy II. Otázky k průběžnému testu znalostí

Katedra počítačů FEL

Okruhy z odborných předmětů

Transakce a zamykání Jiří Tomeš

Michal Krátký, Miroslav Beneš

Systém souborů (file system, FS)

Úvod do databázových systémů

Souborové systémy a logická struktura dat (principy, porovnání, příklady).

Maturitní témata Školní rok: 2015/2016

Databáze Bc. Veronika Tomsová

2 Datové struktury. Pole Seznam Zásobník Fronty FIFO Haldy a prioritní fronty Stromy Hash tabulky Slovníky

DATABÁZE MS ACCESS 2010

Operační systémy. Přednáška 7: Správa paměti I

PHOTO-ON Profesionální on-line správa fotografií

Algoritmizace řazení Bubble Sort

Struktura a architektura počítačů (BI-SAP) 11

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Optimalizace plnění a aktualizace velkých tabulek. Milan Rafaj, IBM

SOU Valašské Klobouky. VY_32_INOVACE_02_18 IKT DNS domény. Radomír Soural. III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

AVL stromy. pro každý uzel u stromu platí, že rozdíl mezi výškou jeho levého a pravého podstromu je nejvýše 1 stromy jsou samovyvažující

B4B35OSY: Operační systémy

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem

Stromy, haldy, prioritní fronty

Otázka č. 1 (bodů za otázku: 4)

Microsoft Office. Excel vyhledávací funkce

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

OZD. 2. ledna Logický (Objekty, atributy,...) objekty stejného typu.

Kapitola 10: Diskové a souborové struktury. Klasifikace fyzických médií. Fyzická média

IDS optimalizátor. Ing. Jan Musil, IBM ČR Community of Practice for

Zotavení z chyb. Databázové systémy

Souborový systém NTFS (New Technology File System) Jan Šváb

George J. Klir Vilem Vychodil (Palacky University, Olomouc) State University of New York (SUNY) Binghamton, New York 13902, USA

Pohled do nitra mikroprocesoru Josef Horálek

Zadání druhého zápočtového projektu Základy algoritmizace, 2005

3. přednáška z předmětu GIS1 atributové a prostorové dotazy

Maturitní témata. IKT, školní rok 2017/18. 1 Struktura osobního počítače. 2 Operační systém. 3 Uživatelský software.

Základy informatiky. 08 Databázové systémy. Daniela Szturcová

Typy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu

Microsoft Access. Typy objektů databáze: Vytvoření a návrh nové tabulky. Vytvoření tabulky v návrhovém zobrazení

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY 10

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška

S databázemi se v běžném životě setkáváme velmi často. Uvádíme běžné použití databází velkého rozsahu:

Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je možné, že někde bude chyba.

Transkript:

1. Databázové systémy (MP leden 2010) Fyzickáimplementace zadáníaněkterářešení 1 1.Zkolikaajakýchčástíseskládáčasprovstupněvýstupníoperaci? Ze tří částí: Seektime ječas,nežsehlavadiskudostanenadsprávnou stopu. Rotationaldelay ječas,nežsečtecíhlavadostanevrámci cílové stopy na cílový sektor. Datatransfertime jižnačtenídanýchdatznalezenéadresy do paměti. 2. Jaký je rozdíl mezi shlukovaným a neshlukovaným indexem? Výhody a nevýhody? Indexování je pomocná datová struktura(ve zvláštním souboru), která urychluje vyhledávání v databázi dle jednoho či více klíčů, ke kterým obsahuje rid record id. Podle toho, jak je tato struktura setříděná, rozlišujeme dva typy indexů: Shlukované indexy jsou setříděné v pořadí odpovídajícím pořadí dat(na které tyto indexy odkazují) ve stránkách datového souboru. Shlukované mohou být pouze stromové indexy či indexy obsahující celé záznamy(i hašované), což jsou ale vlastně přímotadata.výhodouje,žestránkysezáznamysepakdají načítat sekvenčně, což je výhodné(zrychlení) speciálně při dotazech na rozsah, resp. interval. Neshlukované indexy jsou setříděné nějak jinak než data v datovém souboru. Výhodou je režie na udržování této datové struktury.(udržovat indexy setříděné dle klíčů stejně jako data je náročné.) 3. Proč používáme stránkování? Pro stránkování existuje mnoho důvodů. Nejdříve jak to funguje. Data jsou uložena na disku v blocích pevné velikosti(něklik kb), ke kterým je HW schopen přistupovat.(načte vždy celý blok). Jednotlivé bloky (rámce) mohou být po disku rozházené neuspořádaně. Nicméně uživatel databáze(program atd.) nepřistupuje přímo k těmto datům na disku, ale ke stránkám, což jsou bloky stejné velikosti jako rámce na disku, ale jsou setříděné logicky podle uspořádání dat. Exsituje mapování ze stránek virtuální paměti na rámce na disku. Obecných výhod stránkování je několik(oddělení virtuální paměti od fyzické(ochrana dat), možnost odebrání přidělené paměti, možnost skrytí 1 Zanicneručím.Jsoutopouzepracovnípoznámky. 1

skutečné velikosti paměti, možnost sdílení dat, atd.) Zde je asi nejdůležitějšíto,žejeprohwjednoduššínačístblokdanévelikosti,nežkdatům přistupovat po jednotlivých bytech. A podstatné asi také je, že takto nemusíbýtdatanadiskunikterakzasebou(pouzevždyvrámcijednoho rámce). 4. Jaké jsou výhody organizace dat v haldě? Záznamy ve stránkách jsou uloženy neuspořádaně sekvenčně tak, jak byly postupně vkládány. Výhodou je rychlé vkládání(v konstatním čase). Naopak pomalejší je hledání a mazání(pro hledání je v nejhorším případě nutno projít všechna data na stránce). Mazáním mohou vznikat kusy prázdného prostoru. 5. Mějme tabulku Student(jméno, věk, pohlaví). Jaké druhy indexů se hodí pro jednotlivé atributy v tabulce? Napohlavísehodíbitovámapa.Indexnajménobymohlbýthashovaný (pokudbychomočekávaliintervalovédotazy,tak B + strom)anavěk B + strom, neboť tam by mohly být intervalové dotazy poměrně časté. 6.Cojeto seektime? Čas, než se hlava disku dostane nad správnou stopu. 7.Mějmetabulkusatributy(jméno,pohlaví,barvaOčí) avní(karel, muž, hnědá),(eva, žena, modrá),(jan, muž, černá),(hana, žena, hnědá). Vytvořte bitové indexy pro pohlaví a barvaočí nad použitými hodnotami. pohlaví barvaočí muž hnědá modrá černá 1 1 0 0 0 0 1 0 1 0 0 1 0 1 0 0 8. Vysvětlete použití indexů z(1) při vyhodnocení dotazu Které ženymajímodréčičernéoči? Dotaz bude vypadat následovně: (not bitmap(muž) AND(bitmap(modré) OR bitmap(černé))) (1,0,1,0)&((0,1,0,0) (0,0,1,0))=(0,1,0,1)&(0,1,1,0)=(0,1,0,0) Výsledek je tedy Eva. 9. Jaké jsou výhody organizace dat v uspořádáném souboru? V uspořádaném souboru jsou záznamy ve stránkách uložené setříděně dle vyhledávacího klíče. Výhody: rychlé vyhledávání podle klíče(na rovnost i na rozsah). A prostor je zaplněn bez prázdných meziprostorů. 2

Nevýhody: pomalu se vkládá a maže, často je potřeba přesouvat i ostatní data. 10. Kde není výhodné použít bitmapový index? Když nabývá atribut mnoha hodnot(má velkou doménu). Špatně se vyhledává na rozsah(neexistuje uspořádání). 11.Kdyanajakýtypjevhodnépoužítprostorovéindexy?Jakéje jejich omezení? Když předpokldáme vícerozměrné dotazy, tedy hledání dle n-tice atributů. Vhodné i pro vyhledávání na rozsah. Nicméně náročné na paměť a vhodné pouzedodimenzecca10. 12. Popište, jak funguje buffer diskových stránek. Paměť,dokterése cachují diskovéstránky(vpoměru1:1).ušetříse tím mnoho pomalých přístupů na disk, které se nahradí mnohem rychlejšími přístupy do paměti. Buffer obsahuje ke každé stránce dva příznaky pincount,tj.početžádostínadanoustránkuadirty,kterýříká,zdabyla stránka v paměti upravena, ale na disku odpovídající rámec ještě ne. 13. Jaké typy indexů používáme pro prostorové dotazy? Pro prostorové indexování se používají indexy založené na stromové struktuře, hašování, či i sekvenčním průchodu. 14. Jakým způsobem mohou být data organizována na disku, jaké jsou základní operace a jejich složitosti? operace halda uspořádaný soubor hašovaný soubor sekvenční načtení záznamu N N N N vyhledání záznamu na rovnost 2 či N log N 2 Nči N K ideálně vyhledánízáznamunarozsah N log 2 N+ M N N vložení záznamu 1 N K ideálně smazání záznamu dle rid 2?? smazánízáznamunashodu Nči2N log 2 N+ Mči 3 N N 2 K +1ideálně smazání záznamu na rozsah 2N?? 15.Kjakémutypuindexůsepoužívá B + strom?projakétypydotazu je tento index vhodný? B + stromsepoužíváprojednoatributovéindexy(?)ajevhodnýpro intervalové dotazy. 16. Jak se liší víceatributové indexování pomocí samostatných indexů (jeden klíč jeden index) a zřetězených klíčů(všechny klíče jeden index)? U obou popište vyhodnocení rozsahového intervalového,tj. kvádrového dotazu. 17. Proč se pro atributy s malým oborem hodnot používá bitmapový index častěji než B-stromový? 3

Operace s ním jsou rychlejší(bitové operace jsou rychlejé) a úspornější (jsou efektivně komprimovat). Dotazy nad mapami lze jednoduše paralelizovat. 18. V jaké situaci se může vyplatit použít sekvenční průchod oproti použití indexu? 19. Index jakého typu a pro jaký(é) atributy by bylo nejvhodnější použítprodotaz SELECT*FROMučiteléWHEREvěk <50 ANDvěk >40.Odůvodněte. B + strom,neboťjerychlýprovyhledávánínarozsah. 20. Index jakého typu a pro jaký(é) atributy by bylo nejvhodnější použít pro dotaz SELECT* FROM občan WHERE barvaočí = modrá ORbarvaOčí= zelená.odůvodněte. Bitovou mapu, neboť barvaočí má malou doménu(jen několik, např. 5 barev). 21. Proč používáme databázové indexy? Ukažte dvě typické situace, kdy je využíváme. Indexování je pomocná datová struktura(ve zvláštním souboru), která urychluje vyhledávání v databázi dle jednoho či více klíčů, ke kterým obsahuje rid record id. 2 typické sitace??? 22. Kdy je výhodné použít bitmapový index? Viz 10. 23. K čemu slouží vícehodnotové indexy? K rychlejšímu vyhledávání prostorových dotazů. 24. Jaké jsou rozdíly použití(výhody/nevýhody) mezi bitmapovým indexem a B-stromem? Bitmapové indexy jsou rychlejší a prostorově výhodnější pro atributy s maloudoménou.proostatníjsouvýhodnější B + stromy,speciálněpro vyhledávání na rozsah. 25.Kdyjevýhodnépoužíthašovanýindexakdy B + strom? Pokud se nám podaří zvolit vhodnou hašovací funkci, že bude malý počet kolizí,takvhašovanémindexujerychlejšívyhledávánínarovnost,vb + stromu naopak na rozsah. 26. Jaké jsou rozdíly mezi haldou a setříděným souborem?(sorted file) Dohaldyserychlejivkládá,alepomaluvyhledávánashoduirozsaha při mazání vznikají díry. V setříděném souboru se dobře vyhledává, ale pomalu vkládá a maže. 27.Nakresletepříklad B + stromuindexujícího11záznamůskapacitou uzlů 3 klíče. 4

28. Jaké jsou výhody a nevýhody hašovaného indexu? 29. Jak se u víceatributového indexování používá index zřetězených klíčů? 30. Co ovlivňuje rychlost přečtení/zápisu dat z/na disk(u) a jaká strategie vede k nejrychlejšímu čtení/zápisu? 31. Jaké jsou náklady základních operací na setříděném datovém souboru(vyhledání, vložení, vymazání záznamu, rozsahový dotaz)? 32.Kčemusloužíbitovémapy? 33. Jak funguje buffer? 34. K čemu slouží víceatributové indexy? 35. Jaký je rozdíl mezi haldou a setříděným souborem? 36.Jakýjerozdílmezi B-stromemaB + stromem? 37. Jak se udržují prázdné stránky haldy? 38. K čemu slouží databázové indexy? 39. Jaké jsou rozdíly použití(výhody/nevýhody) mezi hašovaným indexem a B-stromem? 40. Proč se k databázi přistujupe po diskových stránkách a ne např. po bajtech? 41. Co je to shlukovaný index a jaké má výhody/nevýhody oproti neshlukovanému? 5

Transakce a protokoly zadání Pro výše uvedené transakce sestavte rozvrh podle striktního 2PL protokolu(dvoufázový) tak, aby obsahoval deadlock. Dokažte existenci deadlocku grafem pro detekci uváznutí. Na DB modelu z prvního příkladu definujte rozvrh tří transakcí(podle striktního 2PL protokolu), na kterých simulujte uváznutí(přes všechny 3 transakce). Dokažte grafem pro detekci deadlocků. Definujte 2 transakce na tabulce Zbozi(VyrobekId, TypVyrobkuID, Cena) a sestavte rozvrh podle 2PL protokolu(dvoufázový) tak, aby obsahoval fantoma(a slovně popište, jak se projevuje). K rozvrhu sestrojte graf pro detekci uváznutí(deadlock). Definujte 3 transakce na tabulce Poslanec a sestavte rozvrh podle 2PL protokolu(dvoufázový) tak, aby obsahoval fantoma. K rozvrhu sestrojte graf pro detekci uváznutí(deadlock). Definujte 3(smysluplné) transakce na pomyslné tabulce NávštěvaHosta (ve smyslu prvního příkladu a sestavte rozvrh podle 2PL protokolu(dvoufázového) tak, aby obsahoval fantoma. K rozvrhu sestrojte graf pro detekci uváznutí(deadlock). Definujte 3 transakce na tabulce Obsluhuje(ZamID, KlientID) a sestavte rozvrh podle 2PL protokolu(dvoufázový) tak, aby obsahoval fantoma(a slovně popište, jak se projevuje). K rozvrhu sestrojte graf pro detekci uváznutí(deadlock). Modifikujte uvedené 4 transakce tak aby vznikl maximálně paralelní rozvrh podle 2PL protokolu(nestriktního dvoufázového). Se kterým sériovým rozvrhem je výsledný rozvrh ekvivalentní? Upravte uvedený rozvrh tak, aby se dosáhlo maximálního paralelismu podle SQL urovně izolace REPEATABLE READ(S2PL). K rozvrhu sestrojte graf pro detekci uváznutí(deadlock). Definujte 3 transakce na tabulce Zaměstnanec(ZID, Jméno) a sestavte rozvrh podle konzervativního 2PL protokolu(dvoufázový) tak, aby obsahoval fantoma. Může nastat uváznutí? Zkonstruujte graf pro detekci uváznutí. 6