fyzick é organizácie

40
Fyzické organizácie Gabriel Bocek Juraj Čelinák 6. št. skupina 9.3.2003

Upload: minty

Post on 21-Jan-2016

57 views

Category:

Documents


0 download

DESCRIPTION

Fyzick é organizácie. Gabriel Bocek Juraj Čelinák 6. št. skupina 9.3.2003. Hierarchia pamätí. Primárne - priamo dostupné z CPU - registre,cache, operačná pamäť - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Fyzick é organizácie

Fyzické organizácie

Gabriel Bocek

Juraj Čelinák

6. št. skupina

9.3.2003

Page 2: Fyzick é organizácie

Hierarchia pamätí

• Primárne - priamo dostupné z CPU - registre,cache, operačná pamäť

• Sekundárne - dáta na periférnych zariadeniach s priamym prístupom; nie sú dostupné z CPU, musia byť najprv skopírované do primárnej pamäte

- virtuálna pamäť, magnetické disky, CD-ROM

• Terciálne - dáta na periférnych zariadeniach so

sekvenčným prístupom - magnetické pásky

Page 3: Fyzick é organizácie
Page 4: Fyzick é organizácie

Magnetické disky• Databázy sú ukladané na magnetických diskoch, pretože:

– Spravidla, sú veľmi veľké, aby sa zmestili do operačnej pamäte– Cena za uloženie dát je rádovo menšia ako u primárnych pamätí– Náhodný prístup

Charakteristiky diskov:• Operácie čítania a zápisu (READ/WRITE) prenášajú bloky dát

medzi diskom a RAM• Prístup k dátam resp. zápis dát na disky je „drahou“ operáciou

každý prístup na disk, musí byť starostlivo zvážený• Disk je zariadenie s priamym prístupom k dátam • Čas prístupu k údajom (oproti RAM) nie je rovnaký dôležitosť

vzájomnej polohy dát na disku

Page 5: Fyzick é organizácie

Charakteristiky prístupu na disk

• Prístupová doba k bloku dát• Seek time – nastavenie ramena na požadovanú

stopu• Rotational latency – nastavenie hlavy na

požadovaný sektor• Transfer time – prenos bloku dát• Seek time a rotational latency sú dominantné• Seek time – 1-20 milisekúnd• Rotational delay – 0-10 milisekúnd• Transfer time – cca 1msek/4KB

Page 6: Fyzick é organizácie

Štruktúra disku

Page 7: Fyzick é organizácie

Štruktúra platne disku

Page 8: Fyzick é organizácie

Pojmy

• Track – sústredný úsek na disku

• Sector – Časť track-u s fixnou dĺžkou

• Cylinder – Množina track-ov na všetkých platniach disku na príslušnej pozícii – Track-y pod čítacou hlavou vytvárajú cylinder

• Stránka – Fyzické množstvo dát prenesených medzi pamäťou a diskom.

Page 9: Fyzick é organizácie

Stratégia rozloženia dát

Udžiavať súvisiace data blízko seba.

- Na tom istom bloku/sektore

- Na tom istom track-u

- Na tom istom cylindri

Bloky v súbore :– Mali by byt na disku ukladané sekvenčne aby

sa minimalizoval seek a rotational delay

Page 10: Fyzick é organizácie

Prístup na disk

Disk– Priamy prístup na médium – nie sequenčný

– Čas pohybu hlavičky zahŕňa seek time a rotational latency

– Cieľom je redukovať počet prístupov na disk a vyhladávací čas

Page 11: Fyzick é organizácie

Manažment diskového priestoru

• Najnižšia vrstva SRBD spravuje priestor na disku

• Vyššie vrstvy ju volajú keď potrebujú– Alokovať / dealokovať stránku– Čítať /zapisovať do stránky

• Pri požiadavke na sekvenciu stránok tieto mali by byť naalokované sekvenčne na disku

Page 12: Fyzick é organizácie

Buffer manažment v SRBD

•Data musia byt v RAM aby s nimi mohol SRBD pracovať

•BM spravuje tabuľku dvojíc <frame#, pageid>

Page 13: Fyzick é organizácie

Požiadavka na stránku – part 1

• Ak požadovaná stránka nie je v buffri– Vyberie sa frame na výmenu– Ak je frame používaný zapíše sa na disk– Načíta sa požadovaná stránka

• Stránka sa označí(pin) a vráti sa jej adresa

• Žiadateľ stránky ju musí odznačiť(unpin) a indikovať pomocou dirty bitu , či bola stránka zmenená

