1 / 33

Klasické (statické) metody organizace souborů

Klasické (statické) metody organizace souborů. Hromada Sekvenční soubor Index-sekvenční soubor Indexovaný soubor Soubor s přímým přístupem. 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ů)

yair
Download Presentation

Klasické (statické) metody organizace souborů

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 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 } index 1 primární soubor 0

  9. Index-sekvenční soubor 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 TF = 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 0 Index stop – na 0. stopě cylindru stopa největší klíč na stopě Index cylindrů - umístěn kdekoliv jinde 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 N Ov N Ov 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) oblast přetečení Ř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 00 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 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. Indexovaný soubor 0.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

  30. Seznamy adres • Odstraňují duplicity klíčů 90 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ů

More Related