Hasov an (hashing) na vn ejsch pam etech

Podobné dokumenty
Sekven cn soubory. PV 062 Organizace soubor u. Jan Staudek Verze : jaro 2018

Distribuovan e algoritmy

Hierarchick e indexy, B / B+ stromy, tries

Soubor, souborov e organizace

Rzen informacn bezpecnosti v organizaci

Hierarchick e indexy, B / B+ stromy, tries

Rzen informacn bezpecnosti v organizaci

Hierarchick e indexy, B / B+ stromy, tries

Soubor, souborov e organizace

Prklad dokumentov e z akladny ISMS

Obnova transakc po v ypadku

Vl akna. PB 152 Operacn syst emy. Jan ÐStaudek Verze : jaro 2015

Podsyst em vstupu a v ystupu

Projekt implementace ISMS Dodatek 1, PDCA

Spr ava hlavn pam eti

Obnova transakc po v ypadku

Spr ava hlavn pam eti

Datové struktury 2: Rozptylovací tabulky

Uvod, celkov y prehled problematiky

GPDR, General Data Protection Regulation

Informacn teorie. PV 062 Organizace soubor u. Jan Staudek Verze : jaro 2018

Soubor, souborov e organizace

Uvod, celkov y prehled problematiky

Procesy. PB 152 Operacn syst emy. Jan Staudek Verze : jaro 2017