Page 14: Fyzick é organizácie

Požiadavka na stránku - part 2

• Stránka v buffri môže byť požadovaná viackrát – počet požiadaní sa ukladá do pin count

• Stránka s najnižším pin count je kandidátom na nahradenie

• Stratégie výmeny framov :– LRU

– Pomocou Počítadla

– MRU

Page 15: Fyzick é organizácie

SRBD vs. OS Filesystem

• Rôzne operačné systémy = rôzne filesystemy

• Buffer manažment v SRBD potrebuje schopnosť:– Označovať(pin) stránky v buffri– Presúvať stránky na disk– Meniť stratégiu nahradzovania stránok– Predvyberu stránok na základe prístupového

vzoru

Page 16: Fyzick é organizácie

Formát stránky – záznamy s fixnou dĺžkou

•Packed - volné sloty sú na konci stránky

•Unpacked – voľné sloty môžu byť kdekoľvek, je potrebný špeciálny bit na označenie či je slot voľný alebo nie

•Record id = <page id, slot#>

•V prvom prípade pri posuvaní záznamov sa mení record id a to nemusí byt vhodné

Page 17: Fyzick é organizácie

Formát stránky – záznamy s premenlivou dĺžkou

Page 18: Fyzick é organizácie

Súbory záznamov

• Vyššie vrstvy SRBD pracujú so záznamami alebo súbormi záznamov

• Súbor – kolekcia stránok obsahujúcich záznamy, musí podporovať:– Insert, delete, modify zaznam– Čitanie záznamu(podľa record id)– Prehľadanie všetkých záznamov

Page 19: Fyzick é organizácie

Reprezentácia záznamov

• Zázmamy s pevnou dĺžkou

Informácie o dĺžke položiek v zázname je uložená v systémovom katalógu

Page 20: Fyzick é organizácie

Reprezentácia záznamov

• Záznam s premenlivou dĺžkou

142 MS Access 4.0 5000 12.12.95 77

oddelovač polí v záznameoddelovač záznamu

Page 21: Fyzick é organizácie

Ukladanie záznamov do blokov

• Delené a nedelené záznamy (spanned/unspanned records)

Page 22: Fyzick é organizácie

Základné organizácie

• Hromada (Heap)

• Sekvenčná

• Zreťazená

• Zotriedená

• Hashovaná

Page 23: Fyzick é organizácie

Hromada – Heap

• Záznamy sú uložené v ľubovoľnom poradí v blokoch, ktoré môžu fyzicky nasledovať za sebou

• Ak nenasledujú za sebou, musia byť prepojené smerníkmi alebo adresy blokov súboru musia byť niekde uložené

Page 24: Fyzick é organizácie

Netriedené(heap) súbory

• Najjednoduchšia štruktúra suboru obsahuje nezotriedené záznamy

• Keď sa súbor zväčšuje(zmenšuje) daľšie diskové stránky sa alokujú(dealokujú)

• Pre podporu operácii na záznamoch si musíme pamätať:– Stránky v súbore– Volne miesto na stránkach

– Zaznamy na stránkach

Page 25: Fyzick é organizácie

Heap súbory ako zoznam(list)

Každá stránka obsahuje dáta a dva smerníky

Page 26: Fyzick é organizácie

Heap súbor používajúci page directory

•Directory je zbierkou stránok, implementacia ako spojkovy zoznam je len jedna z alternatív

•Tato implementácia je omnoho menšia ako spojkový zoznam všetkých stránok

Page 27: Fyzick é organizácie

Hromada – Heap

• Vyhľadávanie: záznamy sa vyhľadávajú tak, že sa od začiatku do konca súboru číta záznam po zázname a porovnáva sa, či to je hľadaný záznam.

• Aktualizácia: nájdený záznam sa aktualizuje a uloží na to isté miesto

• Zmazanie: označenie záznamu za neplatný, čím sa vytvorí diera v súbore, kt. Možno využiť pri nasledujúcom vkladaní do súboru

• Vkladanie: nový záznam sa vloží na miesto prvej diery

Page 28: Fyzick é organizácie

Sekvenčná organizácia

• Vhodný pre aplikácie, ktoré vyžadujú sekvenčný prístup• Záznamy sú zotriedené podľa kľúča• Vkladanie: nájdenie miesta kde má byť záznam vložený. Ak je

voľné miesto v bloku, vlož. Inak vlož záznam do bloku pretečenia.

Page 29: Fyzick é organizácie

Zreťazená organizácia• Niektoré položky záznamov obsahujú adresu iného záznamu

