Úvodní přednáška z Organizace a zpracování dat I (NDBI007) RNDr. Michal Žemlička, Ph.D.
Cíl předmětu Obeznámit studenty se základy a specifiky práce se sekundární pamětí. Představit některé specifické periferie. Ukázat, že i v informatice není svět jen černobílý.
Zdroje: 1. Přednáška a cvičení; 2. Skripta (Pokorný, J., Žemlička, M.: Základy implementace souborů a databází 2. vydání, Praha, Karolinum 2004, ISBN 80-246-0837-5.) 3. Další literatura seznam uveden na stránce předmětu: http://www.ksi.mff.cuni.cz/~zemlicka/vyuka/dbi007/
Povinnosti Zápočet Primárně udělován za aktivní účast na cvičeních; studenti kombinovaného studia si mohou domluvit jiné podmínky, musí tak však učinit již na začátku semestru. Cvičení se konají jednou za dva týdny vždy dva týdny po sobě je procvičována tatáž látka. Nahrazovat se dá jen na cvičeních, kde se probírá stejná látka. Rozřazení do skupin je prostřednictvím grupíku.
Povinnosti Zkouška Proběhne formou testu v zimním zkouškovém období; později bude ještě termín pro opozdilce, test však bude obtížnější nebo naopak: složení zkoušky včas znamená výhodu snížené náročnosti.
Rozvrh: Ponděĺı Úterý Středa Čtvrtek 9:00 10:30 10:40 12:10 S3: přednáška S8: Žemlička S8: Lokoč S8: Lokoč 12:20 13:50 14:00 15:30 S8: Žemlička
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 ová cache + Operační pamět Vyrovnávací pamět pro disky disková cache + Sekundární pamět (disky)
Hierarchie pamětí počítače poznámky Na předchozím obrázku směrem vzhůru roste rychlost a cena pamětí, směrem dolů roste kapacita a měla by růst i doba, po kterou si pamět uchová svůj obsah. Paměti označené + programátor vidí, paměti označené se nedají přímo využít jen poskytují iluzi, že pamět o úroveň níže je rychlejší, než ve skutečnosti je.
Hierarchie pamětí počítače přístup Některé z algoritmů, které jsme byli zvykĺı používat na datech, co se vejdou do paměti, jsou použitelné i pro práci ve virtuální paměti, která tak může být mnohanásobně větší než dostupná operační pamět. V ostatních případech je rozumnější mít pohyb dat mezi primární a sekundární pamětí co nejvíce pod kontrolou. Téměř vše, čemu se v tomto předmětu budeme věnovat, spadá do té druhé varianty.
Co chceme? Práce se sekundární pamětí není jednoduchá, chceme ji proto: 1. co nejvíce zjednodušit 2. co nejvíce urychlit Bohužel tyto snahy jdou proti sobě = Budou třeba kompromisy
Co chceme? (2) Můžeme najít takové případy, kdy rychlost a snadnost použití nejdou tak ostře proti sobě. Tyto se pokusíme popsat a naučit se je rozumně využívat. Pokusíme se také o to, aby námi vytvářené aplikace byly dostatečně efektivní při zachování dalších dobrých vlastností, které by software měl mít.
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 vrstvy struktur + zobrazení mezi nimi
Troška historie Nejdříve se počítače používaly k lámání šifer a VT výpočtům krátký vstup na začátku, pak dlouhý výpočet a krátký výstup na konci. Kapacita paměti i médíı rostla, cena počítačů šla dolů, mohly být nasazovány i pro rutinní záležitosti pro běžné agendy. Zpočátku šlo pouze o práci dávkovou svezla a připravila se data, pak se počítalo, tisklo a rozvezly se výsledky.
Dávkové zpracování dat Posbíraná data Čištění Vyčištěná data Setříděná (použitelná) data Třídění Vlastní zpracování dat
Interaktivní zpracování dat data ze zpracovávají hned, jak jsou k dispozici (každý záznam samostatně) máme přehled o aktuálním stavu vyšší nároky na HW (větší zátěž) i SW (složitější vývoj)
Hardware k probrání Základní přepisovatelné nosiče: magnetické disky, magnetické pásky, optické disky (CD, DVD, blue-ray), EE- PROM (flash) Složené nosiče: RAID, jukeboxy Další užitečné pojmy: SAN, NAS
Náš pohled Jednotlivé nosiče popíšeme s ohledem na vlastnosti významné pro práci se soubory. Vnitřní (operační, volatilní) pamět počítače nazveme primární pamět, vnější (persistentní) paměti (např. magnetická páska, disk) pak sekundární pamětí.
Magnetická páska sekvenční přístup buffer (vyrovnávací pamět ) místo v hlavní paměti obsahující jednu stránku (někdy i více) kapacita pásky dána hustotou záznamu, velikostí bloků B a meziblokových mezer IBG a délkou pásky využití pásky U = B/(B + IBG)
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)
Dnešní magnetické pásky stojany s automaticku výměnou pásek ze zásobníku sálová zařízení kapacita desítky GB až jednotky TB přenosová rychlost až 400 MB/s (lepší než disky) osobní zařízení kapacita desítky GB až jednotky TB přenosová rychlost až 120 MB/s (asi jako disky)
Magnetické pásky parametry Příklady systémů lišících se svými parametry: A kapacita 20/40/60 GB zálohování 43,2 GB/hod hledání 60s B kapacita 160 GB rychlost čtení/zápisu 16MB/s (57,6 GB/hod) C kapacita 800 GB rychlost čtení/zápisu 120MB/s
Magnetický disk médium s přímým přístupem první uvedení na trh 1956 (IBM) dnes mají typicky průměr necelých 3,5 (a jsou i menší 2,5, 1,8, 1, 0,8 ) a kapacity v desítkách až stovkách GB (aktuálně největší běžně dostupné mají 2TB)
Magnetický disk pohled z boku osa povrchy hlavy
parametry magnetických disků Kapacita dnes: stovky GB až 3TB Otáčky za minutu (RPM; obvykle 3600, 4200, 5400, 7200, 10000, nebo 15000) Průměrné vystavení hlav (seek; 3,2 15 ms) Rozhraní (PATA, SATA, SCSI, SAS, FC)
Parametry magnetických disků (2) s (seek) průměrné vystavení hlav z jednoho cylindru na druhý r (rotational delay, latency) čas rovný polovině otáčky disku; průměrné rotační zpoždění btt (block transfer time) čas potřebný k přenosu dat z média či na médium
Náhodné čtení z disku Nejdříve je nutné vystavit hlavy na správný cylindr (s seek) pokud už hlavy na daném cylindru nejsou. Pak je třeba počkat, až začátek dat doběhne ke čtecí hlavě (r rotational delay) Nakonec je možné data přečíst (btt block transfer time) s + r + btt
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 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 2 Striping po bitech s Hammingovou paritou VYžaduje synchronizaci disků neprosadil se
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ější 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.
Optické disky (3) V posledním roce inzerována média s dlouhou životností šance pro archivaci
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ž přes 10 PB
Flash paměti Velmi rychlé Drahé Často jen omezený počet přepsání Dnes běžně dodávané kapacity v jednotkách až desítkách GB ( kĺıčenky ) nebo desítkách až stovkách GB ( SSD solid-state disky )
Připojování vnějších pamětí Disky připojovány většinou přímo (DAS direct attached storage), nebo přes sít (NAS network attached 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ě)
Virtualizace Stále častěji dochází k virtualizaci serverů. Je proto nezbytné vědět, zda disky, které považujeme za nezávislé, nejsou ve skutečnosti jen virtuálními zařízeními na tomtéž fyzickém zařízení. Mohlo by to ovlivnit jak rychlost práce, tak bezpečnost dat. Některé úlohy z virtualizace mohou i těžit virtualizovaná zařízení bývají mnohdy vybavena většími vyrovnávacími pamětmi, případně zapojena tak, že mají vyšší výkon, než běžná zařízení.
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í.