NDBI007 Organizace a zpracování dat I Úložiště, složená úložiště, záznamy, soubory RNDr. Michal Žemlička, Ph.D.
Hierarchie pamětí počítače V počítačích najdeme mnoho různých pamětí: + Registry Vyrovnávací pamět procesoru pamět ova cache + Operační pamět Vyrovnávací pamět pro disky disková cache + Sekundání pamět (disky)
Cíl zjednodušeně Chceme se naučit pracovat se sekundární pamětí efektivně. Víme, že mnohé z algoritmů známých z práce v operační paměti je nepoužitelných, ale my už si poradíme naučíme se postupy jiné.
Zpracování dat organizace dat na vnějších pamětech pro efektivní zpracování techniky organizace dat ve formě souborů interpretace dat uživatelem konceptuální model dotazovací jazyky vrsty struktur + zobrazení mezi nimi
Hardware Magnetické pásky Optické disky Jukeboxy Magnetické disky Flash paměti RAID-y
Magnetická páska umožňuje sekvenční čtení i rychlé převíjení existují speciální zařízení pro kontrolu kvality záznamu aplikace: zálohování proudová data vzácněji přistupovaná rozsáhlá data (spolu s optickými disky)
Magnetické pásky parametry Příklady systémů lišících se svými parametry: low-end (USB) kapacita 36 (72) GB zálohování 180MB/min (21,6 GB/hod) hledání 60s lepší (SCSI) kapacita 400 (1040) GB rychlost čtení/zápisu 24 (62) MB/s tj. 86,4 (224,6) GB/hod
Magnetický disk pohled z boku osa povrchy hlavy
Hardware problémy Pohyblivá média mohou podléhat různým deformacím, a tak je třeba průběžně dolad ovat nastavení čtecích/záznamových částí. Tato média mohou být i mechanicky poškozena; musí se to umět zdetekovat, případně (v případě menšího poškození) i opravit.
Bloky možná implementace značka začátek bloku číslo bloku na stopě/pásce značka začátku dat vlastní data značka konce dat pomocné kódy na detekeci chyb a případné opravy značka konce bloku Samotné bloky mají mezi sebou mezery jednak aby se stihl blok zpracovat, než se bude číst další, jednak aby se případným nepřesným umístěním bloku nepřepsal blok sousední
Disková pole RAID Redundant Array of Inexpensive Disks Slouží ke zvýšení kapacity, rychlosti, nebo bezpečnosti disků. Navenek se chová jako jediná disková jednotka s pozměněnými vlastnostmi. Existuje celá řada různých uspořádání. Každé z nich je vhodné pro jinou aplikaci.
RAID 0 schema A1 A2 B1 B2 C1 C2 D1 D2
RAID 0 Striping Data rozložena na více disků Není to klasický RAID nedochází k redundanci Při výpadku jediného disku můžeme přijít o veškerá data Zvyšuje výkon jak pro čtení, tak pro zápis Podporováno i velmi levnými řadiči
RAID 1 Zrcadlení A A B B C C D D
RAID 1 Mirroring Disky instalovány ve dvojicích. Vždy se zapisuje na oba disky v páru. Čtení se ralizuje tam, kde to jde rychleji. Při výpadku jediného disku jej stačí vyměnit a nakopírovat na něj data z jeho partnera. Může přežít i výpadek až n disků z 2n za předpokladu, že z každé dvojice vypadne nejvýše jeden.
RAID 0+1, 1+0 Kombinace principů RAID 0 a 1 pro alespoň 4 disky 0+1: stripe + mirror... levné souborové systémy 1+0: mirror + stripe... databáze podpora již u relativně levných a jednoduchých řadičů (0,1,0+1) dostupné na mnoha základních deskách
RAID 3 Pracuje po bitech disky musí být synchronizovány Jeden z disků je vyhrazen pro paritu Rychlé I/O pro sekvenční data Neumí zároveň číst i zapisovat Systém je odolný proti selhání jednoho disku data je možné dopočítat
RAID 4 Data jsou zapisována po blocích na jednotlivé disky Jeden z disků je vyhrazen pro paritu Rychlé I/O pro sekvenční data Neumí zároveň číst i zapisovat Systém je odolný proti selhání jednoho disku data je možné dopočítat Úzkým hrdlem je paritní disk pomalý zápis
RAID 5 Parita zapisována postupně na různé disky Použitelný od 3 disků výše Rozumný kompromis mezi bezpečností dat, kapacitou a výkonem vyžaduje složitěkší elektroniku (bývá na řadičích s procesorem a větší pamětí)
RAID 6 Odolný proti výpadku až dvou disků Zvýšená redundance Menší využití kapacity Potřebuje složitější řadič Vhodné pro mission-critical aplikace
Optické disky CD, DVD, blue-ray,... Informace uchovávána prostřednictvím rozdílné odrazivosti světla Lisované velké série disků se stejným obsahem velmi spolehlivé Modifikovatelné médium (R, RW, RAM) malé série + zálohování + přenos dat (pouze RW a RAM)
Optické disky (2) U levných médíı zatím relativně malé kapacity (650MB, 4,7GB). U médíı s rozumnou kapacitou (15GB, 25GB) zas nevyhovuje cena. RW média nejsou určena pro velký počet přepsání prostor pro DVD-RAM. DVD-RAM zatím málo rozšířena a poměrně drahá a pomalá využívána spíše pro multimédia než pro data.
Jukeboxy Pásky i optické disky mohou mít menší kapacitu, než je třeba požadovaná data jsou pak uložena na více médíıch Jednoduchá média je možné automaticky vyměňovat (stačí jedna či několik málo mechanik + výměnný mechanismus + prostor na desítky či stovky médíı)
Jukeboxy (2) Poskytují obrovskou úložnou kapacitu s pomalým přístupem (sekundy) Většinou využity jako terciální pamět jsou tam ukládána data, co se nepotřebují příliš často, ale přesto by měla být dostupná Zálohování dat ze sekundárních pamětí
Systémy výměnných disků Zařízení umožňující bezobslužný přístup k více CD nebo DVD diskům Někdy včetně podpory zápisu Několik různých forem: mechanika na více CD stojan s mnoha mechanikami po jednom CD mechanika s přídavným zařízením na výměnu CD (jukebox)
Parametry Jukeboxu Až stovky CD/DVD (tj. až 5,5 TB) Může obsahovat i více mechanik Doba výměny disků 2,5 10 s Někdy i možnost otáčet média (u oboustranných)
Páskové výměnné systémy Obdobně jako u CD/DVD existují i bezobslužné systémy s jednou či několika málo mechanikami a mnoha páskami Kapacita až desítky TB
Flash paměti, SSD Velmi rychlé Drahé (větší kapacity i 100.000,-) Často jen omezený počet přepsání Dnes běžně dodávané kapacity v jednotkách GB ( kĺıčenky ) nebo desítkách GB ( SSD solid-state disky ); případně TB K maximálnímu využití vyžadují jiný přístup než klasické disky
Připojování vnějších pamětí Disky připojovány většinou přímo (DAS disrect attached storage), nebo přes sít (NAS network atatched storage), případně se chovají jako bloková úložiště (SAN storage area network) SAN i NAS se dají pořídit jak velká, tak SOHO; pozor, někdy je výkon SOHO zařízení velmi nízký
Bezpečnost dat RAID bývá bezpečnější než samotné disky (s výjimkou RAID 0), ale i zde může dojít ke ztrátám dat = je třeba zálohovat, případně využívat další typy pamětí (diskové a páskové jukeboxy) Kritické systémy i jejich záložní kopie je důležité mít umístěné na dostatečně vzdálených a různých místech (požáry, povodně)
Vnější paměti Mnoho druhů lišících se rychlostí, dodávanou kapacitou i cenou Platí, že velké kapacity bývají dostupné pomalu, malé kapacity rychleji nebo jsou silně miniaturizovány Je možné vytvářet kaskády pamětí
Záznam Logický kolekce souvisejících položek hodnot atributů Fyzický logický záznam doplněný o oddělovače, definice délek, zarážky,... délka fyzického záznamu R
Typ záznamu dán jmény a doménami atributů A j : dom(a j ) A 1 : D 1,..., A n : D n
Fyzický a logický záznam Logický záznam množina atributů Fyzický záznam (délky R) fyzická reprezentace logického záznamu na médiu (může obsahovat pomocná data navíc) Fyzické záznamy se ukládají do fyzických stránek (bloků jejich velikost značíme B) Bloky jsou minimální entitou přenášenou mezi primární a sekundární pamětí
Blokovací faktor, blokování Blokovací faktor (b) poměr B/R Blokování (umíst ování záznamů do bloků); říkáme, že záznamy jsou: neblokované b = 1, B = R; blokované b > 1; přerostlé b < 1; Pro implementaci je důležité, zda se R mění, či nikoliv budeme předpokládat, že se nemění.
Soubor Soubor je identifikovaná kolekce logicky souvisejících záznamů. Jsou-li záznamy stejného typu a velikosti, říkáme, že soubor je homogenní. V opačném případe je nehomogenní.
Kĺıč Kĺıč souboru je množina atributů A i1..a ik, k n, taková, že k-tice atributů < a 1..a k > (kĺıče záznamu) jednoznačně identifikují záznamy. Vyhledávací kĺıč je atribut (či množina atributů), k jehož hodnotě vyhledáváme množinu záznamů obsahujících pro daný atribut právě uvedenou hodnotu
Typy vyhledávacích kĺıčů Hodnotové hodnoty z dom(a i ) Hašované algoritmická transformace hodnot Relativní udána pozice od začátku souboru
Operace nad soubory INSERT vložení záznamu do souboru DELETE rušení záznamu v souboru UPDATE změna některých položek záznamu v souboru Aktualizace souboru posloupnost operací INSERT, DE- LETE a UPDATE FETCH získání záznamu ze souboru do vnitřní paměti
Schéma organizace souboru popis logické pamět ové struktury, co níž může být původní soubor zobrazen, spolu s algoritmy provádějícími operace nad touto strukturou může popisovat více logických souborů svázaných dohromady primární soubor soubor obsahující uživatelská data; N počet záznamů v něm
Fyzická úroveň Abstrakce fyzického zařízení fyzické schéma souboru fyzický soubor Reálné fyzické zařízení implementační schéma souboru
Abstrakce přítupu k souborům schéma organizace souboru logické soubory fyzické schéma souboru fyzické soubory implementační schéma úroveň typu implementace fyzických souborů úroveň výskytu
Operace SOS operace nad soubory (insert, delete, update) BUILD vytvoření struktury REORGANIZATION uvedení SOS do nového výchozího stavu Stav souboru S (S ; extenze souboru S) podoba SOS mezi dvěma ukončenými aktualizacemi CLOSE aktualizuje některá data o souboru
Souborové systémy podpora práce se soubory na úrovni základního SW uchovávají metadata o souborech umožňují správu souborů včetně mapování souborů na médium
Dotazy nad soubory dotaz nad schématem souboru S jakákoliv totální funkce vyjádřitelná programem definovaná nad množinou U S. která každému stavu přiřadí odpověd zpravidla množinu záznamů hity prvky odpovědi v případě dokumentů
Vícerozměrné/ortogonální dotazy dotaz na úplnou shodu zadány hodnoty všech atributů dotaz na částečnou shodu zadány hodnoty jen některých atributů dotaz na úplnou intervalovou shodu zadán interval hodnot pro každý z atributů dotaz na částečnou intervalovou shodu zadány intervaly pro vybrané atributy
Další operace READ ENTIRE FILE čtení celého souboru sériově podle zadaného uspořádání sekvenčně podle fyzického upořádání záznamů v souboru
Vyváženost struktury omezení délky cesty ve struktuře při vyhledání záznamu (např. O(log M), kde M je počet logických stránek) rovnoměrná naplněnost stránek faktor naplnění stránky λ (0 α < λ < β 1) někdy se λ označuje průměrné naplnění stránek SOS splňující obě podmínky dynamické, ostatní statické