OZD: Hašování RNDr. Michal Žemlička.

Slides:



Advertisements
Podobné prezentace
Statistika.
Advertisements

snadná tvorba www stránek zadarmo
Nový přístup k aplikacím Vema
Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Martin Dlouhý. Vytvořeno dne Nový začátek (New start) CZ.1.07/1.4.00/
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
Databáze.
Textový procesor Open Office, Writer STAVOVÝ ŘÁDEK
Vyhodnocování dotazů slajdy k LS I155 Jaroslav Pokorný.
SOFTWARE dálkové studium PODNIKÁNÍ 2. listopad 2006.
Souborové systémy.
SQL – tříhodnotová logika
Architektury a techniky DS Tvorba efektivních příkazů I Přednáška č. 3 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databáze Jiří Kalousek.
1 Vyhledávání Principy vyhledávání Klasifikace klíče:  Interní klíč – je součástí prohlížených záznamů  Externí klíč – není jeho součástí, je jím např.
ORGANIZACE DATOVÉ STRUKTURY SOUBOR
MS PowerPoint Prezentační manažer Kapitola 13.1 (Schránka a operace se schránkou)
1IT S ÍŤOVÝ DATOVÝ MODEL Ing. Jiří Šilhán. S ÍŤOVÝ DATOVÝ MODEL Je historicky nejstarším datovým modelem. Jeho základem jsou vzájemně propojené množiny.
Statistika Vypracoval: Mgr. Lukáš Bičík
Organizace a zpracování dat I
Řadicí algoritmy autor: Tadeáš Berkman.
Microsoft Access Prezentace základních uživatelských nástrojů
B-strom je dynamická indexová struktura.
Informatika pro ekonomy II přednáška 3
Školení správců II. Petr Pinkas RNDr. Vít Ochozka.
DBI007: Fyzické nosiče souborů RNDr. Michal Žemlička.
Algoritmy a programovací techniky
Základní škola a Mateřská škola, Šumná, okres Znojmo OP VK Tematický celek: Informatika Název a číslo učebního materiálu VY _32_INOVACE_04_17.
Relační databáze.
TEXTOVÝ EDITOR.
Animace Moderní počítačové aplikace. Animace Lidské oko je přitahováno pohybujícími se objekty Animace nejen přitahuje pozornost, ale slouží i jako prostředek.
Vyváženost SOS Vyvážené SOS –Omezení délky vyhledávací cesty ve struktuře počtem logických stránek M O(f(M)): O(M), O(log M), O(1), … Složitost (počet.
Informatika pro ekonomy II přednáška 10
Tabulkové procesory Pelikánová Lucie 2002.
Textový editor.
Číslo projektuCZ.1.07/1.5.00/ Číslo materiáluVY_32_INOVACE_259 Název školyGymnázium, Tachov, Pionýrská 1370 Autor Ing. Roman Bartoš Předmět Informatika.
Práce se šablonami v MS Word 2007
Ukládání heterogenních dat pomocí rozvolněných objektů Michal Žemlička.
Databázové modelování
Databáze teorie.
Databázové systémy Informatika pro ekonomy, př. 18.
Základní škola a Mateřská škola, Šumná, okres Znojmo OP VK Tematický celek: Informatika Název a číslo učebního materiálu VY _32_INOVACE_04_15.
Podmíněné příkazy jednoduché bVbVbVbVytvořené jednoduché tabulky bJbJbJbJednoduché opravy údajů bPbPbPbPodmíněné zadávání údajů.
Databázové systémy Přednáška č. 5 Datové typy a Fyzická organizace dat.
Systém souborů. Množina souborů různých typů – Data – Spustitelné programy – Konfigurační a pomocné informace – I/O zařízení Způsob organizace množiny.
Systém souborů. Množina souborů různých typů – Data – Spustitelné programy – Konfigurační a pomocné informace – I/O zařízení Způsob organizace množiny.
MS ACCESS Databáze pro každého. Základní pojmy  Data  určitá fakta, vztahující se k objektům z reálného světa, uložená v paměti počítače  Informace.
Univerzita třetího věku kurz Znalci Databáze 1.
Spirálová paměť připomíná lineární štěpení stránek předpokládá exponenciální rozdělení klíčů klíče primárně transformovány do intervalu funkcí G(c,k).
Kontakty slajdy: ftp://ulita.ms.mff.cuni.cz/predn/POS.
Databázové systémy Úvod, Základní pojmy. Úvod S rozvojem lidského poznání roste prudce množství informací. Jsou kladeny vysoké požadavky na ukládání,
Perzistence XML dat Kamil Toman
Úvod do databází zkrácená verze.
Hromadná korespondence 2 Word Předmět: Informační a komunikační technologie Autor: Milan Franek.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Import dat Access (16). Projekt: CZ.1.07/1.5.00/ OAJL - inovace výuky Příjemce: Obchodní akademie, odborná škola a praktická škola pro tělesně.
 Program pro tvorbu tabulek.  Síť buněk, do kterých můžeme vkládat libovolné údaje  Podstatou jsou vzorce, pomocí kterých provádíme v buňce operace.
Databáze ● úložiště dat s definovaným přístupem ● typy struktury – strom, sekvence, tabulka ● sestává z uspořádaných záznamů ● databáze – struktura – záznam.
Stránkování MATĚJ JURIČIČ 2015/2016 EP1 SPŠ A VOŠ JANA PALACHA KLADNO.
KIV/ZD cvičení 8 Tomáš Potužák.
Úvod do databázových systémů
Vlastnosti souborů Jaroslava Černá.
Soubor Soubor v informatice označuje pojmenovanou sadu dat uloženou na nějakém datovém médiu, se kterou lze pracovat nástroji operačního systému jako.
Hromadná korespondence 2 OpenOffice
Souborové systémy 2 Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Vzorce, vkládání vzorce, kopírování vzorce
Inf Formáty grafických souborů
Informatika pro ekonomy přednáška 8
ALG 13b Srůstající hashování Ukázky
Systém souborů 1.
Transkript prezentace:

OZD: Hašování RNDr. Michal Žemlička

Přímý přístup do paměti Hodnotu atributu můžeme přímo využít pro určení pozice záznamu: Hodnota udává logické číslo záznamu Hodnota udává přesnou adresu Hodnota je algoritmicky transformována na přesnou adresu Hodnota je algoritmicky transformována na logické číslo záznamu

Základy hašování Předpokládá adresový prostor Addr s M adresovými buňkami Obecně rekurzivní funkce h:Dom(k)→Addr Ideál: každému klíči jednoznačně přiřazena právě jedna adresa, která není přiřazena žádnému jinému klíči Realita: Více klíčům přiřazena tatáž adresa – kolize → nutno ošetřit

Jednoduché hašování Nechť h(k) = k mod M, kde M je počet buněk paměti Kolize mohou být řešeny: seznamy prvků na jednotlivých adresách vložením prvku na jiné volné místo v tabulce První volná pozice za určenou Další hašování

Hašování - příklad h(k) = k mod 7 Insert: 3,5,12, … 1 2 3 4 5 6 I(3): 3 1 2 3 4 5 6 I(5): 3 5 1 2 3 4 5 6 I(12): 3 5 Kolize!

Hašování - příklad h(k) = k mod 7 Insert: 3, 5, 12, … 1 2 3 4 5 6 I(3): 3 1 2 3 4 5 6 I(5): 3 5 1 2 3 4 5 6 I(12): 3 5 12 Při kolizi vkládáme na první volné místo za danou pozici

Hašování – první odhady Asymptotická i konkrétní varianta popsány přibližně ve stejnou dobu Asymptotická varianta – Knuth Konkrétní rozsah a naplnění – Král Naplnění …  Očekávaný počet přístupů k nalezení prvku s daným klíčem … 1/  je-li tabulka z poloviny zaplněna, potřebuji v průměru dva přístupy

Hašování – potřebné přístupy 10 5 25 50 75 naplnění

Hašování do stránek Hašovací funkce může místo logických čísel záznamů vracet čísla stránek Vejde-li se do stránky více záznamů, kolize do úrovně kapacity stránky nevadí

Řešení kolizí Najdeme prostou hašovací funkci (velmi obtížné) Najdeme první volné místo za kolizní pozicí Použijeme sekundární hašovací funkci Požijeme (složené) perfektní hašování

Perfektní hašování využívá složitějších hašovacích funkcí přístup k záznamu v konstantním čase přidání dalších prvků může vyvolat změnu hašovací funkce vhodné pro úložiště, kde se hodně hledá, kam se tu a tam přidá (do určitého rozsahu), a kde mazání záznamů může být omezeno použitou metodou

Perfektní hašování (Cormack) Hašování dvoufázové: do adresáře do primárního souboru adresář obsahuje informace o kolidujících prvcích (počet, umístění v primárním souboru, rozlišující hašovací funkce)

Perfektní hašování Cormacka h(k,s) … primární hašovací funkce sekundární hašovací funkce hi(k,r) k… klíč s … velikost adresáře p i r adresář p…ukazuje na oblast v prim. souboru i …určuje sekundární hašovací funkci r… počet kolidujících prvků/rozsah pro hi primární soubor

Perf. hašování Cormacka je vhodné, aby velikost adresáře přibližně odpovídala očekávanému počtu záznamů (větší šance, že nebudou kolidovat velké skupiny záznamů) Při insertu se vždy hledá nové místo pro celou kolidující skupinu Primární soubor je možné reorganizovat tak, aby data byla uložena souvisle

Cormack - závěr Vyhledání záznamu vyžaduje 2 (případně jen 1) přístup na disk Někdy je možné reorganizovat primární soubor tak, aby v něm nebyla volná místa Při mnoha kolizích do jedné položky adresáře je možné nechat sekundární hašovací funkci rozdělovat k prvků do více pozic, čímž se zvýší šance na rychlé nalezení příslušné sekundární haš. fce.

Perfektní hašování Larsona a Kalji Data umístěna do M stránek Přístup ke stránkám řízen speciálním hašováním Využívá dvě sady hašovacích funkcí: hi(k) – udávají adresu stránky (0..M-1) si(k) – udávají signaturu záznamu (0..2d-2) Ke každé stránce je separátor – d-bitová hodnota, omezující velikost signatury záznamů ve stránce

Larson, Kalja – hledání záznamu Postupně se pro zvyšující se i funkcemi hi a si generují adresa a signatura tak dlouho, až se nalezne stránka s danou adresou a se separátorem nižším, než je adrese odpovídající signatura. Buď se v dané stránce nachází, nebo není v celé databázi

Larson, Kalja - vkládání Najdeme stránku, kde by se měl záznam nacházet Pokusíme se záznam vložit Vejde-li se, ok Nevejde-li se, setřídíme záznamy dle signatur Záznamy s největší signaturou z bloku vyjmeme Separátor bloku nastavíme na signaturu vytlačených záznamů Vyjmuté záznamy vložíme zpět do db

Larson, Kalja – výhody a nevýhody Signatury jsou velmi malé, je možné je udržovat v paměti téměř vždy – pro získání dat stačí jediný přístup na médium Vkládání jediného prvku může vyvolat celou kaskádu vkládání prvků Může dojít k situaci, kdy separátory stránek budou nastaveny na příliš nízké hodnoty, a tak dojde ke zbytečné blokaci velké části adresového prostoru

Perfektní hašování - shrnutí Obě uvedené metody perfektního hašování (Cormacka i Larsona a Kalji) dovolují velmi rychle přistupovat k uloženým záznamům, vkládání nových prvků však může být dosti zdlouhavé. Úspěšné nasazení se dá očekávat v případě kolekcí, kde se k záznamům přistupuje výhradně podle klíče a kde se data mění (ve srovnání s množstvím přístupů) jen minimálně