28
Organizace a zpracování dat I Prof. RNDr. Jaroslav Pokorný, CSc. RNDr. Michal Žemlička DBI007

Organizace a zpracování dat I

  • Upload
    nura

  • View
    27

  • Download
    3

Embed Size (px)

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

Citation preview

Page 1: Organizace a zpracování dat I

Organizace a zpracování dat I

Prof. RNDr. Jaroslav Pokorný, CSc.

RNDr. Michal Žemlička

DBI007

Page 2: Organizace a zpracování dat I

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

Page 3: Organizace a zpracování dat I

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ě

Page 4: Organizace a zpracování dat I

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

• knihovní agenda

• rezervace místenek či letenek

• nabídkové katalogy

• sklad

• …

Page 5: Organizace a zpracování dat I

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í

Page 6: Organizace a zpracování dat I

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

Page 7: Organizace a zpracování dat I

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!!

Page 8: Organizace a zpracování dat I

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

Page 9: Organizace a zpracování dat I

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ů

Page 10: Organizace a zpracování dat I

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

Page 11: Organizace a zpracování dat I

Typ záznamu

- dán jmény a doménami atributů

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

Page 12: Organizace a zpracování dat I

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ů.

Page 13: Organizace a zpracování dat I

Homogenní soubor

Hodnoty Primitivní typy

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

Obsahuje pouze záznamy jediného typu

Page 14: Organizace a zpracování dat I

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.

Page 15: Organizace a zpracování dat I

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

Page 16: Organizace a zpracování dat I

Typy vyhledávacích klíčů

• Hodnotové – hodnoty z dom(Ai)

• Hašované – algoritmická transformace hodnot

• Relativní – udána pozice od začátku souboru

Page 17: Organizace a zpracování dat I

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

Page 18: Organizace a zpracování dat I

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í

Page 19: Organizace a zpracování dat I

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í

Page 20: Organizace a zpracování dat I

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

Page 21: Organizace a zpracování dat I

Fyzická úroveň

• Abstrakce fyzického zařízení– fyzické schéma souboru– fyzický soubor

• Reálné fyzické zařízení– implementační schéma souboru

Page 22: Organizace a zpracování dat I

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

Page 23: Organizace a zpracování dat I

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

Page 24: Organizace a zpracování dat I

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

Page 25: Organizace a zpracování dat I

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ů

Page 26: Organizace a zpracování dat I

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

Page 27: Organizace a zpracování dat I

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

Page 28: Organizace a zpracování dat I

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é