Dotazovanie nad data streams. Juraj Hámorník, Jan Pešek

Rozměr: px
Začít zobrazení ze stránky:

Download "Dotazovanie nad data streams. Juraj Hámorník, Jan Pešek"

Transkript

1 Dotazovanie nad data streams Juraj Hámorník, Jan Pešek

2 Data stream - Monitor siete kde každý sieťový prvok posiela štatistiku - Dopravná situácia...

3 Data stream model - všetky alebo niektoré dáta niesú uložené a prístupné cez random access z disku alebo pamäti - data prichádzajú v podobe 1 alebo viacerých data streamov.

4 Data stream model -rozdiel medzi data stream modelom a stored relation modelom: Data elementy prichádzajú online Systém nemá kontrolu nad poradím príchodu dát Data stream možu mať neobmedzenú velkosť Data element môže byť po spracovaní: zahodený alebo archivovaný, tažko ho spracovať znovu.

5 Data stream model -Spracovávanie nevyžaduje výskyt nejakých dát v uložených v tradyčnom DS -Data stream dotazy môžu joinovať ako aj medzi data stream tak aj medzi uloženými dátami. - Ďalej budeme uvažovať, že uložené dáta budú statické

6 Data stream model

7 Data stream dotazy -podobné ako dotazovanie nad tradičnými databázami Sú tu ale 2 rozdiely medzi : jednorázové dotazy / nepretržité dotazy vopred definované dotazy / ad hoc dotazy

8 Data stream jednorázové dotazy -jednorázové dotazy sú trieda dotazov, ktoré zahŕňajú tradičné DBMS dotazy - vyhodnocujú sa raz za čas nad snapshotom dát, odpoveď je vrátená uživatelovi

9 Data stream nepretržité dotazy -odpoveď nad nepretržitými dotazmi ( continuos queries ) je tvoréná v priebehu času. -vždy odráža prúdiaci data stream -výsledok môže byť uložený, alebo môže taktiež produkovať data stream

10 Data stream preddefinované dotazy -preddefinované dotazy sú poskytované data stream managment systmémom -sú dostupné aj pred príchodom akýchkoľvek dát -sú to spravidla nepretržité dotazy - napr(ibm) : Process details Process specification Process statistics Resource definition specification Resource specification

11 Data stream Ad hoc queries -spúštajú sa až keď data stream započne -môžu byť rovnako jednorázové dotazy ako nepretržité dotazy - znepríjemnujú prácu data stream managment systému -niesú známe predom pre optimalizáciu -výsledok dotazu môže vyžadovať dáta, ktoré už prišli neskôr a už sú zmazané

