Download - Fyzick é organizácie
![Page 1: Fyzick é organizácie](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/1.jpg)
Fyzické organizácie
Gabriel Bocek
Juraj Čelinák
6. št. skupina
9.3.2003
![Page 2: Fyzick é organizácie](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/3.jpg)
![Page 4: Fyzick é organizácie](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/6.jpg)
Štruktúra disku
![Page 7: Fyzick é organizácie](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/7.jpg)
Štruktúra platne disku
![Page 8: Fyzick é organizácie](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/17.jpg)
Formát stránky – záznamy s premenlivou dĺžkou
![Page 18: Fyzick é organizácie](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/21.jpg)
Ukladanie záznamov do blokov
• Delené a nedelené záznamy (spanned/unspanned records)
![Page 22: Fyzick é organizácie](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/22.jpg)
Základné organizácie
• Hromada (Heap)
• Sekvenčná
• Zreťazená
• Zotriedená
• Hashovaná
![Page 23: Fyzick é organizácie](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/25.jpg)
Heap súbory ako zoznam(list)
Každá stránka obsahuje dáta a dva smerníky
![Page 26: Fyzick é organizácie](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/29.jpg)
Zreťazená organizácia• Niektoré položky záznamov obsahujú adresu iného záznamu
![Page 30: Fyzick é organizácie](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/31.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/33.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/35.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/36.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/37.jpg)
Interné hashovanie
• Jeden záznam na bucket
![Page 38: Fyzick é organizácie](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/38.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/39.jpg)
Externé hashovanie
![Page 40: Fyzick é organizácie](https://reader036.vdocuments.site/reader036/viewer/2022081419/56815050550346895dbe4f11/html5/thumbnails/40.jpg)
Koniec