1 / 28

Organizace a zpracování dat I

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.

nura
Download Presentation

Organizace a zpracování dat I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. 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ě

  4. Typické úlohy, které budeme umět lépe řešit • knihovní agenda • rezervace místenek či letenek • nabídkové katalogy • sklad • …

  5. 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í

  6. Zpracování dat organizace dat na vnějších pamětech pro efektivní zpracování interpretace dat uživatelem techniky organizace dat ve formě souborů konceptuální model, dotazovací jazyky vrstvy struktur + zobrazení mezi nimi

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

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

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

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

  11. Typ záznamu • dán jmény a doménami atributů Aj: dom(Aj) A1:D1,…,An:Dn

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

  13. Homogenní soubor Obsahuje pouze záznamy jediného typu

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

  15. Klíč • Klíč souboru je množina atributů Ai1..Aik, kn, 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

  16. Typy vyhledávacích klíčů • Hodnotové – hodnoty z dom(Ai) • Hašované – algoritmická transformace hodnot • Relativní – udána pozice od začátku souboru

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

  18. 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í

  19. 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í

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

  21. Fyzická úroveň • Abstrakce fyzického zařízení • fyzické schéma souboru • fyzický soubor • Reálné fyzické zařízení • implementační schéma souboru

  22. Abstrakce v přístupu k souborům schéma organizace souboru logické soubory fyzické schéma souboru fyzické soubory implementace fyzických souborů implementační schéma úroveň typu úroveň výskytu

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

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

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

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

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

  28. 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é

More Related