12 Data stream : príklady použitia Traderbot - webový finančný vyhladávací engine ( :( ) ipolicynetwork firewall support a detekcie nad multi gigabitovimy sietami ( :( )

13 Data stream príklady použitia - network traffic systém veľkej siete - velký počet datastreamov ( packet trace, výkon siete ) - typicky sa používa systém na to navrhnutý, ktorý spúšta jednoduché dotazy alebo sa dotazujú offline logy

14 Data stream príklady použitia - sieť zákazníka ( C ) customer ----> isp - backbone ( B ) isp < > isp src: Ip adresa odosielatela dest: Ip adresa príjmatela id: uniq paketu len : dlžka paketu time: kedy bola nahraná hlavička

15 Data stream príklady použitia - výpočet zaťaženia na linke B priemerne cez jednu minútu. Q: SELECT notifyoperator(sum(len)) FROM GROUP BY getminute(time) HAVING sum(len) cez trigery by to šlo.. ale neefektívne

16 Data stream príklady použitia - izoluje tok na backbone a zistí trafik každého prúdu ( sekvencia dát od rovnakych send -rcv ) Q: SELECT flowid, src, dest, sum(len) AS flowlen FROM ( SELECT src, dest, len, time FROM B ORDER BY time ) GROUP BY src, dest, getflowid(src, dest, time) AS flowid

17 Data stream príklady použitia -Q2 : obtiažne použit klasické techniki pre prítomnosť GROUP BY a ORDER BY - nastalo by blokovanie pri exekučnom pláne

18 Data stream príklady použitia Ad hoc nepretržité Q3: (SELECT count (*) FROM C, B WHERE C.src = B.src and C.dest = B.dest and C.id = B.id) (SELECT count (*) FROM ) - join medzi streamamy B a C - výsledok je počet spoločných paketov - problemý z nekonečným priestorom ( meobmedzeny delay medzi paketmi ) -riešenie udrziavať konečnú pamäť spojenia streamov - spájať dvojice len v určitom časovom okne

19 Data stream príklady použitia nepretržité - monitorovanie párov ( odosielatel - prijemca ) v top 5% backbone traffic. Q: WITH Load AS (SELECT src, dest, sum(len) AS traffic FROM B GROUP BY src, dest) SELECT src, dest, traffic FROM Load AS L1 WHERE (SELECT ORDER BY traffic (SELECT count(*) FROM Load AS L2 WHERE L2.traffic < L1.traffic) >! count(*) FROM Load)

20 Dotazy nad Data streams - dotazy nad data stremom so sebou nesú špecifické problemy Požiadavok na neobmedzenú pamäť Približná odpoveď dotazu Pohiblivé okno dát Dávkové spracovanie Samplovanie Synopses

21 - pre možnú neobmedzenosť data stremu aj priestor na vyhodnotenie dotazu môže neobmedzený - algoritmy na operácie v externej pamäti niesú veľmi dobré na nepretržité dotazy a sú príliš pomalé na real-time respons aplikácie - dotazuje sa nad velkými objemami dát ktoré prichádzajú často aj keď staré ešte spracúvame - latencia algoritmov (aj hw) musí byť nízka Data stream neobmedzená pamäť

22 Data stream neobmedzená pamäť - in memory computing - možnosť rozlišovať dotazy ktoré môžme ohraničit pamäťov a dotazov ktoré musíme approximať ( ak nie je dovolený prístup na disk) - pokus odhadnuť dopredu na základe dotazu jeho požiadavky => neúspešne - otvorený výskumný problém :)

23 Dotazy: približné odpovede - bez neobmedzenej pamäti nemôžme poskytnúť niekedy presné odpovede - je možné výsledok odhadnúť s vysokou presnosťou - zaoberajú sa ňou techniky sketches, random sampling, histograms, wavelet - napr : na histograme založená technika na korelaciu agregovanych dotazov nad data stream

24 Dotazy : Sliding Windows - nedotazovať sa nad celou históriou data streamu - dotazovať sa len nad nedávnou históriou - jednoduché a prirodzené riešenie ktoré sa dá chápať - deterministické - zdôraznuje nedávne dáta, ktoré sú pre real aplikácie najpodstatnejšie - niekedy zastúpi celý dotaz namiesto len

25 Dotazy : Sliding Windows - problémy s označovaním timestamps nad data streamom - rozšíriť SQL alebo relačnú algerbu na sliding window - impelentácia a optimalizácia dotazu je neprebádaná oblasť - nepreskúmané algoritmi, kde sa ani sliding window nevojde do pamäte

26 Dotazy : Sliding Windows - temporárne databázy je primárne na plnú históriu / data stream system je primárne na nové dáta za behu - sekvenčné databázy sa snažia produkovať stream acces ( jeden scan je dostatočný na zistenie plnánu a zdrojov ) tento model predpokladá kontrolou nad poradím dát ( nemožno garantovať v data streame)

27 Batch Sampling Synopses - nespracúvať každú časť dát ale vybrať si - predpokladajme že odpoveďou na dotaz je dátová štruktúra ktorú môžme spravovať postupne - update ( tuple ) - computeanswer() - obe sú relatívne rýchle voči príchodu dát - príde prvok, updatneme štruktúru, vypočítame nový výsledok

28 Batch Processing - update je rýchly / computeanswer je pomalý - prirodzene je spracúvať výsledok v dávkach - namiesto online výsledku spracujeme výsledok periodicky raz za čas - odpoveď je približná nie pre výsledok, ale že nemusí byť presná v aktuálny čas - dobrá metóda na data bursty - algoritmy ktoré nezvládajú peaky môžu bufferovať a počítať v pomalých periódach

29 Sampling - update pomalý / computeanswer rýchli - nemôžme spracovávať všetky dáta = niečo musíme preskočiť - výsledok je vyhodnotený len nad samplom dát - máme približný výsledok, ale občas môžeme stanoviť hranice chyby pri samplovaní - naneštastie pre dotazy s joinom nám sampling nedáva uspokojivé výsledky

30 Synopsis Data Structures - update je rýchli / computeanswer je rýchli - môžme použiť štruktúru ktorá si zachováva synpsis alebo skicu dát namiesto presnej reprezentácie dát - schopnosť uchovať čo najmenší objem dát potrebných na výpočet

31 Blocking Operators - blokovací operátor dotazu - znemožní vyhodnocovanie až kým nedorazia posledné dáta - agregačné operátory ( SUM, COUNT MAX..) - pri nekonečných data streamoch sa nedočkáme výsledku - problémy pri zaradení takýchto operátorov do tradičných stromov dotazu

32 Blocking Operators - keď je bloking operátor v koreni a produkuje malú doménu hodnôt - môže odpovedat v podobe streamu - v prípade usporiadania je výhodné mať výsledok v podobe "aktuálnej čiastočnej" odpovede - v prípade hlbšieho umiestnenia v strome dotazu môžu na ňom závislé dotazy vracat neuspokojivé odpovede v čase kým niesu dostupné všetky dáta

33 Blocking Operators - nahradit bloking operátor nie bloking operátorom, ktorý aproximuje výsledok - sort === juggle operator, lokálne preusporiada dáta - iný prístup je rozlišovať je anotovať data streamy "punctuations" - napr "daynumber >= 10" => do výsledku môžu íst už všetky menšie daynumber

34 Queries Referencing Past Data - v data stream modely :čo bolo streamované, nemôže byť znovu použité - niektoré ad hoc dotazy závislé na dátach, ktoré sme už zahodili nedosiahnu presný výsledok - ad hoc dotazy budú môcť sa dotazovať len na budúce dáta - veľmi omedzujúce pravidlo, ale funguje

35 Queries Referencing Past Data - výhoda pri dlho bežiacich dotazoch je možnosť online optimalizovať plán dotazu - problém meniaceho sa toku dát - spravovať sumárne minulé dáta ( kompromisi pri zdrojoch )

36 Stream: Implementace DSMS - Stanford University: Stream Stanford Stream Data Manager - kód dostupný pod BSD licencí - server pouze pro Linux, klient v Javě - vývoj ukončen - primárně zpracovává online dotazy, ale podporuje i offline (Archive) - HTTP interface, podporuje SOAP

37 Stream: Dotazovací jazyk - modifikované SQL - klauzule FROM se může kromě relací vztahovat také na streamy - možnost definovat sliding window - SQL99 obsahuje analytické funkce, jež umožňují provádět agregační operace nad sliding window, nicméně toto nestačí pro data stream, jelikož se nedá uplatnit na neagregační operace jako JOIN (viz. SELECT... OVER)

38 Stream: Dotazovací jazyk - sliding windows - vyžadují možnost řazení datových prvků - pomocí timestampů: buď implicitních (čas), nebo explicitních (integer,...) - formálně: S = {(s 1, i 1 ),..., (s i, i i )}, kde S je data stream, s i n-tice (data) a i i timestamp - specifikace SQL je rozšířena o možnost specifikace okna - za specifikací streamu v klauzuli FROM, uzavřeno do hranatých závorek

39 Stream: Dotazovací jazyk - sliding windows - Příklad: SELECT AVG(S.minutes) FROM Calls S [PARTITION BY S.customer_id ROWS 10 PRECEDING WHERE S.type = 'Long Distance'] - specifikace okna se skládá z: - volitelné klauzule PARTITION, která dělí data do skupin, a udržuje okna zvlášť pro každou skupinu

40 Stream: Dotazovací jazyk - sliding windows - velikost okna (specifikovaná buď ve "fyzických" jednotkách - počtu prvků v okně, nebo v "logických" jednotkách, např. časový rozsah 30 dnů) - volitelný filtrovací predikát (klauzule WHERE) - velikost okna je specfikována pomocí klíčového slova ROWS (např. ROWS 50 PRECEDING)

41 Stream: Dotazovací jazyk - sliding windows - alternativně je možno udat velikost okna pomocí klíčového slova RANGE (např. RANGE 15 MINUTES PRECEDING) - filtrovací predikát je přidán kvůli efektivitě, viz. následující příklad: - SELECT AVG(S.minutes) FROM Calls S [PARTITION BY S.customer_id ROWS 10 PRECEDING] WHERE S.type = 'Long Distance'

42 Stream: Dotazovací jazyk - sliding windows - SELECT AVG(V.minutes) FROM (SELECT S.minutes FROM calls S, Customers T WHERE S.customer_id = T.customer_id AND T.membership = 'Gold') V [ROWS 1000 PRECEDING]

43 Stream: Dotazovací jazyk - timestamps - implicitní timestampy (tedy takové, jež systém přidává automaticky) se použijí, pokud data nenesou žádnou informaci o jejich pořadí, nebo pokud na přesném čase (pořadí) v souvislosti s daty nezáleží, ale je třeba "porovnávat starší" - explicitní timestampy představují informaci relevantní k zbytku datům v n-tici (např. se vztahují k nějaké vnější události)

44 Stream: Dotazovací jazyk - timestamps - explicitní timestampy mají problém v tom, že n-tice ve streamu nemusí přijít ve stejném pořadí jim odpovídajícím (např. vlivem sítě) - toto prakticky znemožňuje vyvářet sliding windows definovaná vůči explicitním timestampům - nicméně pokud je vstupní stream "prakticky" setříděný, malé odchylky je možné snadno opravit pomocí bufferování

45 Stream: Dotazovací jazyk - timestamps - standartně předpokládáme, že timestamp jednoznačně určuje pořadí prvku ve streamu (ať už se jedná o časový údaj, nebo např. celočíselné číslování) - co když však budou data na výstupu odvozena z více streamů? (např. pokud máme okno nad výstupem dotazu, jež provádí operaci JOIN nad dvojicí streamů) - co přesně pak představuje daný timestamp?

46 Stream: Dotazovací jazyk - timestamps - buď přidělovat n-ticím produkovaným JOINem nové timestampy - předpoklad, že n-tice, které přišli dříve, mají také větší pravděpodobnost skrz tento JOIN projít dříve - tento přístup lépe vyhovuje implicitním timestampům + jednoduchost implementace - nemožnost deterministicky definovat slidingwindow na poddotazech

47 Stream: Dotazovací jazyk - timestamps - druhá možnost: uživatel v dotaze určí, který timestamp se má použít jako výsledný (pro výstupní n-tici) - lze použít pro implicitní i explicitní timestampy - např. jednoduše pomocí pořadí, v jakém jsou streamy v dotazu napsané (v každém JOINu se použijí timestampy prvního napsaného streamu) - problém: více n-tic může mít stejný timestamp

48 Stream: Dotazovací jazyk - timestamps - řešení: v případě, že by se měl přidělit duplicitní timestamp, použije se timestamp n- tice z druhého streamu - přesněji: nejprve se řadí, "stejné" timestampy jsou nahrazeny a dotříděny - např.: SELECT * FROM S1 [ROWS 1000 PRECEDING], S2 [ROWS 1000 PRECEDING] WHERE S1.A = S2.B

49 Stream: Dotazovací jazyk - timestamps - druhý přístup - implementační problém - pokud chceme výstupní data z JOINu setříděné dle timestampu, musíme bufferovat dokud nemáme jistotu, že budoucí vstup nenaruší pořadí odesílaných dat - př.: spojí-li se n-tice z S1 a S2, je stále možné, že budoucí n-tice z S2 se spojí se starší n-ticí z S1, která stále spadá do současného okna

50 Stream: Dotazovací jazyk - timestamps - ve složitějších dotazech se tato chyba může propagovat a zhoršovat - který způsob tedy použít? - záleží na konkrétním dotaze - pokud sliding-window slouží jako prostředek pro zlepšení výkonu, zpravidla stačí použít první "best-effort" způsob -pokud však pořadí n-tic hraje roli ve významu dotazu, je třeba použít druhý způsob

51 Stream: Dotazovací jazyk - timestamps - ve STREAMu jsou k dispozici oba způsoby, pro první ("best-effort") způsob se v definici okna nahradí klíčové slovo PRECEDING slovem RECENT - např. "ROWS 10 PRECEDING" určuje okno předchozích 10 n-tic seřazených striktně podle timestampu, "ROWS 10 RECENT" pak umožňuje v případě potřeby DSMS použít vlastní systém řazení

52 Stream: Dotazovací jazyk - timestamps - klíčové slovo RECENT je možné použít pouze s "fyzickými" velikostmi, není tedy možné specifikovat např. "RANGE 3 DAYS RECENT"

53 Stream: Dotazovací jazyk - provádění dotazu

54 Stream: Dotazovací jazyk - provádění dotazu - operátory - fronty (spojují operátory) - synopse (datové struktury) - paměť je přidělována dynamicky mezi synopse a fronty - narozdíl od jiných systémů (Aurora, Eddies) jsou jednotlivé fronty oddělené - operátor čte ze vstupu, upravuje jemu náležící synopse, a zapisuje výstup

55 Stream: Dotazovací jazyk - provádění dotazu - čas na provádění dostávají operátory od centrálního "plánovače" (scheduler) - doba, kdy může operátor zpracovávat data může být různá - může se jednat o časový úsek, metrikou může být i určitý počet n-tic (na vstupu či na výstupu) - Aurora, Eddies: plánovač vezme n-tici z globální fronty a přidělí čas "jejímu" operátoru - umí i STREAM

56 Stream: Dotazovací jazyk - provádění dotazu - dlouho běžící dotazy => za běhu se měnící parametry streamu => operátory musí být adaptabilní - optimalizace především na dostupnou paměť - run-time paměť může být operátoru kdykoli odebrána a předána jinému - přesnost vs. paměť

57 Stream: Overview - využívá deklarativní jazyk pro dotazy (vycházející z SQL), narozdíl od jiných DSMS (Aurora, Hancock,...) => vyžaduje komplexní plánovač dotazů - rovněž poskytuje možnost přímého zadávání již naplánovaných dotazů (relační algebra) - monitoring běžících dotazů - změny nastavení za jejich běhu (alokace paměti, nastavení scheduleru)

58 Aurora: boxes and arrows

59 Algoritmické problémy Algoritmus datových toků (data streams) příjímá jako vstup sekvenci prvků x 1,... x n,... zvaných data stream, přičemž tato sekvence je vždy čtena pouze jednou ve směru vzrůstajících indexů. Algoritmus musí udržovat hodnotu funkce f na základě přečtených prvků této sekvence.

60 Algoritmické problémy - metriky pro porovnávání algoritmů: - spotřebovaná paměť - čas potřebný na zpracování prvku - čas potřebný na vyhodnocení funkce f z uchovávané datové struktury, pokud algoritmus nějakou má - dle alternativní definice, kde je možné číst stream opakovaně je metrikou rovněž počet průchodů

61 Algoritmické problémy - měřit je možné vzhledem k N, kde N značí počet dosud přečtených prvků - N je neomezené - ideální algoritmus by byl na N nezávislý - problém je považovaný za "efektivně řešitelný", pokud je řešitelný na místě O(poly(log N)) a v čase O(poly(log N)) na prvek - poly značí polynomiální funkci

62 Algoritmické problémy: Random Samples - základní metoda pro tvorbu synopsí - ze streamu bere náhodný vzorek - uniform sample vs. stratified sample - reservoir sampling (nejdříve naplnit pole, následně se snižující se pravděpodobností měním náhodný prvek tohoto pole za nově příchozí)

63 Algoritmické problémy: Sketching Techniques - způsob, jak vytvořit "přehled" o streamu s využitím malého množství paměti - pomocí tohto přehledu je možné poměrně přesně odhadovat některé dotazy

64 Algoritmické problémy: Sketching Techniques - jak to funguje: S=(x 1,..., x n ) x i náleží jedné z domén D={1,..., d} m i = {j x j = i} určuje počet výskytů i v S pro nezáporné k je pak k-tý moment četnosti (kth frequency moment) určen jako

65 Algoritmické problémy: Sketching Techniques - momenty četnosti zachycují rozdělení hodnot v S - např. F 0 je množství odlišných hodnot v sekvenci, F 1 je délka sekvence, F oo je četnost nejčetnější hodnoty - pro výpočet těchto hodnot existuje mnoho různých algoritmů různých výsledků (např. Alon, Matias, Szegedy - F 0 v O(log d), F 2 v O(log d + log N))

66 Algoritmické problémy: Histogramy - histogram = struktura pro sumarizaci dat - zachycuje rozdělení hodnot v množině dat - používají se např. k odhadu velikosti dotazu, aproximaci odpovědi dotazu či k data miningu - existuje několik vhodných typů histogramů

67 Algoritmické problémy: Histogramy V-optimal histogram - aproximuje rozdělení množiny v 1,..., v n pomocí "skokové" konstantní funkce v(i), minimalizuje druhou mocninu odchylky - histogram užívá metodu "věder" (buckets) - rozděluje data do určitých částí - idea: každý čtený prvek je "aktualizací" vektoru délky N, který se snažíme aproximovat histogramem o B "vědrech"

68 Algoritmické problémy: Histogramy V-optimal histogram - na setříděném streamu: místo i čas O(B 2 log N) - na nesetříděném: místo i čas ohraničeno poly(b, log N, 1/e), kde e je připouštěná relativní odchylka

69 Algoritmické problémy: Histogramy Equi-width histogram - počítá kvantily - hodnoty, které děli stream na zhruba stejně velké části - Greenwald, Khanna: O(1/e * log N), garantuje přesnost en

70 Algoritmické problémy: Histogramy End-biased histograms - Iceberg queries - často využívané dotazy jsou na jednoduché agregace určitého atributu v určitém rozsahu (např. počet záznamů) = tzv. Iceberg queries - Manku a Motwani: pro určitý atribut se udržuje množství odlišných hodnot spolu s jejich četností, při přidání nového prvku se zkoumá zda již existuje, prvky s nízkou čeností se mažou

71 Algoritmické problémy: Histogramy End-biased histograms - Iceberg queries - algortmus tedy udržuje přehled o prvcích, jejichž četnost je vysoká(přesněji vyšší než 1/e) - navíc garantuje, že četnost těchto prvků,ač ve skutečnosti menší, než udržovaná hodnota, není menší o více než en - vyžaduje O(1/e log (en)) místa

72 Algoritmické problémy: Wavelets - technika, jak poskytovat přehled o datech - koeficienty jsou projekce daného streamu na ortogonální množinu vektorů - z dané "vlnky" lze celkem přesně rekonstruovat původní množinu (stream)

73 Algoritmické problémy: Wavelets - efektivní např. pro odhady pro výsledky selectu či vícerozměrné agregace - na setříděném streamu lze použít upravený hladový algoritmus s paměťovou náročností O(B + log N) - implementace zůstává otevřeným problémem

74 Algoritmické problémy: Sliding windows - zabraňují "zastaralým" datům ovlivňovat statistiky, slouží jako aproximační nástroj - problém: jak efektivně udržovat statistiky nad určeným oknem - jak nejlépe "implementovat" předcházející algoritmy - Datar a spol.: implementace sketches s místem O(1/e log N), kde e je přesnost, N velikost okna

75 Algoritmické problémy - dále např. data mining - udržování rozhodovacích stromů nad streamem (Domingos: O(N e ) místa a O(poly(log N)) času na prvek) - multiple streams - práce se sjednocením streamů (Gibbons, Tirthapura: lze využít sketching) - zkoumání seřazenosti - užitečné např. pro volbu třídícího algoritmu

76 Algoritmické problémy: zkoumání seřazenosti - odhad počtu inverzí v permutaci - Ajtai a spol.: O(log N log (log N)) místa, O(log N) času na prvek

77 Závěr: zpět na začátek "Meta-otázky" položené Babcockem a spol.: - lze pro efektivní zpracování "on-line" streamů dat udělat lepší systém, než klasické DBMS s jejich triggery, dočasnými strukturami,...? - je potřeba navrhovat další obecné modely, algoritmy a systému pro data streamy? - existuje/í "killer app/s" pro systémy zpracování data streamů?

78 Závěr: budoucnost DSMS - pokud na předcházející otázky odpovíme kladně, je třeba vyřešit několik otázek, především: - distributivita (přesměrovávat vysoce vytížené streamy na centrální bod ke zpracování je neefektivní) - interface DSMS (modifikované SQL vs. jiný přístup) - timestamping

79 Závěr: budoucnost DSMS - efektivnost vyhodnocování dotazů, konstrukce synopsí, správa zdrojů, aproximování zpracování dotazů,... - definování extenze relačních operátorů - "stream algebra"?

80 Závěr: zdroje Babcock, Babu, Datar, Motwani, Widom: Models and Issues in Data Stream Systems Maskei, Madden a spol.: Borealis Distributed Stream Processing Engine Arasu, Babcock, Babu, Datar, Ito, Nishizawa, Rosenstein, Widom: STREAM: The Stanford Stream Data Manager

Možnosti dotazování nad proudy dat. Jan Pešek

Možnosti dotazování nad proudy dat. Jan Pešek Možnosti dotazování nad proudy dat Jan Pešek Datové proudy: použití - Monitor sítě - Monitor dopravy - Vyhledávání na webu Model datových proudů - (celá) data nejsou uložena a nejsou dostupná z disku či

Více

Systémy řízení proudů dat

Systémy řízení proudů dat Systémy řízení proudů dat Tomáš Herceg Dotazovací jazyky I MFF UK 2011 Agenda Motivace Dotazování nad proudy dat a problémy STanford StREam DatA Manager Datový proud (Data Stream) data přicházejí průběžně

Více

Operátory ROLLUP a CUBE

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

Více

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky Otázka 20 A7B36DBS Zadání... 1 Slovníček pojmů... 1 Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky... 1 Zadání Relační DB struktury sloužící k optimalizaci

Více

Analýza a modelování dat 6. přednáška. Helena Palovská

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í

Více

SQL SQL-SELECT. Informační a znalostní systémy. Informační a znalostní systémy SQL- SELECT

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

Více

XMW4 / IW4 Pokročilé SELECT dotazy. Štefan Pataky

XMW4 / IW4 Pokročilé SELECT dotazy. Štefan Pataky XMW4 / IW4 Pokročilé SELECT dotazy Štefan Pataky TOP, OFFSET-FETCH Konverze datových typů Logické funkce Práce s řetězci Poddotazy a množinové dotazy SQL Windowing Agenda TOP TOP omezení počtu vrácených

Více

KIV/ZIS cvičení 5. Tomáš Potužák

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í

Více

Analýza a modelování dat. Přednáška 8

Analýza a modelování dat. Přednáška 8 Analýza a modelování dat Přednáška 8 OLAP, datová kostka, dotazování nad kostkou Motivace většina DB relační zaznamenání vztahů pomocí logicky provázaných tabulek jakou mají velmi často vztahy povahu vztah

Více

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška Databázové systémy Datová integrita + základy relační algebry 4.přednáška Datová integrita Datová integrita = popisuje pravidla, pomocí nichž hotový db. systém zajistí, že skutečná fyzická data v něm uložená

Více

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc. 1 Kurz Databáze Zpracování dat Doc. Ing. Radim Farana, CSc. Obsah Druhy dotazů, tvorba dotazu, prostředí QBE (Query by Example). Realizace základních relačních operací selekce, projekce a spojení. Agregace

Více

Dotazovací jazyk pro řazená data

Dotazovací jazyk pro řazená data Dotazovací jazyk pro řazená data NDBI006 2011 Martin Chytil Motivace - dotazy závislé na pořadí Úvod do jazyka AQuery Datový model Algebra Transformace dotazů - optimalizace Výsledky experimentů Podobné

Více

Analýza a modelování dat. Přednáška 9

Analýza a modelování dat. Přednáška 9 Analýza a modelování dat Přednáška 9 Další dotazování nad kostkou Rozšíření SQL99 rozšíření SQL99 (minulá přednáška): seskupovací operátory za GROUP BY CUBE statistiky dle řezů ROLLUP statistiky dle rolování

Více

Šablony, kontejnery a iterátory

Šablony, kontejnery a iterátory 11. března 2015, Brno Připravil: David Procházka Šablony, kontejnery a iterátory Programovací jazyk C++ Šablony Strana 2 / 31 Obsah přednášky 1 Šablony 2 Abstraktní datové struktury 3 Iterátory 4 Array

Více

TimescaleDB. Pavel Stěhule 2018

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

Více

8.2 Používání a tvorba databází

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

Více

RELAČNÍ DATABÁZOVÉ SYSTÉMY

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í

Více

Monitoring SQL Server, Resource Governor, Tracing SQL Server

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í

Více

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 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á)

