A4M33BDT Technologie pro velká data
|
|
- Jiřina Havlová
- před 6 lety
- Počet zobrazení:
Transkript
1 A4M33BDT Technologie pro velká data Milan Kratochvíl 22. března 2017
2 MapReduce
3 3
4 MapReduce Paradigma/framework/programovací model pro distribuované paralelní výpočty Princip: MAP vstupní data ve formátu <KEY1, VALUE1> konvertuje na <KEY2,VALUE2> REDUCE vstupní data ve formátu <KEY2, LIST(VALUE2)> konvertuje na <KEY3, VALUE3> <K1,V1> <K2,V2> <K2,LIST(V2)> <K3,V3> MAP REDUCE 4
5 MapReduce příklad: Počet slov podle délky Ó, náhlý déšť již zvířil prach a čilá laň teď běží s houfcem gazel k úkrytům. MAP SHUFFLE & SORT REDUCE 1: ó 5: náhlý 4: déšť 1: a... 1: LIST(ó, a, s, k) 3: LIST(již, laň, teď) 4: LIST(déšť, čilá, běží) 5: LIST(náhlý, prach, gazel)... 1: 4 3: 3 4: 3 5: 3 6: 1 7: 2 5
6 MapReduce podrobně 6
7 Příprava Definice zdrojových dat Split Pokud je soubor větší než 1 HDFS blok, splitne se na menší Podle rozmístění jednotlivých bloků naplánuje YARN optimálně, které nody spustí které joby Snaha o maximální lokálnost Snaha o eliminaci zbytečných transferů přes síť To všechno usnadňuje replikace dat v HDFS Pokud to ale povaha problému neumožňuje, lze zakázat splittování pak každý mapper zpracuje celý soubor. 7
8 Mapper <K1,V1> <K2,V2> Vstupní údaje mapuje na hodnoty typu klíč hodnota Vstupem je formálně také klíč hodnota Ale často nás klíč vůbec nezajímá! Je to třeba offset souboru Klíč se může libovolně opakovat, hodnota může být různá Data jsou na konci setříděna podle klíče (zpravidla, ne vždy) Typicky probíhá v mnoha paralelních jobech Každý soubor, resp. split je zpracován samostatným mapperem Výstup se zapisuje na lokální disk Ó, náhlý déšť již zvířil prach a čilá laň teď běží s houfcem gazel k úkrytům. 1: ó 1: a 1: k 1: s 3: laň 3: teď 3: již 4: déšť 5: běží... 8
9 Shuffle & Sort <K2,V2> <K2,LIST(V2)> Probíhá během/po skončení mapperů Vstupem jsou vygenerované soubory z mapperů Všechna data se stejným klíčem slije na jeden node Tj. musí data načíst z jednotlivých nodů (disková operace) Ale čte je jen z lokálních disků, nikoli z HDFS A pak musí data přenést (síť) Setřídí data podle klíče (merge) Optimalizace malá data pošle rovnou do reduceru, velká merguje na lokálním disku Typicky nejnáročnější operace 9
10 Reduce <K2,LIST(V2)> <K3,V3> Čte produkovaná pomocí Shuffle & Sort Redukuje list hodnot čtených z výstupy Shuffle & Sort Zpravidla je reducerů (řádově) méně než mapperů Počet lze definovat, default je 1 Každý reducer generuje 1 soubor do HDFS Výstup se nijak nesortuje 10
11 Combiner <K2,LIST(V2)> <K3,V3> Volitelná část zpracování mapperu Provádí reduce na straně mapperu Stejné rozhraní jako Reducer Proč použít combiner data jsou načtena v paměti, ušetří se IO operace čtení často je výstup menší než vstup, ušetří se IO operace zápis (a následné čtení) Nemá zpravidla smysl, pokud combiner generuje více dat než je jejich vstup Často lze použít stejný kód jako pro reducer! Anebo si lze napsat úplně vlastní 11
12 Partitioner Partitioner rozděluje data do několika partitions podle klíče podle hodnoty MapReduce zajišťuje, že jedna partition je zpracována jedním reducerem Defaultně počítá se hash klíče modulo počet reducerů to pro většinu případů znamená velmi rovnoměrné rozdělení do jednotlivých partitions Vlastní partitioner lze použít např. v případech, kdy chci znát nějaké specifické rozdělení (např. věkové kategorie) mám velmi nevyvážené klíče (jeden klíč se vyskytuje abnormálně často) problém celebrit 12
13 MapReduce podrobně 13
14 Třída úloh, které lze MapReduce zpracovat Metoda Rozděl a panuj Formální požadavky Každá MapReduce operace musí splňovat a) asociativitu, tj. (A B) C = A (B C) b) existenci neutrálního prvku, tj. A = A c) komutativita, tj. (A B) = (B A) [přísně vzato není povinná] Proč a) neovlivníme pořadí vykonávaných operací b) node, který nemá výstup/nezpracovává data, neovlivní výsledek c) mapper/shuffle může změnit pořadí dat komutativita umožňuje použít combiner 14
15 Příklady vhodné úlohy Školní úlohy počet slov v textu četnost slov Praktičtější úlohy reporting načítání řady dílčích výsledků (prodeje) podle klienta produktu lokality řazení dat (sortování) výpis pořadí např. prodávaných výrobků podle prodaných kusů filtrování dat validace hledání distinktních hodnot (SELECT DISTINCT a FROM t) extrakce snímků z videa 15
16 Příklady nevhodné úlohy Medián nesplňuje asociativitu Průměr nesplňuje asociativitu Násobení matic nesplňuje komutativitu ALE: Úlohy lze vhodně přeformulovat! 16
17 Průměr Split 1 Split 2 Combiner spočítat průměr Výstup mapperu SPLIT1: SPLIT2: Výstup reduceru AVG: Combiner spočítat průměr a počet Výstup mapperu SPLIT1: :3 SPLIT2:214.25:4 Výstup reduceru AVG:
18 Java API
19 Java API příklad Zajímá nás četnost výskytu jednotlivých slov v textu 19
20 Java API - Mapper 20
21 Java API Reducer 21
22 Java API Driver 22
23 Java API Combiner Lze provést optimalizaci velmi snadným způsobem: job.setcombinerclass(mrreducer.class); Combiner je použit stejný jako Reducer! Ale pozor, toto neplatí vždy! Výrazně se omezí množství přenášených dat 23
24 Java API další možnosti Map a Reduce probíhají záznam po záznamu Je možné také spustit kód při inicializaci a ukončení celého procesu Podobné pro Mapper i Reducer setup() spustí se jedenkrát při inicializaci jobu typicky si zde načtu data z cache cleanup() typicky uvolnění externích zdrojů (zavření souborů atd.) 24
25 Jak pustit MapReduce program? 1. Zkompilovat zdrojové kódy do JAR 2. Spustit příkaz hadoop jar wc.jar eu.profinit.hadoop.mrdriver /data/capek /data/vystup 3. Výstup 17/03/21 14:50:46 INFO mapred.localjobrunner: Starting task: attempt_local _0001_m_000003_0 17/03/21 14:50:46 INFO output.fileoutputcommitter: File Output Committer Algorithm version is 1 17/03/21 14:50:46 INFO mapred.task: Using ResourceCalculatorProcessTree : [ ] 17/03/21 14:50:46 INFO mapred.maptask: Processing split: hdfs://localhost/data/capek/karel_capek- -Povidky_z_druhe_kapsy.txt: /03/21 14:50:46 INFO mapred.maptask: (EQUATOR) 0 kvi ( ) 17/03/21 14:50:46 INFO mapred.maptask: mapreduce.task.io.sort.mb: /03/21 14:50:46 INFO mapred.maptask: soft limit at /03/21 14:50:46 INFO mapred.maptask: bufstart = 0; bufvoid = /03/21 14:50:46 INFO mapred.maptask: kvstart = ; length = /03/21 14:50:46 INFO mapred.maptask: Map output collector class = org.apache.hadoop.mapred.maptask$mapoutputbuffer 17/03/21 14:50:46 INFO mapred.localjobrunner: 17/03/21 14:50:46 INFO mapred.maptask: Starting flush of map output 17/03/21 14:50:46 INFO mapred.maptask: Spilling map output 17/03/21 14:50:46 INFO mapred.maptask: bufstart = 0; bufend = ; bufvoid = /03/21 14:50:46 INFO mapred.maptask: kvstart = ( ); kvend = ( ); length = 78845/ /03/21 14:50:46 INFO mapreduce.job: map 30% reduce 0% 17/03/21 14:50:46 INFO mapred.maptask: Finished spill 0 17/03/21 14:50:46 INFO mapred.task: Task:attempt_local _0001_m_000003_0 is done. And is in the process of committing 17/03/21 14:50:46 INFO mapred.localjobrunner: map 17/03/21 14:50:46 INFO mapred.task: Task 'attempt_local _0001_m_000003_0' done. 25
26 Co je výstupem programu? capek_new]$ hadoop fs -ls /data/vystup Found 5 items -rw-r--r-- 3 cloudera supergroup :50 /data/vystup/_success -rw-r--r-- 3 cloudera supergroup :50 /data/vystup/part-r rw-r--r-- 3 cloudera supergroup :50 /data/vystup/part-r rw-r--r-- 3 cloudera supergroup :50 /data/vystup/part-r rw-r--r-- 3 cloudera supergroup :50 /data/vystup/part-r [cloudera@quickstart capek_new]$ hadoop fs -cat /data/vystup/part-r head -n 20 *TROMS; ; ;1 ABECEDU;1 ABELIÍ;1 ABOVARIO:;1 ABOVO;1 ABSOLUTISM;5 ABSOLUTISMEM;1 ABSOLUTISTICKÝ;1 ABSOLUTISTIČTÍ;1 ABSOLUTISTŮ;1 ABSOLUTNOSTI;1 ABSOLUTNÍM;1 ABSOLVOVAT;1 ABSTRAKTNÍCH;2 ABSURDUM;1 ABYCHOM;72 ACERJAPONICUM;1 ACETYLSALICYLAZID;1 26
27 Příklady
28 SQL Hive jako tradiční dotazovací nástroj používá MapReduce. Jak? SELECT COUNT(*) FROM SOME_TABLE; MAP pro každý řádek zapíšeme stejný klíč a číslo 1 row 1 REDUCE jeden jeden klíč! na výstup zapíšeme počet (nebo sumu) hodnot ke klíči row count
29 SQL SELECT COUNT(*), NAME FROM SOME_TABLE WHERE COUNTRY= CZ GROUP BY NAME HAVING COUNT(*) > 100; MAP přeskočíme všechny záznamy, které nemají CZ pro každý řádek zapíšeme stejný klíč NAME hodnota bude 1 Novak 1 Sladek 1 REDUCE tolik klíčů, kolik máme jmen! spočítáme ke každému klíči počet (nebo sumu) hodnot ke klíč na výstup zapíšeme, jen ty, které jsou větší než 100 Novak 654 Sladek
30 Joinování SELECT S.SALES, S.YEAR, C.NAME FROM ALL_SALES S JOIN ALL_CUSTOMER C ON S.CUST_ID = C.CUST_ID Map-side join mapování probíhá na straně mapperu zpravidla vyžaduje přepřipravit data není třeba přenášet mnoho dat do reduceru Reduce-side join jednodušší na zápis ale méně efektivní MapReduce driver je třeba spustit 2 mappery pro každou tabulku MultipleInputs.addInputPath(job, salesinputpath, TextInputFormat.class, SalesMapper.class); MultipleInputs.addInputPath(job, custinputpath, TextInputFormat.class, CustMapper.class); 30
31 Reduce-side join MAP - CustMapper na výstupu je klíč joinovací atribut (CUST_ID) hodnota na výstupu je identifikace tabulky a NAME ID447:CustMapper:Novak Jaroslav MAP SalesMapper na výstupu je klíč joinovací atribut (CUST_ID) hodnota na výstupu je identifikace tabulky a SALES a YEAR ID447:SalesMapper:254122:2016 REDUCE Iterace přes prvky values Pro každý klíč dostanu (patrně) jeden záznam z CustMapper a několik ze SalesMapper ID447:SalesMapper:254122:2016:Novak Jaroslav 31
32 Map-side join Typicky druhý soubor je výrazně menší a vejde se do paměti Použití DistributedCache MAP v metodě setup() načtení hodnot z DistributedCache do paměti (třeba HashMap pro rychlý přístup) v samotné metodě map() načítám data z většího souboru a dohledávám k němu údaje v lokální cache REDUCE nic zvláštního 32
33 Co je MapReduce algoritmus? Řada složitých algoritmů si nevystačí se zpracováním v jednom běhu MapReduce. Typické je řetězení jeden program vytvoří/připraví výstup do dočasného úložiště následující program načte data z dočasného úložiště jako vstup Není nutné řetězit celé MapReduce programy, je možné řetězit jen několik mapperů pracujícími nad týmiž daty pracují ve stejném JVM odpadá režie s inicializací VM typicky filtry, validace 33
34 Příklad na řetězení SELECT S.SALES, S.YEAR, C.NAME FROM ALL_SALES S JOIN ALL_CUSTOMER C ON S.CUST_ID = C.CUST_ID ORDER BY NAME; Předpokládám použití Reduce-side join 1. MapReduce provede joinování 2. MapReduce klíč na výstupu mapperu bude NAME dojde k sortování podle klíče v reduceru pak změníme pořadí údajů na původní, ale dostaneme správně seřazený seznam 34
35 MapReduce shrnutí
36 Vlastnosti MapReduce Odladěná implementace Spolehlivé když ostatní nástroje padají, MapReduce jede Velmi malé požadavky na operační paměť v paměti se drží jen malé bloky slučování fragmentů probíhá merge sortem na discích Velmi četné zapisování na disk nicméně na HDFS je jenom finální vstup a výstup Často generuje násobky dočasných dat ve srovnáním z množství vstupních dat a často většinu dat musí zároveň uložit Toto je základní rys, zároveň silná i slabá stránka Tedy ve srovnání s jinými nástroji výrazně pomalejší 36
37 Slabé stránky Dlouhá doba, než se zpracování spustí desítky sekund až minuty Při startu se inicializuje nový proces, JVM, nahrávají se knihovny... a to se děje v mnoha instancích (na druhou stranu to separuje případné problémy do izolovaného procesu) Někdy složité na implementaci (mnoho knihoven) Mnoho konfigurací 37
38 Kdy použít MapReduce Tam, kde úloha umožňuje paralelizaci a lze ji převést na úlohu vhodnou pro MapReduce Při práci se skutečně velkými daty (petabajty) tak velká data se v paměti nedají uchovávat/zpracovat Při práci s výpočetně náročnými úlohami, kde se spíše data načítají než zapisují Když není čas kritický Stačí dávkové zpracování Když není dostatek paměti v clusteru 38
39 Kdy není vhodný MapReduce Tam, kde úlohu nelze paralelizovat a převést na MapReduce kompatibilní Je-li vyžadována okamžitá reakce i pro jednoduché úlohy trvá inicializace velmi dlouho Když je úkol malý 39
40 Kde se používá Kdekoli Zpracování velkého množství strukturovaných dat ETL HIVE Text mining Zpracování obrazu a videa Zkoumání lidského genomu Statistické modely Některé algoritmy strojového učení např. K-Means 40
41 Alternativy v Hadoop Apache Tez optimalizovaná verze MapReduce princip je podobný, stále se zapisují mezivýsledky na disk ale množství zápisů se optimalizuje, některé úkoly se slučují násobně zvyšuje rychlost a prostupnost dat 41
42 Alternativy v Hadoop Apache Spark příští přednáška podobné paradigma místo ukládání mezivýsledků na disk vše drží v paměti často řádové rozdíly ve výkonu vhodný i pro ad hoc analýzy Přijďte za 2 týdny a dozvíte se více! 42
43 Díky za pozornost Profinit EU, s.r.o. Tychonova 2, Praha 6 Telefon Web LinkedIn Twitter linkedin.com/company/profinit twitter.com/profinit_eu
Spark Jan Hučín 15. listopadu 2017
Spark Jan Hučín 15. listopadu 2017 Osnova 1. Co to je a k čemu slouží 2. Jak se to naučit 3. Jak se s tím pracuje 4. Jak to funguje Logický a technický pohled Transformace, akce, kešování Příklady Architektura
B0M33BDT Stream processing. Milan Kratochvíl
B0M33BDT Stream processing Milan Kratochvíl 13. prosinec 2017 Stream processing Průběžné zpracování trvalého toku zpráv Vstupní stream Message processor Stream processor Úložiště Stream processing Hlavní
Spark Jan Hučín 5. dubna 2017
Spark Jan Hučín 5. dubna 2017 Osnova 1. Co to je a k čemu slouží 2. Jak se to naučit 3. Jak se s tím pracuje 4. Jak to funguje Logický a technický pohled Transformace, akce, kešování Příklady Nadstavby
Spark SQL, Spark Streaming. Jan Hučín
Spark SQL, Spark Streaming Jan Hučín 21. listopadu 2018 Osnova 1. Spark SQL 2. Další rozšíření Sparku Spark streaming GraphX Spark ML 2 Spark SQL Spark SQL a DataFrames (DataSets) Rozšíření k tradičnímu
Spark SQL, Spark Streaming. Jan Hučín
Spark SQL, Spark Streaming Jan Hučín 22. listopadu 2017 Osnova 1. Spark SQL 2. Další rozšíření Sparku Spark streaming GraphX Spark ML 2 Spark SQL Spark SQL a DataFrames (DataSets) Rozšíření k tradičnímu
B0M33BDT Technologie pro velká data. Supercvičení SQL, Python, Linux
B0M33BDT Technologie pro velká data Supercvičení SQL, Python, Linux Sergej Stamenov, Jan Hučín 18. 10. 2017 Osnova cvičení Linux SQL Python 2 SQL pro uživatele aneb co potřebuje znát a umět bigdatový uživatel:
Hadoop a HDFS. Bc. Milan Nikl
3.12.2013 Hadoop a HDFS Bc. Milan Nikl Co je Hadoop: Open-Source Framework Vyvíjený Apache Software Foundation Pro ukládání a zpracovávání velkých objemů dat Big Data trojrozměrný růst dat (3V) Objem (Volume)
B0M33BDT Technologie pro velká data. Storage
B0M33BDT Technologie pro velká data Storage Milan Kratochvíl 24.10.2018 Motivace Jak efektivně ukládat data v Hadoop ekosystému? formát ukládání dat a jejich komprese možnost paralelně zpracovávat na mnoha
BigData. Marek Sušický
BigData Marek Sušický 28. Únoru 2017 Osnova Big data a Hadoop Na jakém hardware + sizing Jak vypadá cluster - architektura HDFS Distribuce Komponenty YARN, správa zdrojů 2 Big data neznamená Hadoop 3 Apache
Operační systémy 2: Zápočtové úkoly
Operační systémy 2: Zápočtové úkoly 18. listopad 2010 1 Paralelní Mergesort Implementujte paralelní verzi algoritmu Merge sort, který bude řadit celá čísla uložená v textovém souboru. Program bude mít
TimescaleDB. Pavel Stěhule 2018
TimescaleDB Pavel Stěhule 2018 O výkonu rozhodují Algoritmy Datové struktury 80-90 léta - vize univerzálních SQL databází Po roce 2000 - specializované databáze Relační SQL databáze Běžně optimalizována
MetaCentrum. datové služby. Miroslav Ruda, Zdeněk Šustr
MetaCentrum datové služby Miroslav Ruda, Zdeněk Šustr Agenda Národní gridová infrastruktura přehled služeb MetaCentra aktuální stav výpočetní grid cloudové prostředí MapReduce výpočty Národní gridová infrastruktura
B0M33BDT 7. přednáška Architektury a bezpečnost. Marek Sušický Milan Kratochvíl
B0M33BDT 7. přednáška Architektury a bezpečnost Marek Sušický Milan Kratochvíl 5. prosinec 2018 Osnova Něco ze života Architektury Hadoop Lambda Kappa Zetta Security a dopady do architektury 2 Jak vypadá
B0M33BDT Technologie pro velká data. Storage
B0M33BDT Technologie pro velká data Storage Milan Kratochvíl 25.10.2017 Motivace Jak efektivně ukládat data v Hadoop ekosystému? formát ukládání dat a jejich komprese možnost paralelně zpracovávat na mnoha
KIV/ZIS cvičení 5. Tomáš Potužák
KIV/ZIS cvičení 5 Tomáš Potužák Úvod do SQL (1) SQL (Structured Query Language) je standardizovaný strukturovaný dotazovací jazyk pro práci s databází Veškeré operace v databázi se dají provádět pomocí
Architektury databázových
Univerzita Pardubice Fakulta elektrotechniky a informatiky Semestrální práce na Architektury databázových systémů Matěj Trakal Poslední úprava: 8. listopadu 2010 INADS 2010 (Žák) OBSAH Obsah 1 Zadání 2
KIV/ZIS - SELECT, opakování
KIV/ZIS - SELECT, opakování soubor 4_databaze.accdb (lze použít ten z minula) http://home.zcu.cz/~krauz/zis/4_databaze.accdb minule: SELECT FROM WHERE ORDER BY SELECT sloupce jaké sloupce chceme vybrat
RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague
seminář: Administrace Oracle (NDBI013) LS2017/18 RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague Zvyšuje výkon databáze
Ukládání a vyhledávání XML dat
XML teorie a praxe značkovacích jazyků (4IZ238) Jirka Kosek Poslední modifikace: $Date: 2014/12/04 19:41:24 $ Obsah Ukládání XML dokumentů... 3 Ukládání XML do souborů... 4 Nativní XML databáze... 5 Ukládání
Uklízení odpadků a analýza úniku
Uklízení odpadků a analýza úniku Jiří Vokřínek Katedra počítačů Fakulta elektrotechnická Ceské vysoké ucení technické v Praze Prednáška 11 B0B36PJV Programování v JAVA Uklízení odpadků a analýza úniku
SQL SQL-SELECT. Informační a znalostní systémy. Informační a znalostní systémy SQL- SELECT
-SELECT Informační a znalostní systémy 1 - Structured Query Language norma pro dotazování nad relačními databáze díky přenositelnosti- rozmach relačních databází zahrnuje jak dotazování na data, tak změny
8.2 Používání a tvorba databází
8.2 Používání a tvorba databází Slide 1 8.2.1 Základní pojmy z oblasti relačních databází Slide 2 Databáze ~ Evidence lidí peněz věcí... výběry, výpisy, početní úkony Slide 3 Pojmy tabulka, pole, záznam
INDEXY JSOU GRUNT. Pavel Stěhule
INDEXY JSOU GRUNT Pavel Stěhule Indexy bez indexu čteme vše a zahazujeme nechtěné s indexem čteme pouze to co nás zajímá POZOR - indexy vedou k random IO, navíc se čtou dvě databázové relace (index a heap)
O Apache Derby detailněji. Hynek Mlnařík
O Apache Derby detailněji Hynek Mlnařík Agenda Historie Vlastnosti Architektura Budoucnost Historie 1997 Cloudscape Inc. - JBMS 1999 Informix Software, Inc. odkoupila Cloudscape, Inc. 2001 IBM odkoupila
Návod pro práci s SPSS
Návod pro práci s SPSS Návody pro práci s programem SPSS pro kurz Metodologie pro Informační studia a knihovnictví 2 (jaro 2013) Ladislava Zbiejczuk Suchá Instalace programu SPSS najdete v INETu. Po přihlášení
NSS - Cache 5. LECTURE MARTIN TOMASEK
NSS - Cache 5. LECTURE MARTIN TOMASEK Cache mechanismus 1. Lze využít k: 1. Optimalizaci výkonu systému 2. Snížení náročností jednotlivých operací 3. Snížení náročností na jednotlivé vrstvy 4. Mitigaci
Hadoop, Hive a Spark: Využití pro data mining. Václav Zeman, KIZI VŠE
Hadoop, Hive a Spark: Využití pro data mining Václav Zeman, KIZI VŠE VŠE: Katedra informačního a znalostního inženýrství Hlavní činnosti: Data Mining a Machine Learning Nástroje: LispMiner a EasyMiner
Struktura pamětí a procesů v DB Oracle. Radek Strnad
Struktura pamětí a procesů v DB Oracle Radek Strnad radek.strnad@gmail.com 1 Základní rozdělení paměti Software codes area Chráněná část spustitelného kódu samotné DB. System global area (SGA) Sdílená
Aplikace. vliv na to, jakou mají strukturu i na to, jak pracné je je vyvinout. Bylo vypozorováno, že aplikace je možné rozdělit do skupin
Aplikace Aplikace se liší tím, k jakému účelu jsou tvořeny. To má vliv na to, jakou mají strukturu i na to, jak pracné je je vyvinout. Bylo vypozorováno, že aplikace je možné rozdělit do skupin s podobnou
Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4.
Základy programování 4 - C# - 9. cvičení Radek Janoštík Univerzita Palackého v Olomouci 10.4.2017 Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4.2017 1 / 13 Reakce na
Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz
Databázové systémy Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Vývoj databázových systémů Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace 60.-70. léta Program Komunikace Výpočty
8. Zpracování dotazu. J. Zendulka: Databázové systémy 8 Zpracování dotazu 1
8. Zpracování dotazu 8.1. Podstata optimalizace zpracování dotazu... 2 8.2. Postup optimalizace zpracování dotazu... 3 8.2.1. Implementace spojení... 5 8.2.2. Využití statistik databáze k odhadu ceny dotazu...11
Implementace dávkových operací
Implementace dávkových operací Petr Steckovič 12. 5. 2011 Hradec Králové 1 Dávkové zpracování dat Procesy běžící na pozadí Spouštěné Časem Stavem (např. dochází místo) Ručně Obvykle se jedná o podpůrné
J. Zendulka: Databázové systémy 8 Zpracování dotazu Podstata optimalizace zpracování dotazu
8. Zpracování dotazu 8.1. Podstata optimalizace zpracování dotazu... 2 8.2. Postup optimalizace zpracování dotazu... 3 8.2.1. Implementace spojení... 5 8.2.2. Využití statistik databáze k odhadu ceny dotazu...11
UAI/612 - Cloudová Řešení. Technologie
UAI/612 - Cloudová Řešení Technologie Rekapitulace Multitenance Bezestavovost Škálovatelnost Cachování Bezpečnost Způsoby nasazení Datová úložiště SQL databáze NoSQL databáze Cloudová datová úložiště (API)
TSM for Virtual Environments Data Protection for VMware v6.3. Ondřej Bláha CEE+R Tivoli Storage Team Leader. TSM architektura. 2012 IBM Corporation
TSM for Virtual Environments Data Protection for VMware v6.3 Ondřej Bláha CEE+R Tivoli Storage Team Leader TSM architektura 2012 IBM Corporation Tradiční zálohování a obnova dat ze strany virtuálního stroje
Úvod do databázových systémů
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 3 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování 4 fáze vytváření
DJ2 rekurze v SQL. slajdy k přednášce NDBI001. Jaroslav Pokorný
DJ2 rekurze v SQL slajdy k přednášce NDBI001 Jaroslav Pokorný 1 Obsah 1. Úvod 2. Tvorba rekurzívních dotazů 3. Počítaní v rekurzi 4. Rekurzívní vyhledávání 5. Logické hierarchie 6. Zastavení rekurze 7.
RELAČNÍ DATABÁZOVÉ SYSTÉMY
RELAČNÍ DATABÁZOVÉ SYSTÉMY VÝPIS KONTROLNÍCH OTÁZEK S ODPOVĚDMI: Základní pojmy databázové technologie: 1. Uveďte základní aspekty pro vymezení jednotlivých přístupů ke zpracování hromadných dat: Pro vymezení
Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012
Přednáška Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského
Hardware - komponenty počítačů Von Neumannova koncepce počítače. Von Neumannova koncepce počítače
V roce 1945 vystoupil na přednášce v USA matematik John von Neumann a představil architekturu samočinného univerzálního počítače (von Neumannova koncepce/schéma/architektura). Základy této koncepce se
UJO Framework. revoluční architektura beans. verze 0.80 http://ujoframework.org/
UJO Framework revoluční architektura beans verze 0.80 http://ujoframework.org/ Pavel Pone(c), září 2008 Historie rok 2004 upravené objekty z frameworku Cayenne nevýhodou byla špatná typová kontrola rok
Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů
Tvorba informačních systémů 1/18 Tvorba informačních systémů Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2008/2009 Tvorba informačních systémů 2/18 Úvod
BIG DATA je oveľa viac ako Hadoop. Martin Pavlík
BIG DATA je oveľa viac ako Hadoop Martin Pavlík Analýza všech dostupných dat? Big data =? = Buzzword? = Hadoop? Hadoop Jen ke zpracování nestrukturovaných dat? Mentální posun něco za něco 2 Big data =
Optimalizace plnění a aktualizace velkých tabulek. Milan Rafaj, IBM
Optimalizace plnění a aktualizace velkých tabulek Milan Rafaj, IBM Agenda OLTP vs DSS zpracování Optimalizace INSERT operací Optimalizace DELETE operací Optimalizace UPDATE operací Zdroje Dotazy OLTP vs
Bootkity v teorii a praxi. Martin Dráb martin.drab@email.cz Http://www.jadro-windows.cz
Bootkity v teorii a praxi Martin Dráb martin.drab@email.cz Http://www.jadro-windows.cz Definice Pod pojmem bootkit budeme rozumět software, který začíná být aktivní během procesu startu počítače ještě
Maturitní otázky z předmětu PROGRAMOVÁNÍ
Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti
Mezipaměti počítače. L2 cache. L3 cache
Mezipaměti počítače Cache paměť - mezipaměť Hlavní paměť procesoru je typu DRAM a je pomalá. Proto se mezi pomalou hlavní paměť a procesor vkládá menší, ale rychlá vyrovnávací (cache) paměť SRAM. Rychlost
Operátory ROLLUP a CUBE
Operátory ROLLUP a CUBE Dotazovací jazyky, 2009 Marek Polák Martin Chytil Osnova přednášky o Analýza dat o Agregační funkce o GROUP BY a jeho problémy o Speciální hodnotový typ ALL o Operátor CUBE o Operátor
Systém souborů (file system, FS)
UNIX systém souborů (file system) 1 Systém souborů (file system, FS)! slouží k uchování dat na vnějším paměťovém médiu a zajišťuje přístup ke struktuře dat! pro uživatele možnost ukládat data a opět je
Úvod do databázových systémů
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 5 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování K čemu se používají
Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21
Stručný obsah 1. Hardware, procesory a vlákna... 19 2. Programování s ohledemna výkon... 45 3. Identifikování příležitostí pro paralelizmus... 93 4. Synchronizace a sdílení dat... 123 5. Vlákna v rozhraní
SQL - trigger, Databázové modelování
6. přednáška z předmětu Datové struktury a databáze (DSD) Ústav nových technologií a aplikované informatiky Fakulta mechatroniky, informatiky a mezioborových studií Technická univerzita v Liberci jan.lisal@tul.cz
Vyhodnocování dotazů slajdy k přednášce NDBI001. Jaroslav Pokorný MFF UK, Praha
Vyhodnocování dotazů slajdy k přednášce NDBI001 Jaroslav Pokorný MFF UK, Praha pokorny@ksi.mff.cuni.cz Časová a prostorová složitost Jako dlouho trvá dotaz? CPU (cena je malá; snižuje se; těžko odhadnutelná)
Obecné výpočty na GPU v jazyce CUDA. Jiří Filipovič
Obecné výpočty na GPU v jazyce CUDA Jiří Filipovič Obsah přednášky motivace architektura GPU CUDA programovací model jaké algoritmy urychlovat na GPU? optimalizace Motivace Moorův zákon stále platí pro
Přehledy pro Tabulky Hlavním smyslem této nové agendy je jednoduché řazení, filtrování a seskupování dle libovolných sloupců.
Přehledy pro Tabulky V programu CONTACT Professional 5 naleznete u firem, osob a obchodních případů záložku Tabulka. Tuto záložku lze rozmnožit, přejmenovat a sloupce je možné definovat dle vlastních požadavků
Databáze. Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu. Bedřich Košata
Databáze Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu Bedřich Košata K čemu jsou databáze Ukládání dat ve strukturované podobě Možnost ukládat velké množství dat
1 Webový server, instalace PHP a MySQL 13
Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského
KIV/ZIS - SQL dotazy. stáhnout soubor ZIS- 04_TestovaciDatabaze250312.accdb. SQL dotazy. budeme probírat pouze SELECT
KIV/ZIS - SQL dotazy stáhnout soubor ZIS- 04_TestovaciDatabaze250312.accdb SQL dotazy textové příkazy pro získání nebo manipulaci s daty SELECT - výběr/výpis INSERT - vložení UPDATE - úprava DELETE - smazání
Paralelní a distribuované výpočty (B4B36PDV)
Paralelní a distribuované výpočty (B4B36PDV) Branislav Bošanský, Michal Jakob bosansky@fel.cvut.cz Artificial Intelligence Center Department of Computer Science Faculty of Electrical Engineering Czech
Provoz Počet zaměstnanců Průměrná nemocnost hod/osoba/rok
PŘIJÍMACÍ TEST z informatiky a matematiky pro navazující magisterské studium Fakulta informatiky a managementu Univerzity Hradec Králové Registrační číslo Hodnocení část A Hodnocení část B Hodnocení A+B
Základy informatiky. 08 Databázové systémy. Daniela Szturcová
Základy informatiky 08 Databázové systémy Daniela Szturcová Problém zpracování dat Důvodem je potřeba zpracovat velké množství dat - evidovat údaje o nějaké skutečnosti. o skupině lidí (zaměstnanců, studentů,
Paralelní výpočty ve finančnictví
Paralelní výpočty ve finančnictví Jan Houška HUMUSOFT s.r.o. houska@humusoft.cz Výpočetně náročné úlohy distribuované úlohy mnoho relativně nezávislých úloh snížení zatížení klientské pracovní stanice
09. Memory management. ZOS 2006, L.Pešička
09. Memory management ZOS 2006, L.Pešička Správa paměti paměťová pyramida absolutní adresa relativní adresa počet bytů od absolutní adresy fyzický prostor adres fyzicky k dispozici výpočetnímu systému
Úvod do databázových systémů
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky Database Research Group Úvod do databázových systémů Cvičení 3 Ing. Petr Lukáš petr.lukas@vsb.cz
SUPERPOČÍTAČE DANIEL LANGR ČVUT FIT / VZLÚ
SUPERPOČÍTAČE DANIEL LANGR ČVUT FIT / VZLÚ TITAN / HOPPER / NOTEBOOK TITAN HOPPER NOTEBOOK Počet CPU jader 299 008 153 216 2 Operační paměť [GB] 598 016 217 000 8 Počet GPU (CUDA) jader 50 233 344 0 8
Jazyk S Q L základy, příkazy pro práci s daty
Jazyk S Q L základy, příkazy pro práci s daty Základní pojmy jazyk množina řetězců nad abecedou gramatika popisuje syntaxi výrazů jazyka pravidla, jak vytvářet platné řetězce jazyka. dotazovací jazyk je
Databáze SQL SELECT. David Hoksza http://siret.cz/hoksza
Databáze SQL SELECT David Hoksza http://siret.cz/hoksza Osnova Úvod do SQL Základní dotazování v SQL Cvičení základní dotazování v SQL Structured Query Language (SQL) SQL napodobuje jednoduché anglické
Konzistentnost. Přednášky z distribuovaných systémů
Konzistentnost Přednášky z distribuovaných systémů Pro a proti replikaci 1. Zvýšení spolehlivosti. 2. Zvýšení výkonnosti. 3. Nutnost zachování škálovatelnosti systému co do počtu komponent i geografické
Vstupně výstupní moduly. 13.přednáška
Vstupně výstupní moduly 13.přednáška Vstupně-výstupn výstupní modul (I/O modul) Přídavná zařízení sloužící ke vstupu a výstupu dat nebo k uchovávání a archivaci dat Nejsou připojována ke sběrnici přímo,
Úvod. Programovací paradigmata
.. Úvod. Programovací paradigmata Programovací techniky doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Cíl: programování efektivně a bezpečně Programovací techniky
Monitoring SQL Server, Resource Governor, Tracing SQL Server
Monitoring SQL Server, Resource Governor, Tracing SQL Server 1. Monitoring Monitoring cíl Zrychlení odezvy. Hledání úzkého hrdla. Identifikace často prováděných dotazů. Úprava dotazu, změna indexu, Sledování
Matematika v programovacích
Matematika v programovacích jazycích Pavla Kabelíková am.vsb.cz/kabelikova pavla.kabelikova@vsb.cz Úvodní diskuze Otázky: Jaké programovací jazyky znáte? S jakými programovacími jazyky jste již pracovali?
Management procesu I Mgr. Josef Horálek
Management procesu I Mgr. Josef Horálek Procesy = Starší počítače umožňovaly spouštět pouze jeden program. Tento program plně využíval OS i všechny systémové zdroje. Současné počítače umožňují běh více
Paralelní dotazy v PostgreSQL 9.6 (a 10.0)
Paralelní dotazy v PostgreSQL 9.6 (a 10.0) Tomáš Vondra tomas.vondra@2ndquadrant.com Prague PostgreSQL Developer Day 16. února, 2017 Agenda spojení vs. procesy v PostgreSQL využití zdrojů výhody, nevýhody,
Paměťový podsystém počítače
Paměťový podsystém počítače typy pamětových systémů počítače virtuální paměť stránkování segmentace rychlá vyrovnávací paměť 30.1.2013 O. Novák: CIE6 1 Organizace paměťového systému počítače Paměťová hierarchie...
Instalace. Produkt je odzkoušen pro MS SQL server 2008 a Windows XP a Windows 7. Pro jiné verze SQL server a Windows nebyl testován.
Instalace Produkt se neinstaluje. Stačí soubor uložit na libovolné místo na Vašem počítací (klikněte pravým tlačítkem a dejte 'uložit cíl jako ), pak jen spustit. Požadavky na software Produkt je odzkoušen
Vstupní požadavky, doporučení a metodické pokyny
Název modulu: Základy PHP Označení: C9 Stručná charakteristika modulu Modul je orientován na tvorbu dynamických stánek aktualizovaných podle kontextu volání. Jazyk PHP umožňuje velmi jednoduchým způsobem
Přehled systému Microsoft SQL Server. Komu je kniha určena Struktura knihy Nejvhodnější výchozí bod pro čtení knihy Konvence a struktura knihy
Komu je kniha určena Struktura knihy Nejvhodnější výchozí bod pro čtení knihy Konvence a struktura knihy Konvence Další prvky Požadavky na systém Ukázkové databáze Ukázky kódu Použití ukázek kódu Další
Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek
Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek = Velmi malé jádro = implementuje jen vybrané základní mechanismy: = virtuální paměť; = plánování vláken; = obsluha výjimek; = zasílání
Náplň. v.0.03 16.02.2014. - Jednoduché příklady na práci s poli v C - Vlastnosti třídění - Způsoby (algoritmy) třídění
Náplň v.0.03 16.02.2014 - Jednoduché příklady na práci s poli v C - Vlastnosti třídění - Způsoby (algoritmy) třídění Spojení dvou samostatně setříděných polí void Spoj(double apole1[], int adelka1, double
Tvorba informačních systémů
Tvorba informačních systémů Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2006/2007 c 2006 2008 Michal Krátký Tvorba informačních systémů 1/17 Úvod XML
Analýza a modelování dat 6. přednáška. Helena Palovská
Analýza a modelování dat 6. přednáška Helena Palovská Historie databázových modelů Jak je řešena temporalita? Temporalita v databázích Možnosti pro platnost faktu (valid time): platí nyní, je to aktuální
Technické informace. PA152,Implementace databázových systémů 4 / 25. Projekty. pary/pa152/ Pavel Rychlý
Technické informace PA152 Implementace databázových systémů Pavel Rychlý pary@fi.muni.cz Laboratoř zpracování přirozeného jazyka http://www.fi.muni.cz/nlp/ http://www.fi.muni.cz/ pary/pa152/ přednáška
Čteme EXPLAIN. CSPUG, Praha. Tomáš Vondra (tv@fuzzy.cz) 21.6.2011. Czech and Slovak PostgreSQL Users Group
Čteme EXPLAIN CSPUG, Praha Tomáš Vondra (tv@fuzzy.cz) Czech and Slovak PostgreSQL Users Group 21.6.2011 Agenda K čemu slouží EXPLAIN a EXPLAIN ANALYZE? Jak funguje plánování, jak se vybírá optimální plán?
63. ročník Matematické olympiády 2013/2014
63. ročník Matematické olympiády 2013/2014 Úlohy ústředního kola kategorie P 2. soutěžní den Na řešení úloh máte 4,5 hodiny čistého času. Při soutěži je zakázáno používat jakékoliv pomůcky kromě psacích
Experimentální systém pro WEB IR
Experimentální systém pro WEB IR Jiří Vraný Školitel: Doc. RNDr. Pavel Satrapa PhD. Problematika disertační práce velmi stručný úvod WEB IR information retrieval from WWW, vyhledávání na webu Vzhledem
Open Source projekty pro Big Data
Open Source projekty pro Big Data Leo Galamboš LG@HQ.EGOTHOR.ORG Řešení pro velká data Oblasti 1. ukládání dat 2. zpracování dat 3. analýza dat (Dobrá zpráva) OSS řešení nyní pokrývají všechny oblasti
Princip funkce počítače
Princip funkce počítače Princip funkce počítače prvotní úlohou počítačů bylo zrychlit provádění matematických výpočtů první počítače kopírovaly obvyklý postup manuálního provádění výpočtů pokyny pro zpracování
KRY. Projekt č. 2. Kamil Dudka xdudka00
KRY Projekt č. 2 Kamil Dudka xdudka00 1 Úvod Úkolem bylo vytvořit program, který do určeného obrázku umí schovat text a tento text z obrázku později vytáhnout. Schovaný text měl být zabezpečený pomocí
CSPUG 2011-květen. GridSQL a pg-pool II. Vratislav Beneš benes@optisolutions.cz
GridSQL a pg-pool II Vratislav Beneš benes@optisolutions.cz Agenda 1. Datové sklady a datová tržiště 2. pg-pool II 1. Infrastrukutra 2. Využití pro datové sklady 3. GridSQL 1. Infrastuktura 2. Vytvoření
Práce se soubory. Základy programování 2 Tomáš Kühr
Práce se soubory Základy programování 2 Tomáš Kühr Soubory z pohledu C Soubor zjednodušeně chápeme jako posloupnost bytů uložených někde na disku Datový proud (anglicky stream) Ještě obecnější přístup
Činnost počítače po zapnutí
Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/03.0009 Činnost počítače po zapnutí Paměť RWM(Read Write Memory - paměť pro čtení a zápis, označovaná také jako RAM)
1 Uživatelská dokumentace
1 Uživatelská dokumentace Systém pro závodění aut řízených umělou inteligencí je zaměřen na závodění aut v prostředí internetu. Kromě toho umožňuje testovat jednotlivé řidiče bez nutnosti vytvářet závod
Použití databází na Webu
4IZ228 tvorba webových stránek a aplikací Jirka Kosek Poslední modifikace: $Date: 2010/11/18 11:33:52 $ Obsah Co nás čeká... 3 Architektura webových databázových aplikací... 4 K čemu se používají databázové
Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek
5 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Jazyk SQL, Spojení tabulek, agregační dotazy, jednoduché a složené
1 Osobní počítač Obecně o počítačích Technické a programové vybavení... 4
1 Osobní počítač... 2 1.1 Architektura IBM PC... 2 2 Obecně o počítačích... 3 2.1 Co jsou počítače dnes... 3 3 Technické a programové vybavení... 4 3.1 Hardware... 4 3.1.1 Procesor... 4 3.1.2 Sběrnice...
Systém adresace paměti
Systém adresace paměti Základní pojmy Adresa fyzická - adresa, která je přenesena na adresní sběrnici a fyzicky adresuje hlavní paměť logická - adresa, kterou má k dispozici proces k adresaci přiděleného