Page 30: Fyzick é organizácie

Zreťazená organizácia

• Vyhľadávanie: spočívá z postupného sledovania smerníkov a z testovania, či sme už našli hľadaný záznam

• Aktualizácia: po nájdení vety, ktorú treba zmeniť sa zrobí prostá náhrada záznamu s novými hodnotami pričom musí byť zachovaný smerník ak má zostať záznam v pôvodnej reťazi

• Zmazanie: smerník ukazujúci na zmazávaný záznam sa nahradí smerníkom zmazavaného záznamu

• Vkladanie: reťaz sa predĺži o jeden záznam. Vkladaný záznam sa umiestni na začiatok alebo koniec.

Page 31: Fyzick é organizácie

Organizácia s utriedenými záznamami

• Záznamy sú uložené na adresách nasledujúcich za sebou tak, že ich poriadanie zodpovedá usporiadaniu nad jednou alebo viacerými položkami – kľúčami

• Vyhľadávanie: binárne vyhľadávanie podľa klúča• Aktualizácia: po vyhľadaní môžeme aktualizovať všetky

položky okrem položiek triediaceho kľúča• Vkladanie:

- pri prvom vytriedení sa nechávajú v každom bloku diery, ktoré možno využiť pri nasledujúcom vkladaní

Page 32: Fyzick é organizácie

Organizácia s utriedenými záznamami

V prípade vyčerpania miesta v bloku, ďalšie záznamy sú ukladané do zvláštnych blokov pretečenia. Sú prístupné pomocou smerníka v záhlaví bloku

Page 33: Fyzick é organizácie

Organizácia s utriedenými záznamami

• Zmazanie záznamu: záznam sa označí za neplatný a vznikne diera. Tú treba obvykle prenies na koniec bloku.

Page 34: Fyzick é organizácie

Organizácia Hashom

• Vhodný pre aplikácie vyžadujúce priamy prístup (random access)• Záznamy sú nezotriedené Adresa bloku, v ktorom sa nachádza

požadovaný záznam sa vyratáva pomocou hashovacej funkcie• Nech K je množina všetkých kľúčov a B je množina adries bucket-

ov. Hashovacia funkcia je zobrazenie z K do B.• Bucket je najčastejšie blok disku• Vkladanie: vložiť záznam s kľúčom Ki znamená vyrátať hodnotu

hashovacej funkcie, ktorá poskytne adresu bucketu pre záznam• Vyhľadávanie záznamu s kľúčom Ki znamená vyrátať hodnotu

hashovacej funkcie, kt. Poskytne adresu bucket-u v ktorom nájdeme postupným prejdením záznamov náš požadovaný

• Delete : vyhľadanie záznamu v buckete a jeho vymazanie

Page 35: Fyzick é organizácie

Hashovanie

• Hashovacia funkcia musí byť zvolená so zreteľom na:– Rozdelenie záznamov bude rovnomerné– Rozdelenie bude náhodné

• Odpoveď na rast databázy:– Veľkosť databázy sa zvýšuje veľmi rýchlo– Máme 3 možnosti vytvorenia statickej hash funkcie:

• Zvolenie funkcie založenej na momentalnej veľkosti databázy

• Zvolenie funkcie založenej na predpokladanej veľkosti databázy

• Periodicky prerábať hash súbor podľa veľkosti databázy

- Použitie dynamického hashovania

Page 36: Fyzick é organizácie

Dynamické hashovanie

• Táto technika umožňuje dynamické modifikovanie hashovacej funkcie z dôvodu zväčšovania a zmenšovania databázy

• Je známa ako “extendable hashing”

• Toto hashovanie rieši problém zmeny veľkosti datábazy rozdeľovaním a spájaním bucketov

Page 37: Fyzick é organizácie

Interné hashovanie

• Jeden záznam na bucket

Page 38: Fyzick é organizácie

Externé Hashovanie

• Hashovacia funkcia mapuje kľúč na relatívne číslo bucketu radšej než na absolutnú adresu bloku

• Hlavička súboru – tabuľka ktorá mapuje relatívne číslo bucketu na počiatočnú adresu každého bucketu

• Viaceré záznamy v jednom bucket-e• Vyhľadávanie: použitie hash funkcie na získanie čísla

bucketu. Transformácia čísla bucketu na adresu bucketu. Načítanie bucketu do pamäti a nájdenie odpovedajúceho kľúča lineárnym prehľadaním bucketu.

Page 39: Fyzick é organizácie

Externé hashovanie

Page 40: Fyzick é organizácie

Koniec