Více

Maturitní témata Školní rok: 2015/2016

Maturitní témata Školní rok: 2015/2016 Maturitní témata Školní rok: 2015/2016 Ředitel školy: Předmětová komise: Předseda předmětové komise: Předmět: PhDr. Karel Goš Informatika a výpočetní technika Mgr. Ivan Studnička Informatika a výpočetní

Více

Informační systémy ve zdravotnictví. 6. cvičení

Informační systémy ve zdravotnictví. 6. cvičení Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Informační systémy ve zdravotnictví 6. cvičení Ing. Petr Lukáš petr.lukas@nativa.cz Ostrava, 2014 Opakování Relace

Více

Databázové systémy. Cvičení 6: SQL

Databázové systémy. Cvičení 6: SQL Databázové systémy Cvičení 6: SQL Co je SQL? SQL = Structured Query Language SQL je standardním (ANSI, ISO) textovým počítačovým jazykem SQL umožňuje jednoduchým způsobem přistupovat k datům v databázi

Více

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE

Více

Dotazovací jazyky I. Datová krychle. Soběslav Benda

Dotazovací jazyky I. Datová krychle. Soběslav Benda Dotazovací jazyky I Datová krychle Soběslav Benda Obsah Úvod do problematiky Varianty přístupu uživatelů ke zdrojům dat OLTP vs. OLAP Datová analýza Motivace Vytvoření křížové tabulky Datová krychle Teorie

