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

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

Klasické (statické) metody organizace souborů

Podobné prezentace


Prezentace na téma: "Klasické (statické) metody organizace souborů"— 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 Neuspořádaný sekvenční 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 b O(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ém O(N) Setříděném O(log2 N) TF = log2 (N / b)(s + r + btt) Přepsání záznamu (update) TU = TF + 2r nemění-li se klíč TU  TI 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) úroveň 2 A X } index A F X Z 1 A F X Z primární soubor

9 Index-sekvenční soubor
Apokryfy Babička Bratrstvo Divá Bára Dobrý člověk 10.1 Karla Matka Mezi proudy Návrat Neklid 10.2 Přerod Pustina Apokryfy 3 Babička 4 Dobrý člověk 5 Mezi proudy 6 Návrat 7 Pustina 8 Apokryfy 1 Návrat 2 Oblast přetečení 2. úroveň indexů F.L.Věk 10.3 Poklad 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í 1 stopa Index stop na 0. stopě každého válce určuje pozice v primárním souboru 2 válec index válců (na počátku oblasti souboru) určuje lokality s indexy stop 3 svazek master index po OPEN v RAM určuje lokality s indexy válců TF = 2(s + r + btt) + r + btt = 2s + 3r + 3btt

11 ISAM - pokračování Oblast přetečení: Statický soubor 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 0 Index stop – na 0. stopě cylindru 1 150 2 200 3 400 stopa největší klíč na stopě Index cylindrů - umístěn kdekoliv jinde 13 1650 14 1750 15 2000 cylindr nejvě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 1 120 2 200 3 250 N Ov N Ov N primární soubor 130 145 150 180 190 200 Insert(185) stopa pro přetečení 1 120 2 190 10 200 3 250 130 145 150 180 185 190

15 ISAM – index s oblastí přetečení (2)
Insert(186) nemění se 1 120 2 186 10 200 3 250 130 145 150 180 185 186 Insert(194) oblast přetečení # 200 10 3 190 1 194 Řetězec v oblasti 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 00000 11111 Babka Codr Couf Colt Cuc 11110 Kolář Kotrč Macák Maloň 00 00 Babka 10 Kolář 20 10 20 záznamy ukazatel bitová mapa

17 Index-sekvenční soubor – kapsy (2)
Aktualizace: D(Codr), I(Dašek), I(Cíp), I(Novák), I(Alfons) 00 Babka 10 Kolář 20 00000 Alfons 11111 Babka Dašek Couf Colt Cuc 11110 Kolář Kotrč Macák Maloň Novák 10000 Cíp 00 10 20 30 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 = logp N/b p =  B / (V + P)  B délka fyzické stránky V průměrná délka klíče P velikost 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 sk na seznamy adres odpovídajících záznamů Indexy mohou/nemusí být setříděné

25 Vyhledávací klíč: Příjmení
Indexovaný soubor Jirásek Němcová Světlá Jirásek 4.1 4.3 5.2 Němcová 7.2 4.2 5.3 6.1 Světlá 5.1 0.1 Jirásek 1.1 Němcová 1.4 2.1 Světlá 3.1 2. úroveň indexů hlavní index 1. úroveň indexů Vyhledávací klíč: Příjmení primární soubor

26 Indexovaný soubor Počet úrovní indexu
Analogicky jako v index-sekvenčním souboru x = logp N, p = B/(V+P) B délka fyzické stránky V prů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 A Pořadí záznamu v S 1

30 Seznamy adres Odstraňují duplicity klíčů Primární soubor hodnoty
Chemik 90 Mechanik 91 Referent 92 90 3 1.1 1.4 2.3 1 1.2 1.3 2.1 2.2 91 92 hodnoty kapsy 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? Pouze přímý přístup? + + Sekvenční organizace Přímá organizace Index-sekvenční

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


Stáhnout ppt "Klasické (statické) metody organizace souborů"

Podobné prezentace


Reklamy Google