Sekven cn soubory PV 062 Organizace soubor u Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : jaro 2018
Klasick e, standardn organizace soubor u hromada sekvencn soubor index-sekvencn soubor indexem se vymezuje oblast str anek v prim arnm souboru, kde z aznam m uze lezet, tato oblast str anek se prohlz sekvencne index i prim arn soubor je trd en y podle vyhled avacho klce indexovan y soubor jeden nebo vce index u pro jeden nebo vce vyhled avacch klc u trd se pouze index(y), prim arn soubor b yv a netrden y soubor s prm ym prstupem algoritmick a transformace vyhled avacho klce na adresu str anky se z aznamem, hasov an rozmst en z aznam u determinuje hasovac funkce Jan Staudek, FI MU Brno PV 062, Souborov e syst emy { organizace 1
Neuspor adan y sekvencn soubor { homogenn soubor { vhodn a organizace pro aplikace vesm es pozadujc sekvencn zpracov an cel eho souboru { pouze sekvencn prstup { organizovan y stejn e jako hromada { slozitost operace INSERT: O(1) { slozitost operace FIND: O(N), pri blokovacm faktoru b: O(N/b) (blokov anm se slozitost nesnizuje) pr umern y pocet prstup u na disk pri vyhled av an z aznamu { N/2 Jan Staudek, FI MU Brno PV 062, Souborov e syst emy { organizace 2
Uspor adan y sekvencn soubor uspor ad an podle n ejak eho vyhled avacho klce INSERT do setrd en eho sekvencnho souboru: bezprostredn ukl ad an dat do prim arnho souboru + in-line reorganizace obcasn a d avkov a reorganizace { aktualizace se b ezn e ukl adaj do souboru aktualizac { soubor aktualizac je neuspor adan y sekvencn soubor { obcas se vyvol a operace REORGANIZACE: 1. setrd en souboru aktualizac 2. zatrd en souboru aktualizac do prim arnho souboru udrzov an porad formou ret ezen e struktury keysort { udrzuje se netrden y prim arn soubor + trden y index trd se pouze index, ve vnitrn pam eti { vhodn e pro velk e soubory { speci aln trda organizac soubor u s,,indexy"{ indexovan y soubor Jan Staudek, FI MU Brno PV 062, Souborov e syst emy { organizace 3
Uspor adan sekvencnho soubor pomoc "keysort\ M ame setrdit soubor, kter y se nevejde cel y do vnitrn pameti Pro setrd en stac zn at pouze hodnoty klce Necht' se do vnitrn pameti vejde cel y seznam vsech hodnot klce Algoritmus do vnitrn pam eti se nahraj vsechny hodnoty klce plus ukazatele na odpovdajc z aznamy (prp. RRN { Relative Record Numbers) seznam hodnot klc u se setrd soubor se prepse na vn ejs pam eti v porad setrd en eho seznamu pak se jedn a o keysorting nebo se jeho z aznamy individu aln e zprstup nuj podle tohoto seznamu pak se jedn a o indexov an, seznam hodnot+rrn tvor index Jan Staudek, FI MU Brno PV 062, Souborov e syst emy { organizace 4
Uspor adan sekvencnho soubor pomoc "keysort\ Krok 1: napln en indexu ve vnitrn pam eti Jan Staudek, FI MU Brno PV 062, Souborov e syst emy { organizace 5
Uspor adan sekvencnho soubor pomoc "keysort\ Krok 2: setrd en indexu ve vnitrn pam eti, indexov an Jan Staudek, FI MU Brno PV 062, Souborov e syst emy { organizace 6
Uspor adan sekvencnho soubor pomoc "keysort\ Krok 3: setrd en prim arnho souboru ve vn ejs pam eti, keysorting Jan Staudek, FI MU Brno PV 062, Souborov e syst emy { organizace 7
Hierarchick e uspor adan sekvencnho souboru "indexov anm\ Jan Staudek, FI MU Brno PV 062, Souborov e syst emy { organizace 8
Uspor adan y sekvencn soubor pomoc ret ezen ych struktur retezen usnadn n asledn a vkl ad an a rusen z aznam u Jan Staudek, FI MU Brno PV 062, Souborov e syst emy { organizace 9
Slozitost hled an v sekvencnch souborech slozitost sekvencnho vyhled an z aznamu v nesetrden em souboru O(N) slozitost sekvencnho vyhled an z aznamu v setrd en em souboru O(log 2 N) bin arn hled an, p ulen intervalu,... Jestlize se pocet z aznam u v souboru zdvojn asob, doba sekvencnho vyhled av an se zdvojn asob, zatmco vyhled avac cas bin arnho vyhled av an se zv ys o 1 blokov an slozitost neovlivn O(N/b), O(log 2 N/b) blokov an ovliv nuje efektivitu vyuzv an pam et'ov eho prostoru Jan Staudek, FI MU Brno PV 062, Souborov e syst emy { organizace 10
Prklad Operujeme se z aznamy neuspor adan eho sekvencnho souboru a plat pocet z aznam u N = 100 000, blokovac faktor Bfr = 10 pr umern a doba nacten bloku ze stopy disku bt = 0,84 ms doba vystaven s = 16 ms, rotacn zpozden r = 8,3 ms soubor je ulozen y v souvisl e oblasti v jednom v alci Doba nacten vsech z aznam u souboru v porad jejich ulozen do blok u na disku, Tx vystav se ram enko na poc atek oblasti souboru a pot e se ctou bloky v oblasti v sekvencnm porad T x = (N/Bfr) bt + s + r T x = 100 000/10 0.84 + 16 + 8.3 = 8.424 s Jan Staudek, FI MU Brno PV 062, Souborov e syst emy { organizace 11
Prklad Doba vyhled an a nacten jednoho z aznamu s udanou klcovou hodnotou, Tf T f = (N/Bfr)/2 bt + s + r T f = (100 000/10)/2 0.84 + 16 + 8.3 = 5.025 s Doba vyhled an a nacten prstho z aznamu podle porad hodnot klcov e vlastnosti, Tn Tn = Tf, soubor nen setrden y, hled an jsou nez avisl a Doba nacten vsech z aznam u souboru v porad hodnot klcov e vlastnosti, Tx T x = N T n T x = 100 000 5.025 s = 5, 8 dne Jan Staudek, FI MU Brno PV 062, Souborov e syst emy { organizace 12