Více

Úvod do databázových systémů

Ú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í

Více

1. Databázové systémy (MP leden 2010)

1. Databázové systémy (MP leden 2010) 1. Databázové systémy (MP leden 2010) Fyzickáimplementace zadáníaněkterářešení 1 1.Zkolikaajakýchčástíseskládáčasprovstupněvýstupníoperaci? Ze tří částí: Seektime ječas,nežsehlavadiskudostanenadsprávnou

Více

IDS optimalizátor. Ing. Jan Musil, IBM ČR Community of Practice for

IDS optimalizátor. Ing. Jan Musil, IBM ČR Community of Practice for IDS optimalizátor Ing. Jan Musil, IBM ČR Community of Practice for CEEMEA Agenda Optimalizační plán dotazu Typy přístupových plánů Metody pro spojení tabulek Určení optimalizačního plánu Vyhodnocení přístupových

Více

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází 1 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Požadavky kreditového systému. Relační datový model, relace, atributy,

Více

Predaj cez PC pokladňu

Predaj cez PC pokladňu Predaj cez PC pokladňu PC pokladňa je určená na predaj v hotovosti cez fiškálny modul, ale pracuje so skladom offline, t.j. pri predaji nie je možné zistiť aktuálny stav tovaru na sklade. Pri predaji cez

