Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Klasické (statické) metody organizace souborů Hromada Sekvenční soubor Index-sekvenční soubor Indexovaný soubor Soubor s přímým přístupem.

Podobné prezentace


Prezentace na téma: "Klasické (statické) metody organizace souborů Hromada Sekvenční soubor Index-sekvenční soubor Indexovaný soubor Soubor s přímým přístupem."— Transkript prezentace:

1 Klasické (statické) metody organizace souborů Hromada Sekvenční soubor Index-sekvenční soubor Indexovaný soubor Soubor s přímým přístupem

2 Hromada Nehomogenní soubor Záznamy proměnné délky (záznamy proměnné struktury – uvádí se pak i jména či kódy atributů) Sekvenční uložení ve vymezeném adresovém prostoru Složitost vyhledání záznamu O(N)

3 Sekvenční soubor Homogenní soubor –Sekvenční přístup READ/WRITE Neuspořádaný sekvenční soubor –Organizovaný jako hromada –Složitost vyhledání záznamu O(N) –Složitost vyhledání záznamu při blokovacím faktoru bO(N/  b  )

4 Uspořádaný sekvenční soubor Podle (vyhledávacího) klíče Aktualizace primárního souboru –Soubor aktualizací / soubor transakcí Neuspořádaný sekvenční soubor –Reorganizace Setřídění souboru aktualizací Zatřídění s primárním souborem  nový primární soubor

5 Vyhledání záznamu v sekvenčním souboru NesetříděnémO(N) SetříděnémO(log 2 N) T F =  log 2 (N / b)  (s + r + btt) Přepsání záznamu (update) T U = T F + 2rnemění-li se klíč T U  T I mění-li se klíč

6 Index-sekvenční soubor Kombinace –Sekvenčního (dávkového) přístupu a –Přímého přístupu k záznamům Části: –Primární soubor –Index –Oblast přetečení

7 Aplikace index-sekvenčního souboru Účetní systém kreditních karet –Individuální přístup při manipulaci s účtem –Dávkový přístup pro generování sumářů, měsíčních vyúčtování apod. Studentský systém –Záznamy o výsledku zkoušky –Tisk zkušební zprávy

8 Index index-sekvenčního souboru Hierarchie: –Primární soubor –1. Úroveň indexu –… –k-tá úroveň indexu (master index) AFXZ AFXZ AX úroveň primární soubor index }

9 Index-sekvenční soubor Apokryfy1 Návrat2 … … Apokryfy3 Babička4 Dobrý člověk5 Mezi proudy6 Návrat7 Pustina8 … … Apokryfy0 …0 …0 Babička0 Bratrstvo0 Divá Bára0 Dobrý člověk10.1 Karla0 Matka0 Mezi proudy0 …0 …0 Návrat0 Neklid10.2 Přerod0 Pustina0 F.L.Věk10.3 Poklad0 0 Oblast přetečení 2. úroveň indexů 1. úroveň indexů primární soubor

10 Index-sekvenční soubor - ISAM Přímá podpora index-sekvenčních souborů v run- time COBOLU ÚroveňUmístění 1stopaIndex stop na 0. stopě každého válce určuje pozice v primárním souboru 2válecindex válců (na počátku oblasti souboru) určuje lokality s indexy stop 3svazekmaster index po OPEN v RAM určuje lokality s indexy válců T F = 2(s + r + btt) + r + btt = 2s + 3r + 3btt

11 ISAM - pokračování Oblast přetečení: –na každém válci –společná pro celý soubor Statický soubor –nutná reorganizace: po naplnění přetokové oblasti periodicky

12 ISAM – struktura indexu Cylindry i stopy číslovány od … stopanejvětší klíč na stopě Index stop – na 0. stopě cylindru Index cylindrů - umístěn kdekoliv jinde … cylindrnejvětší klíč na cylindru

13 ISAM – struktura indexu (2) Záznamy v blocích (stopách) setříděny Hlavní (master) index pro velké soubory na více discích ukazuje na stopy indexu cylindrů Oblast přetečení –vytlačen největší klíč na stopě –aktualizace indexu

14 ISAM – index s oblastí přetečení … index stop NOvN N … primární soubor Insert(185) … … stopa pro přetečení

15 ISAM – index s oblastí přetečení (2) Insert(186) … … nemění se Insert(194) # … Řetězec v oblasti přetečení oblast přetečení

16 Index-sekvenční soubor - kapsy Implementace index-sekvenčních souborů pomocí kapes Kapsa (bucket) je množina bloků organizovaných jako spojový seznam Indexují se kapsy 00 Babka10 Kolář BabkaCodrCoufColtCuc KolářKotrčMacákMaloň0 bitová mapa záznamyukazatel

17 Index-sekvenční soubor – kapsy (2) Aktualizace: D(Codr), I(Dašek), I(Cíp), I(Novák), I(Alfons) 00 Babka10 Kolář Alfons BabkaDašekCoufColtCuc KolářKotrčMacákMaloňNovák Cíp Vhodné pro záznamy proměnné délky

