organizace a zpracování dat i

Post on 27-Jan-2016

28 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

DBI007. Organizace a zpracování dat I. Prof. RNDr. Jaroslav Pokorný, CSc. RNDr. Michal Žemlička. Zdroje. J. Pokorný, M. Žemlička: Základy implementace souborů a databází , Karolinum, Praha, 2004 J. Pokorný: Základy implementace souborů a databází , Karolinum, Praha, 1997. - PowerPoint PPT Presentation

TRANSCRIPT

Organizace a zpracování dat I

Prof. RNDr. Jaroslav Pokorný, CSc.

RNDr. Michal Žemlička

DBI007

Zdroje

• J. Pokorný, M. Žemlička: Základy implementace souborů a databází, Karolinum, Praha, 2004

• J. Pokorný: Základy implementace souborů a databází, Karolinum, Praha, 1997.

• http://kocour.ms.mff.cuni.cz/testy/pokorny• http://kocour.ms.mff.cuni.cz/~zemlicka/

vyuka/DBI007

Proč sem chodit?

• Základy efektivní práce s persistentními daty

• Poznání světa, kde se setkává teorie s praxí – aneb jak o iluze přijít ne příliš bolestivě

Typické úlohy, které budeme umět lépe řešit

• knihovní agenda

• rezervace místenek či letenek

• nabídkové katalogy

• sklad

• …

Cíle

• zajistit „optimální“ provoz souborů

• zajistit „optimální“ uživatelské rozhraní

Neboli:

zajistit, aby námi vytvářené aplikace byly dostatečně efektivní při zachování dalších dobrých vlastností

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

Teze

• klasické techniky nepostačují pro zpracování velkých objemů dat a netriviální dotazy

• nelze zajistit optimálnost provozu souborů ve všech aspektech

Ať žijí kompromisy!!

Hromadné zpracování dat (HZD)

• Založeno na souborech a specializovaných aplikacích provádějících dílčí manipulace se soubory

• Využívá zejména statické organizace souborů• Typicky data zpracovávána v dávkách• Minimální nároky na zdroje• Robustní – aplikace je většinou možné po selhání

restartovat bez poškození zpracovávaných dat

Nevýhody HZD

• Redundance a nekonzistence dat• Obtížnost přístupu k datům• Izolace dat• Problémy s více uživateli• Problémy s integritou dat

• Nízké prostředky pro vytváření vazeb mezi záznamy souborů

Záznam

• Logický– kolekce logicky 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ů

Aj: dom(Aj) A1:D1,…,An:Dn

Soubor

• Identifikovaná kolekce logicky souvisejících záznamů

Pozor!

Je to kolekce a ne množina, neboť v souboru může být více totožných záznamů.

Homogenní soubor

Hodnoty Primitivní typy

Deklarace S(A1:D1,…,An:Dn)

Obsahuje pouze záznamy jediného typu

Nehomogenní soubor

• Opak homogenního souboru – obsahuje buď záznamy různých typů, záznamy se složitější strukturou, nebo záznamy různých délek.

Klíč

• Klíč souboru je množina atributů Ai1..Aik, kn, takové, že k-tice atributů <a1..ak> (klíče záznamu) jednoznačně identifikují záznamy.

• Vyhledávací klíč – 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 klíčů

• Hodnotové – hodnoty z dom(Ai)

• 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, DELETE a UPDATE • FETCH – získání záznamu ze souboru do

vnitřní paměti

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ísť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í

Schéma organizace souboru

• popis logické paměťové struktury, do 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 v přístupu k souborům

schéma organizace souboru

fyzické schéma souboru

implementační schéma

úroveň typu

logické soubory

fyzické soubory

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 US, která každému stavu přiřadí odpověď – 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 uspořá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é

top related