Více

Úvod do databázových systémů

Ú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í

Více

Databáze SQL SELECT. David Hoksza http://siret.cz/hoksza

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é

Více

DJ2 rekurze v SQL. slajdy k přednášce NDBI001. Jaroslav Pokorný

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.

Více

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

Více

Téma : Špecifiká marketingu finančných služieb

Téma : Špecifiká marketingu finančných služieb Téma : Špecifiká marketingu finančných služieb Marketing predstavuje komplex činností, ktorý zahrňuje všetky činnosti od nápadu až po uvedenie produktu na trh. Cieľom marketingu je potom predať: správny

Více

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21. Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 21. září 2018 Jiří Dvorský (VŠB TUO) Vyhledávání 242 / 433 Osnova přednášky

Více

Maturitní otázky z předmětu PROGRAMOVÁNÍ

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

Více

Load Balancer. RNDr. Václav Petříček. Lukáš Hlůže Václav Nidrle Přemysl Volf Stanislav Živný

Load Balancer. RNDr. Václav Petříček. Lukáš Hlůže Václav Nidrle Přemysl Volf Stanislav Živný Load Balancer RNDr. Václav Petříček Lukáš Hlůže Václav Nidrle Přemysl Volf Stanislav Živný 1.4.2005 Co je Load Balancer Nástroj pro zvýšení výkonnosti serverů Virtuální server skrývající farmu skutečných