18 Index-sekvenční soubor - typy Záznamy indexů a primárního souboru jsou různých typů Index nejvyšší úrovně –Master index –Pro otevřený soubor uchováván v OP

19 Index-sekvenční soubor - úrovně Maximální počet úrovní, x =  log p N/  b  –p =  B / (V + P)  Bdélka fyzické stránky Vprůměrná délka klíče Pvelikost ukazatele Počet úrovní ~ počet přístupů na disk Minimalizace počtu přístupů na disk –Prakticky pouze minimalizací B, velikostí bloku –Omezeno kapacitou stopy

20 Výhody index-sekvenčního souboru Rychlý přístup dle primárního klíče Zachovává dobré vlastnosti setříděného sekvenčního souboru

21 Nevýhody index-sekvenčního souboru Rychlé vyhledávání jen pro primární klíč Problémy s dynamikou primárního souboru –Oblast přetečení Vede ke zpomalení přístupu k datům –Bloky inicializovány jako ne zcela zaplněné Větší nároky na prostor Případná potřeba reorganizací

22 Návrh index-sekvenčního souboru Uspořádání položek v seznamu Definice primárního klíče Analýza doplňování záznamů –Počáteční naplnění stránek – max. 60% Prostor pro primární soubor, index a oblast přetečení Počet úrovní indexu Blokovací faktor primární oblasti, indexu

23 Index-sekvenční soubor - závěr Blokování zvyšuje účinnost Rychlý přímý přístup – košatý index Žádá se pouze sekvenční přístup –Použít sekvenční soubor Nejsou třeba indexy Žádá se pouze přímý přístup –Použít soubor s přímým přístupem Není třeba uspořádanost

24 Indexovaný soubor Někdy nazývaný invertovaný soubor Primární soubor + indexy pro různé vyhledávací klíče –Přímý přístup prohledáváním tabulek –Přímý přístup procházením hierarchické struktury Indexují se záznamy, ne bloky –Primární soubor nemusí být setříděn V indexu se tentýž klíč může opakovat –V 1. úrovni indexu odkazy s k na seznamy adres odpovídajících záznamů –Indexy mohou/nemusí být setříděné

25 Indexovaný soubor Jirásek Němcová Jirásek Světlá Jirásek Němcová … … Světlá Němcová … primární soubor Jirásek4.1 Jirásek4.3 Jirásek5.2 Němcová7.2 Němcová4.2 Němcová5.3 Němcová6.1 Němcová7.2 Světlá5.1 Jirásek1.1 Němcová1.4 Němcová2.1 Světlá úroveň indexů hlavní index 1. úroveň indexů Vyhledávací klíč: Příjmení

26 Indexovaný soubor Počet úrovní indexu –Analogicky jako v index-sekvenčním souboru –x =  log p N , p =  B/(V+P)  Bdélka fyzické stránky Vprůměrná délka klíče P velikost ukazatele

27 Indexovaný soubor Řešení dotazů na částečnou shodu –Vytváření průniků seznamů adres (ukazatelů) primárních záznamů Netriviální při velkém objemu, tj. velká N malá aktuální doména A –Kombinovaný index Současně dle více atributů (A,B,C)

28 Indexovaný soubor - implementace Nepřímé indexování: –primární klíč –sekundární klíč –primární klíč se indexuje na sekundární klíč Možná reorganizace, restrukturalizace souboru bez ovlivnění indexu Vyšší režie dotazu

29 Bitová mapa Vhodná pro malou doménu hodnot Boolské dotazy se řeší logickými operacemi Bitové vektory lze vytvářet pro více atributů –Obecnější Boolské dotazy APořadí záznamu v S  

30 Seznamy adres Odstraňují duplicity klíčů Chemik90 Mechanik91 Referent Primární soubor hodnotykapsy s odkazy

31 Indexy v indexovaném souboru Statické Seznamy adres Bitové mapy B-stromy a jejich varianty Kombinované indexy …

32 Základní organizace souborů Jeden vyhledávací klíč? Indexovaný soubor + – Pouze sekvenční přístup? + + Přímá organizace Sekvenční organizace Pouze přímý přístup? Index- sekvenční – –

33 Porovnání statickým metod organizací souborů Cíl zpracováníJednotlivý záznam Množina záznamů soubor hromadanevhodnálze, ale zvláštní úsilí výborná neuspořádaný sekvenční nevhodnálze, ale zvláštní úsilí vynikající uspořádaný sekvenční lze, ale velké úsilí lze, ale zvláštní úsilí vynikající index-sekvenčnívýbornálzevynikající indexovanývynikajícívýbornálze, ale zvláštní úsilí přímývýbornánevhodná


Stáhnout ppt "Klasické (statické) metody organizace souborů Hromada Sekvenční soubor Index-sekvenční soubor Indexovaný soubor Soubor s přímým přístupem."

Podobné prezentace


Reklamy Google