X u zs speci kace { v etev matematiky zabyvaj. Verze : jaro 2018 Jan Staudek, FI MU Brno. X late Middle English

Vl akna. Proces a vl akna. PB 152 Operacn syst emy. Resen editoru pomoc vl aken. Koncept sekvencnho procesu m uze b yt neefektivn

Virtu aln pam et' PB 152 Operacn syst emy. Jan Staudek Verze : jaro 2017

Prepn an, switching. Propojovac probl em. PV 169 Z aklady prenosu dat. Prepnac, prepnan a st' Metody prepn an

Projekt implementace ISMS

Procesy. Uvodem k proces um. PB 152 Operacn syst emy. Program a proces. Uvodem k proces um

Základy algoritmizace. Hašování

Politika informacn bezpecnosti

Politika informacn bezpecnosti, Dodatek

Poctacov e syst emy { prehled

Digit aln vysl an. PV 169 Z aklady prenosu dat. Jan Staudek Verze : podzim 2018

Audit (prezkoum av an) bezpecnostnch opatren, politik, syst em u,...

Aplikacn bezpecnost. PV 017 Bezpecnost informacnch technologi. Jan Staudek Verze : podzim 2017

Prklady opatren, zranitelnost a hrozeb

Audit (prezkoum av an) bezpecnostnch opatren, politik, syst em u,...

Aplikacn bezpecnost. Informacn bezpecnost z pohledu aplikacnch syst em u. PV 017 Bezpecnost informacnch technologi

Politika informacn bezpecnosti, Dodatek

Volba v udce, Leader Election

Digit aln vysl an. K odov an spoje. PV 169 Z aklady prenosu dat. Prvek sign alu, prvek dat, stupe n sign alu. Stupe n dat, baudov a / bitov a rychlost

Operacn syst emy { prehled

Volba v udce, Leader Election

Podsyst em vstupu a v ystupu

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

4.3 Operace nad ordin ln mi datov mi typy Operace nad logick m datov m typem Operace nad celo seln mi datov mi typy

Rzen reakc na bezpecnostn incidenty

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

Projekt implementace ISMS Dodatek 4, Prklad politiky ISMS

Operacn syst emy { prehled

Souborov e syst emy { koncepty a rozhran

Krit eria hodnocen informacn bezpecnosti, dodatek

Pl anov an. PB 152 Operacn syst emy. Jan Staudek Verze : jaro 2017

Projekt implementace ISMS

Organizace a zpracování dat I

Návrh designu: Radek Mařík

Projekt implementace ISMS, Dodatek 2, Pozn amky k projektov emu rzen

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

Algoritmizace Hashing II. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

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

N avrh a pouzit metrik informacn bezpecnosti, m eren v ISMS

Krit eria hodnocen informacn bezpecnosti


Distribuovan e prostred, cas a stav v distribuovan em prostred

vyhledávací stromové struktury

Souborov e syst emy { koncepty a rozhran

Distribuovan e prostred, cas a stav v distribuovan em prostred

Sign aly. Data a sign aly. PV 169 Z aklady prenosu dat. Sign al, elektromagnetick y sign al. (Elektromagnetick y) sign al

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

HASHING GENERAL Hashovací (=rozptylovací) funkce

Anatomie informacn bezpecnosti

Í Ě É Č Í Í ň á é á é á ý ú ů š š é á š č ř é ů š á é á é é ž é ř ř á é ý ů ž š á š é ž ř á š ř ž ý ž á á Ě č ý ý ů ř ů ý ů é č á á á ř Ř ý á ů ž ř ý

N avrh a pouzit metrik informacn bezpecnosti, m eren v ISMS

Satelitn komunikace. PA 151 Soudob e ste. Jan Staudek Verze : jaro 2018

Paměti a jejich organizace

Sign aly. PV 169 Z aklady prenosu dat. Jan Staudek Verze : podzim 2018

Typologie, funkcn skladby a architektury OS

Tabulka. Datová struktura, která umožňuje vkládat a později vybírat informace podle identifikačního klíče. Mohou být:

Úvod. Úvod do programování. Úvod. Hashovací tabulky



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


Typologie, funkcn skladba a architektury OS, prklady z Windows, Unix, Linux, MAC OSx

Amortizovaná složitost. Prioritní fronty, haldy (binární, d- regulární, binomiální, Fibonacciho), operace nad nimi a jejich složitost

Dynamické datové struktury III.


NPRG030 Programování I 3/2 Z --- NPRG031 Programování II --- 2/2 Z, Zk

Soubory a databáze. Soubor označuje množinu dat, která jsou kompletní k určitému zpracování a popisují vybrané vlastnosti reálných objektů

Hašování. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

ý Č á ý á č ář ý ý ů á ě ě ě ů á žš řá řá šš á ř ř ž šš řá ůž ý á č Ž á ě žš řá č ý ž ě ě á ý á ř ž ř Í ř á ý á á žš Ťá ř ý á ý žš řá ář ý á ý ý á ář

Bezs n urov a telefonie, DECT


Wireless Sensor Networks, ZigBee

Čísla, reprezentace, zjednodušené výpočty

Čísla, reprezentace, zjednodušené výpočty

ALS1 Přednáška 1. Pravěpodobnost, náhodná proměnná, očekávaná hodnota náhodné proměnné, harmonická čísla

Základní způsoby: -Statické (přidělění paměti v čase překladu) -Dynamické (přiděleno v run time) v zásobníku na haldě

Transkript:

Hasov an (hashing) na vn ejsch pam etech PV 062 Organizace soubor u Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : jaro 2018

Obsah predn asky Jak algoritmicky dos ahnout zprstupn en z aznamu v souboru uchov avan eho ve vnejs pameti se slozitost O(1)? alespo n 40 let,,svat y Gr al"projektant u organizac soubor u alternativn n azvy k hashingu { prklady hashing, randomizing, scatter storage techniques, direct addressing Hasovac funkce { v ypocet adresy (indexu) z aznamu z vyhled avacho klce Statick e hasov an { mnozina vyhled avacch klc u je statick a Dynamick e hasov an { mnozina vyhled avacch klc u je prom enn a dynamick e rozsiriteln e hasov an dynamick e line arn hasov an Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 1

Hasovac funkce Hasovac funkce, m = h(k) { funkce resc prstup k obsahov e specikovateln ym objekt um se slozitost O(1) h { gener ator rovnomerne rozlozen ych hodnot m M z hodnot k K, k { vyhled avac klc, K { mnozina vyhled avacch klc u, m { adresa lokality klcem specikovan eho objektu v pam eti s adresov ym prostorem M Funkce h by mela b yt snadno a rychle vypocitateln a Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 2

Hasovac funkce m = h(k) obv. vyzaduje, aby k byla numerick a hodnota nenumerick e vyhled avac klce je nutn e predem prev est na numerick e k ody klc u (cel a csla) k ody klc u lze pak vhodnou kompresn funkc transformovat na urcen pozice (adresy) v relevantn datov e strukture datovou strukturou, adresovanou hodnotou m, m uze b yt napr. { tabulka s indexy z aznam u souboru (soubory s hasovan ymi indexy) { pam et' obsahujc z aznamy souboru (soubory s prm ym prstupem) Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 3

Vizualizace hasovac funkce { hasovan y index Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 4

Vizualizace typick e funkce { soubor s prm ym prstupem Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 5

Slozen typick e hasovac funkce 2 kroky: 1. Generov an k odu klce z hodnoty klce z aznamu tj. preklad hodnoty klce z aznamu na celocselnou hodnotu (vesmes z,,rdk eho a rozs ahl eho" intervalu) je-li napr. hodnota vyhled avacho klce rodn e cslo, ICO,... lze numerick e vyj adren takov eho klce ch apat jako k od klce je-li napr. hodnota vyhled avacho klce textov y ret ez, lze k od klce zskat jako soucet numerick ych reprezentac vsech znak u v mstech symbol u retezu 2. Kompresn zobrazen k odu klce na adresu umst en... indexu relevantnho z aznamu v hasovan e tabulce index u nebo... relevantnho z aznamu v souboru s prm ym prstupem Vzdy n ejak a forma prekladu (zobrazen) cel ych csel z jednoho intervalu na cel a csla v jin em intervalu Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 6

Jednoduch y prklad hasov an. Co se rozum koliz Neexistuje z adn a zrejm a souvislost mezi klcem a umst enm (randomizing) Dva r uzn e klce zobrazen e na stejnou adresu generuj kolizi Slova zacnajc LO / OL (LOWELL, LOCK, OLIVER) { synonyma Synonyma maj shodnou adresu umst en Zabr an en nebo odstran en koliz je obtzn e Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 7

Jednoduch y prklad hasov an Prklady metod redukce koliz Rozprostrovat z aznamy leps hasovac funkc Rozptylovat do vetsho prostoru ( napr. do 100 000 msto do 1 000) Do jednoho msta umst'ovat vce objekt u (index u, z aznam u) (kapsy, ret ezen e seznamy { chaining ) Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 8

Perfektn hasov an, minim aln hasov an, kolize je-li hasovac funkce h prost a, hasov an naz yv ame perfektn, neprodukuje kolize je-li hasovac funkce h prost a, a prostor clov ych adres m a rozsah rovn y poctu hodnot klce, hasov an naz yv ame minim aln perfektn hasov an Pokud hasov an nen perfektn mus, existovat sch ema resen koliz kolize { dva nebo vce k od u klc u se zobrazuj na stejnou adresu umsten kolize m uze vznikat uz v kroku 1 nevhodnou volbou transformacn funkce hodnoty klce na k od klce (napr. transformace textov eho ret ezu:,,12"a,,21" d av a souctem reprezentac znak u stejn y k od) Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 9

Pozadovan e vlastnosti hasovac funkce je deterministick a { jej hodnoty z avis jen na hodnot ach klc u je rychl a { realizovateln a n ekolika jednoduch ymi instrukcemi vypoct av a se z hodnot vsech nebo alespo n vetsiny bit u klce kazd a jej hodnota m a z aviset na hodnot ach vsech bit u klce nebo alespo n na hodnot ach vetsiny bit u klce vypocten ymi hodnotami m a pokr yvat clov y prostor hodnot rovnom ern e pricemz distribuuje hodnoty klc u do hodnot adres umst en n ahodn e hledat perfektn hasov an je obtzn e, efektivn ejs je ucinn e resit kolize, napr.: rozpt ylenm kolidujcch hodnot do jin ych (nekolidujcch) mst zv etsenm clov eho adresov eho prostoru uchov av anm kolidujcch objekt u v kaps ach (ve v azan ych seznamech), za cenu sekvencnho prohled av an kapes,... Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 10

Nejhors a ide aln hasovac funkce nejhors hasovac funkce zobrazuje vsechny hodnoty vyhled avacho klce na adresu jedin eho msta a kolize res sekvencnm ukl ad anm koliznch objekt u prm y prstup hasov anm se degraduje na de facto sekvencn prstup, doba prstupu je um ern a poctu hodnot vyhled avacho klce v souboru ide aln hasovac funkce generuje funkcn hodnoty s uniformnm rozlozenm { kazd emu mstu prideluje priblizne stejn y pocet hodnot k od u klc u je n ahodn a { kazd emu obsazen emu mstu prideluje priblizne stejn y pocet k od u klc u bez ohledu na skutecn e rozlozen hodnot vyhled avacch klc u v souboru je perfektn, pokud kazd emu mstu prid eluje jedin y klc je perfektn minim aln, pokud kazd emu mstu prid eluje jedin y klc, a to v prostoru, kter y obsahuje pr ave tolik mst, kolik je klc u perfektn hasovac funkce nemaj pri pr aci se soubory uplatn en Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 11

Modelov e resen hasovac funkce, hash function Prklady element arnch hasovacch funkc prm e absolutn zobrazen { vyhled avac klc = adresa z aznamu v prostoru souboru, { doch az ke zrusen logick eho modelu souboru { kritika { z avislost na zarzen (kter y klc m a form at fyzick e adresy?) { klad { rychl e sch ema, z adn a rezie prm e relativn zobrazen { vyhled avac klc = relativn adresa z aznamu v souboru, { n ekter e klce jsou prmo vyhovujc, napr. cslo zam estnance { klad { nez avislost na zarzen, rychl e sch ema, z adn a rezie Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 12

Prklady hasovacch funkc nejcast eji pouzvan a funkce: d elen k odu klce velikost clov eho prostoru a zsk an zbytku m = k mod M funkce d av a spatn e v ysledky, pokud M nen prvocslo cast e resen m = k mod M, kde M je nejmens prvocslo (nebo cslo s rozkladem na prvocinitele > 20) vets nez M, kde M je pocet adres, pricemz M mus b yt N a kde N je pocet z aznam u v souboru, obvykle M = 1, 25 N modikace predchoz funkce konstantami m = (a k + b) mod M dobr e v ysledky jestlize a mod M 0 Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 13

Dals prklady hasovacch funkc mid-square k = 24615834, 158 2 = 24964, h(k) = 496 vyzaduje se aritmetika s velkou presnost pokud klce neobsahuj vedouc a koncov e 0, pak zskan e v ysledky b yvaj dobre n ahodn e zm ena cseln e soustavy, radix transformation k = 38652 10 h(k) = 38652 11 h(k) = 3 11 4 + 8 11 3 + 6 11 2 + 5 11 1 + 2 11 0 = 55354 + prpadn e odrez an hornch cifer d av a obvykle leps v ysledky nez funkce,,mid-square" Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 14

Strategie spr avy koliz otevren e adresov an, open addressing, resp. tzv. closed hashing Pouzit 'uzavren e' (closed) vs. 'otevren e' (open) odr az, zda jsme ci nejsme omezeni n ejak ymi podmnkami open v open addressing n am rk a, ze clov a adresa msta, ve kter em bude prsl. objekt ulozen v hasovan em prostoru, nen upln e urcena hodnotou zskanou hasovac funkc. Tato adresa se m uze lisit v z avislosti na tom, co v hasovan em prostoru jiz je. closed v closed hashing odkazuje na skutecnost, ze nikdy neopustme hasovan y prostor. Kazd y objekt je ulozen prmo v hasovan em prostoru, coz je mozn e pouze pomoc n ejak e strategie otevren eho adresov an. open addressing a closed hashing jsou synonyma Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 15

Strategie spr avy koliz closed addressing, resp. tzv. open hashing open v open hashing n am rk a, ze z adn y z objekt u ve skutecnosti nen ulozen uvnitr hasovan eho prostoru, ale v seznamu, kter y je separovan y od vnitrku hasovan eho prostoru open, otevren e, zde znamen a svobodu, kter a se zsk av a opust enm hasovan eho prostoru a pouzitm samostatn eho seznamu, Pojem separovan y seznam naznacuje, proc je otevren e hashov an tak e zn am e pod pojmem separate chaining Closed v closed addressing rk a, ze clovou adresu msta, ve kter em bude prslusn y objekt (z ahlav separovan eho seznamu) ulozen v hasovan em prostoru, je uplne urcen y hodnotou zskanou hasovac funkc. Opozitum ke closed je open, otevren e, takze pokud nem ame prsn e uz averov e (closed) z aruky, strategie je open, otevren a. open hashing a closed addressing jsou synonyma Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 16

Strategie spr avy koliz { otevren e adresov an Kolize se res vyhled av anm alternativnch mst v hasovan e strukture (vyhled avac posloupnost) dokud se v n nenalezne clov y objekt nebo pr azdn e msto (coz znamen a, ze v t eto strukture clov y objekt neexistuje) z adan y v ysledek { clov e msto v hasovan e strukture odpovd a jedin emu k odu klce kompresn funkce vypocte z k odu klce v ychoz adresu v prpad e kolize se pokracuje v hled an, pocnaje v ychoz adresou, specick ym vyhled avacm algoritmem Adresa zprstup novan eho objektu nemus b yt prmo urcena hasovanou hodnotou nikdy se neopust hasovan a struktura Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 17

Strategie spr avy koliz { otevren e adresov an Faktor naplnen hasovan e struktury mus b yt 1 Ucinn e resen predevsm v prpad e omezen eho pam et'ov eho prostoru Specick e vyhled avac algoritmy { line arn adresov an, { kvadratick e adresov an { n asobn e hasov an Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 18

Line arn resen koliz Line arn hled an msta vzdy zacn a na v ychoz adrese Pri vkl ad an se pouzije prvn n asledujc nalezen e pr azdn e msto v hasovan e strukture hasovan a struktura se prohled av a cyklicky Pri hled an se hled a pocnaje v ychoz adresou prvn msto obsahujc odpovdajc hodnotu klce ne uspech hled an { hledan y klc neexistuje hled an konc nalezenm pr azdn eho msta ci dosazenm v ychoz adresy Pri rusen nalezne se msto odpovdajc rusen emu z aznamu nahrad se prznakem,,pr azdnosti"s indikac,,preskakovat pri hled an" Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 19

Kvadratick e resen koliz a resen koliz dvojit ym hasov anm Jak res krok postupu po kolizi pri proch azen has. strukturou: line arn adresov an { h(k) + 1, h(k) + 2, h(k) + 3,... krok = j kvadratick e adresov an { h(k) + 1, h(k) + 4, h(k) + 9,... krok = j 2 dvojit e adresov an { h(k) = h 1 (k) + h 2 (k), krok = h 2 (k) Porovn an vlastnost Line arn resen koliz m uze zp usobovat shluky Kvadratick e adresov an shluky nezp usobuje, ale m uze selhat, je-li hasovan a struktura vce nez z poloviny pln a Dvojit e adresov an pozaduje proveden dals hasovac funkce, takze m uze b yt pomalejs nez kvadratick e adresov an Dvojit e adresov an je vhodn e pro velk e faktory naplnen, N/M 1, tj. pro t emer pln e tabulky (m ene jak 20 % voln eho msta) Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 20

Kapsy Kapsy, (buckets) kapsa je jednotka pam eti obsahujc jeden nebo vce objekt u, na vnejs pameti je kapsou obvykle fyzick a str anka { diskov y blok do jedn e kapsy se umst'uj vsechny kolidujc prpady kapsa se pri hled an proch az line arne kdyz se kolizemi kapacita kapsy vycerp a, na kapsu s vycerpanou kapacitou lze nav azat pretokovou kapsu pretokov ych kapes pro resen jedn e kolize lze vytv aret vce, vsechny se mus ret ezit hasov an se st av a otevren e Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 21

Statick e a dynamick e hasov an vlastnosti funkce h(k) respektuj statistick e vlastnosti mnoziny klc u a jej velikost pokud je pocet z aznam u v souboru konstantn (dosavadn predpoklad a v yklad) Statick e hasov an 60./70. l eta XX. stol., pouzvan e vesm es pro statick e (klasick e) soubory s prm ym prstupem zm ena souboru (DELETE, nadlimitn pocet INSERT) vyvol av a reorganizaci pokud je pocet z aznam u v souboru promenn y Dynamick e hasov an 80. l eta XX. stol., dynamick e soubory s prm ym prstupem hasov an aktu aln e respektuje dynamick e zm eny souboru Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 22 T

Dynamick a hasov an B azov e rysy probran ych metod Hasovac funkce rozmst'uje z aznamy do kapes kapsa se umst'uje do bloku dat vnejs pameti podmnozinu hodnot klc u z aznam u v kapse vymezuje hasovac funkce hasovac funkce generuje nez aporn e cel e cslo { bin arn ret ezec distribuci mezi kapsy determinuje jist a c ast tohoto ret ezce Rozsiriteln e hasov an, Extendible Hashing, Fagin, 1979 Prim arn soubor s daty se dopl nuje sekund arnm souborem, adres arem, prstupovou strukturou fungujc podobn e jako index adres ar se buduje z hodnot, kter e jsou v ysledkem aplikace hasovac funkce na klc (indexov y adres ar se buduje z hodnot klc u) Line arn hasov an, Litwin, 1980, Enbody a Du, 1988 nevyzaduje pomocnou adres arovou strukturu Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 23

Rozsiriteln e hasov an, Extendible Hashing, Fagin, 1979 Pocet kapes pri urcit em rozsahu klc u se m uze menit podle okamzit ych pozadavk u adresa kapsy = adresa bloku dat vn ejs pam eti obsahujcho kapsu kapacita kapsy je d ana d elkou bloku vnejs pameti kapsy se neadresuj prmo, jsou reprezentovan e polem ukazatel u kapes { adres arem kapes pole ukazatel u (adres ar kapes) m uze snadno r ust / zkracovat se, pri n ar ustu poctu kapes se pocet kapes zdvojn asobuje a naopak d elka pole ukazatel u (adres are kapes) je tudz 2 d, d je tzv. glob aln hloubka (hloubka adres are kapes) kazd a polozka adres are kapes ukazuje na jednu kapsu Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 24

Rozsiriteln e hasov an, Extendible Hashing, Fagin, 1979 jako index do adres are kapes urcujc clovou adres arovou polozku se pouzv a hornch (nejvyssch) d r ad u hasovan e hodnoty klce clov a polozka adres are obsahuje adresu kapsy obsahujc z aznam s clovou hodnotou vyhled avacho klce, tj. adresu bloku vn ejs pam eti obsahujcho kapsu ke kazd e kapse x se udrzuje lok aln hloubka (kapsy) d x d urcujc kolik nejvyssch bit u hasovan e hodnoty klce denuje obsah kapsy kdyz kapsa pretece, lok aln hloubka se zv ys, pokud nastane d > d, zv ys se d o 1, d elka adres are se zdvojn asob pro kazdou z 2 d adres arov ych polozek nemus existovat samostatn a kapsa Nekolik adres arov ych polozek se shodn ymi prvnmi 2 d bity m uze obsahovat ukazatel na stejnou kapsu (blok pam eti), pokud se do dan e kapsy (bloku pameti) vejdou vsechny z aznamy, kter ym hasovac funkce urcuje tyto adres arov e polozky Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 25

Rozsiriteln e hasov an, Extendible Hashing, Fagin, 1979 Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 26

Rozsiriteln e hasov an, Extendible Hashing, Fagin, 1979 Adres ar kapes m a mnohem mens objem nez prim arn soubor Zdvojov an rozsahu adres are je levn ejs operace nez reorganizace souboru nejsou nutn e kapsy pro pretoky, nevytv arej se line arn sekvence vce kapes eliminuje se tudz proch azen kapes s line arn slozitost pretoky se osetr az prpad kdyby se dalsm st epenm prekrocila predem stanoven a mez poctu adres arov ych polozek Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 27

Rozsiriteln e hasov an, prklad 2 Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 28

Rozsiriteln e hasov an, prklad 2 Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 29

Rozsiriteln e hasov an, prklad 2 Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 30

Rozsiriteln e hasov an, prklad 2 Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 31

Rozsiriteln e hasov an, prklad 2 Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 32

Rozsiriteln e hasov an, prklad 2 Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 33

Hodnocen rozsiriteln eho hasov an Rozsiriteln e hasov an casto kombinuje 2 principy hasov an tries Klce jsou umst'ov any do kapes, do nez avisl ych c ast souboru na disku Klce s domovsk ymi adresami se stejn ymi prexy sdlej stejnou kapsu Pro rychl y prstup ke kaps am lze pouzt tries Trie pouzije prex domovsk e adresy pro lokalizaci pozadovan e kapsy Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 34

Hodnocen rozsiriteln eho hasov an Klady v ykon hasov an s r ustem souboru nekles a, vzdy se sekvencn e prohlz pouze jeden blok dat mal a prostorov a rezie { potreba ulozen adres are ukazatel u kapes adres ar kapes se mnohdy vejde do RAM Nedostatky zav ad se dals urove n neprm eho odkazov an pri hled an pozadovan eho z aznamu adres ar kapes m uze b yt velmi velk y, nemus se vejt do RAM zmena rozmeru adres are kapes vyvol a rozs ahl e korekce, po do dobu jejich resen je soubor dat nedostupn y pokud je pocet z aznam u v bloku mal y, m uze rychle r ust rozmer adres are kapes dky mnozen,,blzk ych"z aznam u a mnoho nov ych kapes bude pr azdn ych Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 35

Line arn hasov an, Litwin, 1980, Enbody a Du, 1988 kapacita kapes je d ana kapacitou bloku vn ejs pam eti nepozaduje se samostatn a adres arov a struktura pocet kapes udrzuje takov y, aby vsechny byly v pr umeru naplneny napr. na 80% pouzv a se rodina hasovacch funkc zacn a se s jist ym poctem kapes (M) a kdyz se v nekter e kapse prekroc faktor napln en, st ep se prvn kapsa jakmile se prepln libovoln a dals kapsa, st ep se druh a kapsa, atd. udrzuje se ukazatel na kapsu, kter a se bude st epit jako prst Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 36

Line arn hasov an, Litwin, 1980, Enbody a Du, 1988 jak roste adresov y prostor, roste i pocet bit u hasovan e hodnoty pouzvan ych pro rozmst'ov an M kapes lze identikovat log 2 M bity, v rodine hasovacch funkc h 0, h 1, h 2,... plat, ze rozsah h i je dvojn asobek rozsahu h i 1, tj. h i (x) = x mod 2 i.m, kde M je inici aln pocet kapes, tj. h 0 (x) = x mod M, h 1 (x) = x mod 2M,... bity hasovan e hodnoty se berou vzdy z nejnizsch r ad u hodnoty h(k) pokud se inici alne pouzvaj 4 kapsy (M = 4), pak h 0 = 00, 01, 10, 11 h 1 = 000, 001, 010, 011, 100, 101, 110, 111,... Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 37

Line arn hasov an, Litwin, 1980, Enbody a Du, 1988 Poc atecn e jsou z aznamy souboru rozmst eny v M kaps ach, 0,..., M 1 hasovac funkc h 0 = h(k) = K mod M pro kazdou kapsu se udrzuj pretokov e kapsy individu aln e kdykoliv se dky prepln en n ekter e kapsy umst'uj data do pretokov e oblasti t eto kapsy, doch az ke stepen oznacen e kapsy i (inici alne i = 0, po kazd em st epen se i inkrementuje mod pocet kapes) oznacen kapsy i cirkuluje po vsech kaps ach souboru, je synchronn s umst'ov anm dat do libovoln e pretokov e oblasti Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 38

Line arn hasov an, Litwin, 1980, Enbody a Du, 1988 odstepen a kapsa se umst na konec souboru, jako kapsa M, pocet kapes je pot e M + 1 z aznamy ze stepen e kapsy se rozmst mezi p uvodn a novou kapsu pomoc funkce h i+1 = h(k) = K mod 2M pokud h i alokovala z aznam do kapsy i, bude tent yz z aznam alokovat h i+1 do i nebo do nov e kapsy M prostor souboru po seri koliz naroste na 2M a cyklus se opakuje s hasovac funkc h i+2 = h(k) = K mod 4M atd. stepen a sl ev an kapes se rd predem dan ymi krit erii a pozadovan ym napln enm kapes { load factor (typicky 0,7 { 0,9) Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 39

Line arn hasov an, Litwin, 1980, Enbody a Du, 1988 Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 40

Line arn hasov an, Litwin, 1980, Enbody a Du, 1988 Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 41

Line arn hasov an, Litwin, 1980, Enbody a Du, 1988 Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 42

Line arn hasov an, Litwin, 1980, Enbody a Du, 1988 Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 43

Hodnocen line arnho hasov an nemus se vytv aret / udrzovat adres ar kapes adresov y prostor se rozsiruje st epenm pri kazd em pretoku pretokov e ret ezy nejsou tudz prlis velk e Jan Staudek, FI MU Brno PV062 Organizace soubor u { hasov an 44