Více

Ukládání a vyhledávání XML dat

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í

Více

Co bude výsledkem mého SELECTu? RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform MCSD: Windows Store MCT

Co bude výsledkem mého SELECTu? RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform MCSD: Windows Store MCT Co bude výsledkem mého SELECTu? RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform MCSD: Windows Store MCT david@wug.cz @gesvindr Logické zpracování dotazu Jazyk T-SQL je deklarativní Popisujeme,

Více

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče. Primární a cizí klíč Kandidát primárního klíče (KPK) Je taková množina atributů, která splňuje podmínky: Unikátnosti Minimálnosti (neredukovatelnosti) Primární klíč (Primary Key - PK) Je právě jedna množina

Více

PODPROGRAMY. Vyčlenenie podprogramu a jeho pomenovanie robíme v deklarácii programu a aktiváciu vykonáme volaním podprogramu.

PODPROGRAMY. Vyčlenenie podprogramu a jeho pomenovanie robíme v deklarácii programu a aktiváciu vykonáme volaním podprogramu. PODPROGRAMY Podprogram je relatívne samostatný čiastočný algoritmus (čiže časť programu, ktorý má vlastnosti malého programu a hlavný program ho môže volať) Spravidla ide o postup, ktorý bude v programe

Více

Ako sme postavili Benátky

Ako sme postavili Benátky Ako sme postavili Benátky alebo Sedem vecí, ktoré sme určite nechceli Tomáš Barbarič, Poštová banka Peter Polák, Softec 7...milión NECHCELI SME polí vo filtri [inteligentné vyhľadávanie] 7 Takto nejak

Více

Patrik Pasterčík MFF UK 2016

Patrik Pasterčík MFF UK 2016 Patrik Pasterčík MFF UK 2016 Motivace Představení DSMS Dotazovací jazyk Reprezentace datových proudů Nepřetržité dotazování, okna Časová razítka, pořadí Datová kvalita, kvalita služeb Existující řešení

Více

Databázové a informační systémy

Databázové a informační systémy Databázové a informační systémy doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Jak ukládat a efektivně zpracovávat

Více

KOMISNÝ PREDAJ. Obr. 1

KOMISNÝ PREDAJ. Obr. 1 KOMISNÝ PREDAJ Komisný predaj sa realizuje na základe komisionárskej zmluvy, pričom ide v podstate o odložený predaj, kde práva k výrobku alebo tovaru prevedie dodávateľ (výrobca, komitent) na predajcu

Více

Úvod do databázových systémů

Ú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

Více

Časová a prostorová složitost algoritmů

Časová a prostorová složitost algoritmů .. Časová a prostorová složitost algoritmů Programovací techniky doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Hodnocení algoritmů Programovací techniky Časová a prostorová

Více

Náhled testu. Přijímací zkouška magisterského studia. konečný automat bez zbytečných stavů, který přijímá jazyk popsaný tímto výrazem, má:

Náhled testu. Přijímací zkouška magisterského studia. konečný automat bez zbytečných stavů, který přijímá jazyk popsaný tímto výrazem, má: 1 z 6 14.11.2017 0:03 Přijímací zkouška magisterského studia Moodle Test MSP Testy VzorTest-2 Pokus 1 Jste přihlášeni jako Josef Kolář (Odhlásit se) Náhled testu 1 Je dán regulární výraz. Minimální deterministický

Více

METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1

METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1 METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1 DOLOVÁNÍ V DATECH (DATA MINING) OBJEVUJE SE JIŽ OD 60. LET 20. ST. S ROZVOJEM POČÍTAČOVÉ TECHNIKY DEFINICE PROCES VÝBĚRU, PROHLEDÁVÁNÍ A MODELOVÁNÍ

Více

Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek

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é

Více

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev Úvod do databází Modelování v řízení Ing. Petr Kalčev Co je databáze? Množina záznamů a souborů, které jsou organizovány za určitým účelem. Jaké má mít přínosy? Rychlost Spolehlivost Přesnost Bezpečnost

Více

1 Webový server, instalace PHP a MySQL 13

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

Více

B0M33BDT Technologie pro velká data. Supercvičení SQL, Python, Linux

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:

Více

Databázové systémy BIK-DBS

Databázové systémy BIK-DBS Databázové systémy BIK-DBS Ing. Ivan Halaška katedra softwarového inženýrství ČVUT FIT Thákurova 9, m.č. T9:311 ivan.halaska@fit.cvut.cz Kapitola Relační model dat 1 3. Relační model dat (Codd 1970) Formální

Více

Databáze I. 1. přednáška. Helena Palovská

Databáze I. 1. přednáška. Helena Palovská Databáze I 1. přednáška Helena Palovská palovska@vse.cz Co je databáze Mnoho dat Organizovaných používá se model uspořádání Řízený přístup k datům přijímá požadavky v jazyce modelu umožňuje sdílení dat

Více

KIV/ZIS - SELECT, opakování

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

Více

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23 Stručný obsah 1. Stručný úvod do relačních databází 13 2. Platforma 10g 23 3. Instalace, první přihlášení, start a zastavení databázového serveru 33 4. Nástroje pro administraci a práci s daty 69 5. Úvod

Více

Náhled testu. Přijímací zkouška magisterského studia. konečný automat bez zbytečných stavů, který přijímá jazyk popsaný tímto výrazem, má:

Náhled testu. Přijímací zkouška magisterského studia. konečný automat bez zbytečných stavů, který přijímá jazyk popsaný tímto výrazem, má: Přijímací zkouška magisterského studia Moodle Test MSP Testy VzorTest-2 Pokus 1 Jste přihlášeni jako Josef Kolář (Odhlásit se) Info Výsledky Náhled Upravit Náhled testu 1 Je dán regulární výraz. Minimální

Více

Plánovanie procesov a vlákien

Plánovanie procesov a vlákien a vlákien Kategórie plánovačov Všeobecné kritériá pre dobré plánovanie Dávkové spracovanie Interaktívne systémy Real-time systémy Autor: Peter Tomcsányi Niektoré práva vyhradené v zmysle licencie Creative

Více

Tvorba informačních systémů

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

Více

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

Více

INDEXY JSOU GRUNT. Pavel Stěhule

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)

Více

Množiny, relácie, zobrazenia

Množiny, relácie, zobrazenia Množiny, relácie, zobrazenia Množiny "Množina je súhrn predmetov, vecí, dobre rozlíšiteľných našou mysľou alebo intuíciou" "Množina je súbor rôznych objektov, ktoré sú charakterizované spoločnými vlastnosťami,

Více

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů

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

Více

Operačný systém Úvodná prednáška

Operačný systém Úvodná prednáška Operačný systém Úvodná prednáška Pohľad zvonka (z vyšších úrovní) Pohľad zvnútra Pojmy správy procesov Úlohy jednotlivých častí operačného systému Autor: Peter Tomcsányi, Niektoré práva vyhradené v zmysle

Více

Paralelní výpočty ve finančnictví

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

Více

Studentove t-testy. Metódy riešenia matematických úloh

Studentove t-testy. Metódy riešenia matematických úloh Studentove t-testy Metódy riešenia matematických úloh www.iam.fmph.uniba.sk/institute/stehlikova Jednovýberový t-test z prednášky Máme náhodný výber z normálneho rozdelenia s neznámymi parametrami Chceme

Více

Základy algoritmizácie a programovania

Základy algoritmizácie a programovania Základy algoritmizácie a programovania Katedra počítačov a informatiky FEI TU Košice http://kpi.fei.tuke.sk Košice, 2016 doc. Ing. Jaroslav Porubän, PhD. Jaroslav.Poruban@tuke.sk Katedra počítačov a informatiky

Více

DATA CUBE. Mgr. Jiří Helmich

DATA CUBE. Mgr. Jiří Helmich DATA CUBE Mgr. Jiří Helmich Analytické kroky formulace dotazu analýza extrakce dat vizualizace Motivace n-sloupcová tabulka v Excelu vs. sloupcový graf Dimensionality reduction n dimenzí data obecně uspořádána

Více

Základní datové struktury

Základní datové struktury Základní datové struktury Martin Trnečka Katedra informatiky, Přírodovědecká fakulta Univerzita Palackého v Olomouci 4. listopadu 2013 Martin Trnečka (UPOL) Algoritmická matematika 1 4. listopadu 2013

Více

8. Zpracování dotazu. J. Zendulka: Databázové systémy 8 Zpracování dotazu 1

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

Více

Šablony, kontejnery a iterátory

Šablony, kontejnery a iterátory 7. října 2010, Brno Připravil: David Procházka Šablony, kontejnery a iterátory Programovací jazyk C++ Šablony Strana 2 / 21 Šablona funkce/metody Šablona je obecný popis (třídy, funkce) bez toho, že by

Více

Organizace a zpracování dat I

Organizace a zpracování dat I DBI007 Organizace a zpracování dat I Index-sekvenční a indexovaný soubor 4. přednáška RNDr. Michal Žemlička, Ph.D. Index-sekvenční soubor Přístup k záznamům je možný jak sekvenčně, tak i přímo Části: primární

Více

Spracovanie informácií

Spracovanie informácií 2 Spracovanie informácií PC = stroj na spracovanie informácií (nielen výpočty) Spracovanie = Evidovanie (zaznamenávanie, uchovávanie) Selektovanie (výber vhodných údajov) Výstup údajov (napr. na tlačiareň)

Více

Da D to t v o é v ty t py IB111: Datové typy

Da D to t v o é v ty t py IB111: Datové typy Datové typy IB111: Datové typy Data a algoritmizace jaká data potřebuji pro vyřešení problému? jak budu data reprezentovat? jaké operaci s nimi potřebuji provádět? Navržení práce s daty je velice důležité

Více

Optimalizace dotazů a databázové transakce v Oracle

Optimalizace dotazů a databázové transakce v Oracle Optimalizace dotazů a databázové transakce v Oracle Marek Rychlý Vysoké učení technické v Brně Fakulta informačních technologií Ústav informačních systémů Demo-cvičení pro IDS 22. dubna 2015 Marek Rychlý

Více

Databáze Bc. Veronika Tomsová

Databáze Bc. Veronika Tomsová Databáze Bc. Veronika Tomsová Databázové schéma Mapování konceptuálního modelu do (relačního) databázového schématu. 2/21 Fyzické ik schéma databáze Určuje č jakým způsobem ů jsou data v databázi ukládána

Více

Databázové systémy. * relační kalkuly. Tomáš Skopal. - relační model

Databázové systémy. * relační kalkuly. Tomáš Skopal. - relační model Databázové systémy Tomáš Skopal - relační model * relační kalkuly Osnova přednášky relační kalkuly doménový n-ticový Relační kalkuly využití aparátu predikátové logiky 1. řádu pro dotazování rozšíření

Více

Databázové systémy trocha teorie

Databázové systémy trocha teorie Databázové systémy trocha teorie Základní pojmy Historie vývoje zpracování dat: 50. Léta vše v programu nevýhody poměrně jasné Aplikace1 alg.1 Aplikace2 alg.2 typy1 data1 typy2 data2 vytvoření systémů

Více

Obsah. Zpracoval:

Obsah. Zpracoval: Zpracoval: houzvjir@fel.cvut.cz 03. Modelem řízený vývoj. Doménový (business), konceptuální (analytický) a logický (návrhový) model. Vize projektu. (A7B36SIN) Obsah Modelem řízený vývoj... 2 Cíl MDD, proč

Více

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: Číslo šablony: Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek: Anotace: CZ.1.07/1.5.00/34.0410

Více

Best-Effort Top-k Query Processing Under Budgetary Constraints. Jakub Čermák

Best-Effort Top-k Query Processing Under Budgetary Constraints. Jakub Čermák Best-Effort Top-k Query Processing Under Budgetary Constraints Jakub Čermák Agenda Úvod, motivace, definice problému Sekvenční přístup Náhodný přístup Experimentální výsledky Motivace Top-k dotaz dotaz

Více

6. blok část C Množinové operátory

6. blok část C Množinové operátory 6. blok část C Množinové operátory Studijní cíl Tento blok je věnován problematice množinových operátorů a práce s množinovými operátory v jazyce SQL. Čtenáři se seznámí s operátory, UNION, a INTERSECT.

Více

Materializované pohledy

Materializované pohledy Materializované pohledy Pavel Baroš, 2010 Obsah Materializované pohledy Co přináší? Řešení ostatních DBS syntaxe a semantika pro: Oracle, MS SQL, DB2 ostatní Možné řešení pro PostgreSQL PostgreSQL 2 Materializované

Více

Prevody z pointfree tvaru na pointwise tvar

Prevody z pointfree tvaru na pointwise tvar Prevody z pointfree tvaru na pointwise tvar Tomáš Szaniszlo 2010-03-24 (v.2) 1 Príklad (.(,)). (.). (,) Prevedenie z pointfree do pointwise tvaru výrazu (.(,)). (.). (,). (.(,)). (.). (,) Teraz je funkcia

Více

CoreLine Panel jasná voľba pre LED osvetlenie

CoreLine Panel jasná voľba pre LED osvetlenie Lighting CoreLine Panel jasná voľba pre LED osvetlenie CoreLine Panel Či ide o nové budovy alebo renováciu existujúceho priestoru, zákazníci požadujú riešenie osvetlenia, ktoré poskytuje kvalitné svetlo

Více

Zabezpečení dat při přenosu

Zabezpečení dat při přenosu Zabezpečení dat při přenosu Petr Grygárek rek 1 Komunikace bez spojení a se spojením Bez spojení vysílač může datové jednotky (=rámce/pakety) zasílat střídavě různým příjemcům identifikace příjemce součástí

Více

Databázové patterny. MI-DSP 2013/14 RNDr. Ondřej Zýka, ondrej.zyka@profinit.eu

Databázové patterny. MI-DSP 2013/14 RNDr. Ondřej Zýka, ondrej.zyka@profinit.eu Databázové patterny MI-DSP 2013/14 RNDr. Ondřej Zýka, ondrej.zyka@profinit.eu Obsah o Co je databázový pattern o Pattern: Přiřazení rolí o Pattern: Klasifikace Databázové patterny o Odzkoušené a doporučené

Více

Použití databází na Webu

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é

Více

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů. Modely datové Existují různé úrovně pohledu na data. Nejvyšší úroveň je úroveň, která zachycuje pouze vztahy a struktury dat samotných. Konceptuální model - E-R model. Další úrovní je logická úroveň Databázové

Více

Hromadná korešpondencia v programe Word Lektor: Ing. Jaroslav Mišovych

Hromadná korešpondencia v programe Word Lektor: Ing. Jaroslav Mišovych Hromadná korešpondencia v programe Word 2010 Lektor: Ing. Jaroslav Mišovych Obsah Čo je hromadná korešpondencia Spustenie hromadnej korešpondencie Nastavenie menoviek Pripojenie menoviek k zoznamu adries

Více

Dodatečné informace č. 7

Dodatečné informace č. 7 Dodatečné informace č. 7 V souladu s ustanoveními 49 zákona č. 137/2006 Sb., o veřejných zakázkách, ve znění pozdějších předpisů, poskytuje zadavatel dodatečné informace č. 7 k zadávacím podmínkám veřejné

Více

Klíčová slova: dynamické internetové stránky, HTML, CSS, PHP, SQL, MySQL,

Klíčová slova: dynamické internetové stránky, HTML, CSS, PHP, SQL, MySQL, Anotace sady: Dynamické internetové stránky, VY_32_INOVACE_PRG_PHP_01 Klíčová slova: dynamické internetové stránky, HTML, CSS, PHP, SQL, MySQL, Stupeň a typ vzdělávání: gymnaziální vzdělávání, 4. ročník

Více

Diagnostika webových aplikací v Azure

Diagnostika webových aplikací v Azure Miroslav Holec Software Engineer Microsoft MVP: Microsoft Azure MCSD, MCSA, MSP Lead miroslavholec.cz @miroslavholec Diagnostika webových aplikací v Azure 18. 03. 10. 03. Brno Diagnostic tools in Microsoft

Více

J. Zendulka: Databázové systémy 8 Zpracování dotazu Podstata optimalizace zpracování dotazu

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

Více

Základy algoritmizácie a programovania

Základy algoritmizácie a programovania Základy algoritmizácie a programovania Pojem algoritmu Algoritmus základný elementárny pojem informatiky, je prepis, návod, realizáciou ktorého získame zo zadaných vstupných údajov požadované výsledky.

Více

Spark SQL, Spark Streaming. Jan Hučín

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

Více

Č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) 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?

Více

DUM 15 téma: Příkazy pro řízení přístupu

DUM 15 téma: Příkazy pro řízení přístupu DUM 15 téma: Příkazy pro řízení přístupu ze sady: 3 tematický okruh sady: III. Databáze ze šablony: 7 Kancelářský software určeno pro: 4. ročník vzdělávací obor: 18-20-M/01 Informační technologie vzdělávací

Více

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů - 1.1 - Kapitola 1: Úvod Účel databázových systémů Pohled na data Modely dat Jazyk pro definici dat (Data Definition Language; DDL) Jazyk pro manipulaci s daty (Data Manipulation Language; DML) Správa

Více