Plan wykładu. Wstęp. Charakterystyka DSMS. Przetwarzanie zapytań w DSMS. Otwarte problemy badawcze

Wielkość: px
Rozpocząć pokaz od strony:

Download "Plan wykładu. Wstęp. Charakterystyka DSMS. Przetwarzanie zapytań w DSMS. Otwarte problemy badawcze"

Transkrypt

1 Strumieniowe bazy danych

2 Plan wykładu Wstęp Zastosowanie dla strumieniowych baz danych Charakterystyka DSMS Model strumieniowych baz danych Przetwarzanie zapytań w DSMS Algorytmy przetwarzania zapytań Otwarte problemy badawcze

3 Klasyczne bazy danych Pasywne repozytoria dużych zbiorów trwałych danych, które są ą wypełniane i przetwarzane przez personalnych użytkowników (human active model). Ważny jest bieżący stan danych. Dostęp do danych historycznych h może ż być ć utrudniony lub niemożliwy.

4 Klasyczne bazy danych Elementy aktywne: triggery i alerty są drugorzędne i pomocnicze. Brak skalowalności dla dużej liczby triggerów. Dostęp do danych jest synchronizowany dzięki czemu odpowiedzi na zapytania są dokładne. Brak wymagań, co do czasu rzeczywistego.

5 Nowe dziedziny zastosowań Zarządzanie ą ruchem i wydajnością ą sieci telekomunikacyjnych i komputerowych, serwerów WWW Zarządzanie procesami przemysłowymi przetwarzanie danych z sieci czujników Aplikacje analizy finansowej monitorujące strumień danych giełdowych, sieci bankomatów Aplikacje monitorujące duże zbiory obiektów (śledzenie pojazdów) Aplikacje militarne monitorowanie organizmów żołnierzy (ciśnienie krwi, tętno, pozycja)

6 Strumieniowe bazy danych Aktywne repozytoria dużych zbiorów danych, które są w wypełniane automatycznie przez czujniki. Aplikacje monitorujące przetwarzają ciągłe strumienie danych wejściowych i alarmują użytkowników w przypadku występowania nietypowych sekwencji danych (human passive model). Ważna jest historia danych zmiany w źródłach hdanych.

7 Strumieniowe bazy danych Aktywna baza danych, architektura gwarantująca skalowalność triggerów. Dane wejściowe mogą być gubione, w związku z tym zapytania mogą być wykonywane przy niekompletnej informacji wejściowej i generować jedynie przybliżone wyniki. Istotne wymagania, co do czasu rzeczywistego.

8 DBMS, a DSMS trwałe relacje ulotne, nieograniczone strumienie danych zapytania punktowe zapytania ciągłe nieograniczona pamięć ograniczona pamięć dyskowa operacyjna dostęp swobodny dostęp sekwencyjny plan zapytań definiowany na nieprzewidywalny y rozkład znanym rozkładzie danych danych stosowalność algorytmów konieczność stosowania wielo-przebiegowych algorytmów jednoprzebiegowych

9 Data Streams Management System zarejestrowane ciągłe zapytania strumienie wejściowe Aplikacja DSMS strumienie wyników wyniki dane wejściowe trwała DB Bufory PAO

10 Model obliczeniowy strumieni danych Strumienie danych Streszczenia w PAO Przetwarzanie Aproksymowane strumieni wyniki Strumień danych jest potencjalnie nieograniczoną, intensywną sekwencją danych Przetwarzanie strumieni i danych wiąże ż się z: Co najwyżej jednokrotnym dostępem do każdego z elementów Ograniczonym obszarem składowania streszczeń (tym (y bardziej wszystkich elementów strumieni) Przetwarzaniem w czasie rzeczywistym czas przetwarzania pojedynczego rekordu musi być ć bardzo krótki Możliwością utraty danych wejściowych

11 Algorytmy przetwarzania strumieni danych W ogólności, ś algorytmy wyznaczają jedynie przybliżone odpowiedzi d i Trudność wyznaczenia dokładnych wyników jest konsekwencją ograniczonego g rozmiaru PAO i intensywności strumienia wejściowego Wyniki aproksymowane - granice deterministyczne Algorytmy wyznaczają przybliżone wyniki, ale wielkość błędów jest znana i ograniczona Wyniki aproksymowane - granice probabilistyczne Algorytmy wyznaczają przybliżone wyniki z wysokim prawdopodobieństwem Jednoprzebiegowe algorytmy przetwarzania strumieni i stosowalne dla intensywnych terabajtowych strumieni danych

12 Przykładowe aplikacje Bezpieczeństwo sieci (np., ipolicy, NetForensics/Cisco, Niksun) Strumień ń pakietów sieciowych, i informacje o sesjach użytkowników Zapytania: filtrowanie i URL, wykrywanie włamań, ł ń ataków typu DOS, wirusów Aplikacje finansowe (np., Traderbot) Strumień danych giełdowych, cen surowców, walut Zapytania: wyszukiwanie arbitażu, szukanie podejrzanych transakcji, itp.

13 Przykładowe aplikacje zarządzanie sieciami Szacowanie wielkości ruchu w sieci Ile bajtów było wysłanych między dwoma adresami IP? Jaka część ę adresów IP jest aktywna? Ranking adresów IP pod kątem aktywności Analiza ruchu Jaki jest średni czas trwania sesji dla danego adresu IP? Jaka jest mediana liczby bajtów w sesjach dla danego IP? Wykrywanie oszustw Lista sesji, dla których transmisja była większa niż 1000B Identyfikacja wszystkich sesji, których czas trwania był dwukrotnie częstszy niż typowy Bezpieczeństwo ń działania ł i sieci i List adresów IP o gwałtownym wzroście ruchu Identyfikacja adresów IP uczestniczących w ponad 1000 równoległych sesji

14 Przykładowe aplikacje zarządzanie sieciami Dane o sesjach (zebrane za pomocą Cisco NetFlow) Source Destination Duration Bytes Protocol K http K http K http K http K http K ftp K ftp K ftp AT&T zbiera 100 GBs danych każdego dnia

15 Przykładowe aplikacje monitorowanie giełdy Strumień ń cen i sprzedaży ż na giełdach w czasie Analiza techniczna dla inwestorów giełdowych Wsparcie dla decyzji o kupnie/sprzedaży Sygnalizacja wzrostu notowań giełdowych o co najmniej 5% Sygnalizacja Sygnalizacja monotonicznego wzrostu cen giełdowych dłuższego niż 1 godzina

16 Model danych strumieniowych Strumień Seria krotek uporządkowanych za pomocą znaczników czasowych Para (s,τ), s jest krotką, k a τ znacznikiem czasowym Relacja zmienny w czasie wielozbiór krotek Strumień S: <nazwa, wartość, τ> <AAAA, 12, 7:05> <BBBB, 21, 7:06> <CCCC, 17, 7:10> <AAAA, 11, 7:12> Relacja R R(7:00) R(8:00) <nazwa, wartość> <XXXX,25> <YYYY,13> <XXXX,19> <ZZZZ,15>

17 Znaczniki czasowe Explicite są częścią struktury elementów strumienia danych Implicite są dodawane ane przez DSMS w momencie odbioru poszczególnych elementów strumienia Czas ważności znaczniki reprezentują czas wystąpienia/ważności danej w świecie rzeczywistym Czas transakcyjny znacznik rejestruje czas pojawienia się informacji w systemie

18 Realizowane projekty DSMS Prototypy uniwersalnych DSMS STREAM (Stanford) Aurora (Brown, Brandeis, MIT) TelegraphCQ (Berkeley) Systemy wyspecjalizowane Tradebot ( finansowy serwis internetowy Tribeca (Bellcore) monitorowanie sieci Cougar (Cornell) sieci czujników Hancock(AT&T) sieci telekomunikacyjne Uniwersalne systemy komercyjne StreamBase (StreamBase Systems)

19 Język zapytań w DSMS deklaratywny (CQL) - oparty na rachunku relacji (STREAM), obiektowy - systemy monitorowania sieci czujników (Cougar), proceduralny - plan realizacji zapytania tworzony jest bezpośrednio przez użytkownika (Aurora/Borealis).

20 Języki bazujące na SQL Rozszerzaniem funkcjonalności języka SQL na strumieniowe bazy danych. Potrzeba nowej implementacji operatorów relacyjnych Operatory semantycznie blokujące zapytania ciągłe Operatory implementacyjnie i blokujące Operatory transformujące strumienie i relacje w strumieniowo-relacyjnych relacyjnych bazach danych Ruchome okna zapytań

21 Operacje blokujące Dana operacja jest blokująca, jeżeli uzyskanie pierwszej krotki wyniku wymaga odczy- tania całego ł zbioru wejściowego: avg, sort, min, max, mediana Ograniczenia w stosowaniu operacji blokują- cych na strumieniach danych nieskończony strumień wejściowy nigdy nie zwrócą wyniku.

22 Operacje blokujące Dane: operacja o i zbiory krotek A, B. Operacja o jest nieblokująca jeżeli: A B o(a) o(b) Operacje nieblokujące: selekcja, połączenie, eliminacja duplikatów. select * from S where S.wartość>10 Blokująca implementacja operacji Operacja połączenia jest operacją nieblokującą. Algorytm nested-loop jest blokującą implementacją operacji join.

23 Operacje blokujące Potencjalne rozwiązania: Ruchome okna danych, wyniki są generowane dla ograniczonych on ch podzbiorów danych (5 minut, 100 danych) rozszerzenie strumienia danych o dodatkowe informacje o tym, co może się pojawić w pozostałej części strumienia znaki interpunkcyjne (ang. punctuation) własności strumienia danych, na przykład wiedza o monotoniczności danych

24 Ruchome okna (sliding windows) Idea ruchomych okien polega na przetwarzaniu tylko ograniczonego ciągłego podzbioru danych ze strumienia, które mieszczą się w zdefiniowanym oknie Zalety Ruchomego okna: metoda aproksymacji przetwarzanie ograniczonego zbioru danych, dobrze zdefiniowane, łatwe do zrozumienia, determinizm działania, analiza najnowszych danych.

25 Ruchome okna w języku CQL Język bazujący na SQL rozszerzony, między innymi, o dwa dodatkowe operatory: [Rows n] okno o stałym rozmiarze obejmujące ostatnich n elementów strumienia [Range m jednostek czasu] okno o stałym rozmiarze obejmujące elementy strumienia, których znaczniki czasowe mieszczą się w przedziale czasowym [now m jedn. czasu, now] Szczególne przypadki: - m = now, m = - range unbounded

26 Ruchome okna w języku CQL select avg(s.wartość) from S [Rows 5] Transformacja strumienia w relację zawierającą 5 krotek o największych ę znacznikach czasu select * from R [Rows 1000],S [Range 5 min] where R.A = S.A and R.B > 10 Transformacja strumienia w relację zawierającą krotki, których znaczniki czasowe mieszczą się w przedziale [now 5min,now] now]

27 Ruchome okna select avg(s.wartość) from S [Rows 5] <AAAA, 12, 7:05> <BBBB, 21, 7:06> <CCCC, 17, 7:10> <AAAA, 11, 7:12> <DDDD, 7, 7:15> <EEEE, 13, 7:16> <FFFF, 19, 7:17>

28 Język kcql prototyp t Stanford Rozszerzenie języka SQL o: Nowy typ danych - Streams Semantyka ciągłych zapytań Definiowanie okien na strumieniach danych Próbkowanie strumieni danych Trzy operatory relation-to-streamto Istream, Dstream Rstream Select sum(z.wartość) from zamówienia z, wystawianie w [Range 1 Day] where z.id = w.id_zam and w.pracownik = 'Tarzan' and o.klient = 'Kowalski i Synowie'

29 Język kcql prototyp t Stanford Próbkowanie strumieni danych Select w.pracownik, max(z.wartość) from zamówienia z, wystawianie w [partition by pracownik rows 5] 10% sample where z.id = w.id_zam group by w.pracownik Tranformacja relacji w strumień Select Istream(w.pracownik, max(z.wartość)) from zamówienia z, wystawianie w [partition by pracownik rows 5] 10% sample where z.id = w.id_zam group by w.pracownik

30 Język CQL Specyfikacja okna Strumienie Relacje Operatory: Istream, Dstream, Rstream Relacyjny język zapytań ISTREAM: strumień wstawianych krotek DSTREAM: strumień usuwanych krotek RSTREAM: strumień wszystkich krotek

31 Charakterystyka przetwarzania strumieni danych Istotne ograniczenia czasowe przetwarzanie w czasie rzeczywistym intensywnych strumieni danych wymaga zazwyczaj stosowania aproksymacji wyników zapytań i wyklucza stosowanie wolnych pamięci ę zewnętrznychę Istotne ograniczenia zasobowe przetwarzanie danych odbywa się ę w całości w pamięci ę operacyjnej j Konieczność stosowania algorytmów jednoprzebiegowych dostęp do danej jedynie w momencie jej pojawienia się

32 Wydajność przetwarzania strumieni wydajność czasowa operacja uaktualnienia struktury ( update(krotka) ) operacja wyznaczająca ostateczny wynik zapytania ( computeanswer() ) wydajność zasobowa rozmiar PAO możliwość dynamicznego dopasowania do określonego rozmiaru pamięci

33 Metodyprzetwarzania t danych Przetwarzanie grupowe Próbkowanie Streszczenia (synopses) Wavelet Szkicowanie Histogramy Mikro-grupy

34 Przetwarzanie grupowe Przetwarzanie grupowe - własności Szybka operacja update wstaw daną do bufora, wolna computeanswer() przelicz wszystkie dane w buforze Dane przed przetworzeniem są buforowane Dane nie są przetwarzane na bieżąco Przetwarzanie danych w grupach (paczkach) Wynik dane z przed chwili

35 Próbkowanie Próbkowanie - własności stosunkowo szybka operacja computeanswer(), wolna update() wyznaczanie próbki Dane przychodzą szybciej niż może zostać wykonane uaktualnienie struktury Stały obszar na przechowywanie reprezentatywnego podzbioru danych wejściowych Pojawienie się nowej danej na wejściu wiąże się z określonym prawdopodobieństwem jej wstawienia za losowo wybraną składowana daną Zapytanie wykonywane na próbce strumienia danych Odpowiedź przybliżona

36 Próbkowanie Dany strumień danych o długości N elementów i obszar w PAO do składowania próbki o rozmiarze n. Wyznaczanie kolejnego elementu do wstawienia do próbki na podstawie prawdopodobieństwa n/n Wyjściowy algorytm jest niestosowalny dla strumieni danych ze względu gę na brak ograniczenia ich rozmiaru. Potrzebne modyfikacje: Niezależność od rozmiaru strumienia Możliwość analizy danych przed zakończeniem ń strumienia Możliwość pomijania w analizie elementów strumienia wejściowego Możliwość wykonywania y zapytań w krótkim (okna) i długim horyzoncie czasowym

37 Próbkowanie losowe Wybór losowej próbki o rozmiarze n ze strumienia o nieznanej długości. ś Rozwiązania bazujące na algorytmie zbiornikowym: Wstaw pierwsze n elementów strumienia do zbiornika. Przetwarzaj sekwencyjnie kolejne elementy strumienia. Każdy z przetwarzanych elementów może być wstawiony do zbiornika z prawdopodobieństwem n/(t+1), gdzie t jest liczbą porządkową przypisywaną kolejnym elementom strumienia. Wstawiane elementy zastępują losowo wybrane elementy przechowywane w zbiorniku. W dowolnym momencie prawdopodobieństwo znalezienia się wszystkich elementów w zbiorniku jest stałe i wynosi n/t. W dowolnym momencie ze zbiornika może być pobrana losowa próbka danych o rozmiarze n.

38 Próbkowanie losowe algorytm R Algorytm R (Alan Waterman, Knuth) działa następująco: Kiedy przetwarzany jest (t+1) element strumienia wejściowego, gdzie t>n, utrzymywanych w zbiorniku n elementów, jest losową próbą pierwszych t elementów strumienia. Element (t+1) może być ć wstawiony do zbiornika z prawdopodobieństwem n/(t+1). Wstawiany element zastępuje losowo wybrany element ze zbiornika. for j := 0 to n - 1 do ReadNextElement(C[j]); t := n; // numer kolejnego elementu strumieni while not eof do // przetwarzaj kolejne elementy strumienia begin t := t + 1; m := Trunc (t x Random( )); // m zmienna losowa z zakresu 0 m t-1 if m < n then // zastąp element ze zbiornika ReadNextRecord(C[m]); else SkipElement(l); end;

39 Próbkowanie losowe - modyfikacje Złożoność obliczeniowa algorytmu R jest równa O(N). Zwiększenie ę wydajności algorytmu przez analizowanie jedynie podzbioru elementów ze strumienia N (Jeffrey Vitter). Złożoność czasowa algorytmu: O(n(1+log(N/n))) for j := 0 to n - 1 do ReadNextElement(C[j]); t := n; // numer kolejnego elementu strumieni while not eof do // przetwarzaj kolejne elementy strumienia i begin Generate an independent random variate ϑ(n, t); SkipElements(ϑ); // pomiń następnych ϑ elementów if not eof then begin m := Trunc (n x Random( )); // m zmienna losowa z zakresu 0 m n-1 ReadNextRecord(C[m]); t := t + ϑ + 1; end; end;

40 Streszczenia Streszczenia (synopses) - Skrótowa reprezentacja danych historycznych Wymagane własności: Szeroki zakres zastosowania Jednoprzebiegowe algorytmy utrzymania i wyznaczania wyników Duża wydajność czasowa (obciążenie procesora) i pamięciowa (zajętość pamięci) Poprawność dla różnych rozkładów danych Czułość na zmieniający się w czasie rozkład danych

41 Falki (ang. Wavelets) Pojęcie falki pochodzi z sejsmologii Falki opisują rozkład fal w impulsie W informatyce falki znalazły zastosowanie w metodach W informatyce falki znalazły zastosowanie w metodach kompresji, grafice komputerowej i bazach danych

42 Falki Funkcja macierzysta falki Haara ψ(t) jest zdefiniowana następująco: Funkcja skalująca φ(t) jest zdefiniowana i następująco: Dowolna funkcja może być ć aproksymowana przez liniową kombinację stałych funkcji:

43 Jednowymiarowe falki Haara Falki Haara umożliwiają wielopoziomową aproksymację Falki Haara umożliwiają wielopoziomową aproksymację kompletnego sygnału wejściowego (strumienia danych)

44 Jednowymiarowe falki Haara Falki: matematyczne narzędzie do hierarchicznej dekompozycji funkcji i sygnałów (rozkładu wartości strumieni danych) Falka Haara: Najprostsza falka łatwa do zrozumienia i implementacji Rekurencyjne wyznaczanie średnich i różnic między sąsiednimi parami wartości na kolejnych poziomach ogólności Rozdzielczość Średnie Utracona informacja 3 [2, 2, 0, 2, 3, 5, 4, 4] - 2 [2, 1, 4, 4] [0, -1, -1, 0] 1 [1.5, 4] [0.5, 0] 0 [2.75] [-1.25] Dekompozycja falką Haara: [2.75, -1.25, 0.5, 0, 1, -1, -1, 0]

45 Dekompozycja drzewo błędów Wynik dekompozycji umożliwia odtworzenie sygnału wyjściowego. Źródłowe wartości danych mogą być obliczone jako suma wartości wzdłuż prowadzącej do nich ścieżki ,75 1 0,5-1, , 2, 0, 2, 3, 5, 4, 4 0 0

46 Przetwarzanie drzewa błędów Rekonstrukcja źródłowych wartości danych d(i) d(i) = Σ (+/-1) * współczynnik Obliczanie sum częściowych d(l:h) d(l:h) = liniowa kombinacja współczynników na ścieżkach od l do h Złożoność O(logN) d(1:4) = 4 * * (-1.25) = 6 1 0, ,75-1, , 2, 0, 2, 3, 5, 4, 4 d(6) = 2.75 (-1.25) + 0 (-1) = 5 0 0

47 Streszczenia za pomocą falek Możliwości kompresji drzew dekompozycji do zadanego rozmiaru drzewa Dla danego drzewa dekompozycji i zadanego obszaru pamięci B przeznaczonego dla streszczenia (B << D ); wyznacz wartość progową dla współczynników x, taką ą by: istniało dokładnie B współczynników o wartościach mniejszych od x. 0,5 2,75 D = 8 B = 4 x = 1-1, , 2, 1, 1, 4, 4, 4, 4 0 0

48 Szkicowanie Techniki szkicowania (sketching techniques) Szkicowanie polega na budowaniu podsumowania strumienia danych przy użyciu małej ilości pamięci. Jest stosowane do szacowania odpowiedzi na pewne zapytania a a (najczęściej zapytania a a o odległości między danymi) do zbioru danych.

49 Histogramy Histogramy są popularnym w systemach baz danych narzędziem ę służącym ą do szacowania rozkładów danych select * from pracownicy where płaca < Oszacuj selektywność zapytania, przy założeniu, że: min(płaca) = 1200 zł max(płaca) = zł brak informacji o rozkładzie danych Dla rozkładu równomiernego σ = ( )/( ) = 0,4 40% pracowników zarabia poniżej zł

50 Histogramy Celem jest utrzymywanie y informacji o rozkładzie w efekywny y sposób. Typy histogramów: EquiWidth - podział dziedziny na przedziały o stałej długości: <v 0 v 0 +d) n 0, <v 0 +d v 0 +2d) n 1,... EquiDepth - podział zbioru danych na n podzbiorów o stałej wielkości: ( ) 1, ( ) 2,..., ( ) n End-Biased - najczęściej występujące wartości: , , , inne 459 V-Optymalne minimalizujące wariancję częstości wartości przechowywanych w poszczególnych przedziałach

51 Histogramy dynamiczne Histogramy stosowane z bazach danych w procesie optymalizacji zapytań są statyczne. Ich utrzymanie polega na okresowej przebudowie od podstaw. W strumieniowych bazach danych niezbędne jest ciągłe, przyrostowe utrzymywanie histogramów. Jednoprzebiegowe metody utrzymania histogramów opierają się na próbkowaniu strumienia wejściowego. Dla histogramu Equi-Depth na podstawie próbki szacowane są wartości graniczne przedziałów. Na podstawie nierówności Hoeffdinga można wykazać, że danych kwantyl próbki mieści się w przedziale: (q - ε, q+ε) z prawdopodobieństwem 1 - σ, jeżeli rozmiar próbki jest większy niż O(log(σ)/ε 2.

52 Micro-Clusters Co to są mikro-grupy Mikro-grupa jest zbiorem elementarnych punktów danych, które znajdują się na tyle blisko siebie, że są traktowane jako pojedyncze punkty w dalszej analizie makro-grup. Perspektywa mikro-grup Perspektywa makro-grup

53 Micro-Clusters Jak pamiętane są mikro-grupy Mikro-grupa jest reprezentowana przez uporządkowaną piątkę: x x t t CFT ( C ) = ( CF 2, CF 1, CF 2, CF 1, n ) Dla każdego wymiaru, suma kwadratów wartości danych jest utrzymywana w CF2 x. Stąd CF2 x zawiera d wartości. Dla każdego wymiaru, suma wartości danych jest utrzymywana w CF1 x. Stąd CF1 x zawiera d wartości. Suma kwadratów znaczników czasowych jest utrzymywana w CF2 t. Suma znaczników czasowych jest utrzymywana w CF2 t.

54 BaseStream Uniwersalny komercyjny DSMS

55 BaseStream CREATE STREAM TicksWithTime AS SELECT *, now() AS LocalTime FROM TicksIn; CREATE STREAM TicksPerSecond AS SELECT openval() AS StartOfTimeSlice, count() AS NumberTicks,FeedName FROM TicksWithTime [SIZE 1 ON LocalTime PARTITION BY FeedName] GROUP BY FeedName;

56 BaseStream Następujący przykład pokazuje buforowanie strumienia danych w.net: using StreamBase.SB; using StreamBase.SB.Client; // connect to the StreamBase Server. string uri = "sb://localhost:10000"; int buf_size = 100; int flush_interval = 1000; StreamBaseClient t client = new StreamBaseClient(uri); t( i) client.enablebuffering(buf_size,flush_interval);

Strumieniowe bazy danych

Strumieniowe bazy danych Strumieniowe bazy danych STREAM: The Stanford Data Stream Management System Michał Stochmiałek Michał Stochmiałek Strumieniowe bazy danych 1/23 Plan prezentacji Wprowadzenie Problem

Bardziej szczegółowo

Strumieniowe bazy danych. Piotr i Paweł

Strumieniowe bazy danych. Piotr i Paweł Strumieniowe bazy danych Piotr i Paweł Źródła zapotrzebowania na DSMS Finanse (giełda, przewidywanie trendów, wykrywanie defraudacji, szacowanie ryzyka) Zarządzanie ruchem i wydajnością sieci telekomunikacyjnych

Bardziej szczegółowo

Strumieniowe bazy danych

Strumieniowe bazy danych Michał Stochmiałek Strumieniowe bazy danych STREAM: The Stanford Data Stream Management System Politechnika Wrocławska, Wrocław, styczeń 2005 Streszczenie Artykuł wprowadza czytelnika

Bardziej szczegółowo

Systemy GIS Tworzenie zapytań w bazach danych

Systemy GIS Tworzenie zapytań w bazach danych Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE

Bardziej szczegółowo

Wykład XII. optymalizacja w relacyjnych bazach danych

Wykład XII. optymalizacja w relacyjnych bazach danych Optymalizacja wyznaczenie spośród dopuszczalnych rozwiązań danego problemu, rozwiązania najlepszego ze względu na przyjęte kryterium jakości ( np. koszt, zysk, niezawodność ) optymalizacja w relacyjnych

Bardziej szczegółowo

Wykład I. Wprowadzenie do baz danych

Wykład I. Wprowadzenie do baz danych Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles

Bardziej szczegółowo

Bazy danych wykład dwunasty. dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36

Bazy danych wykład dwunasty. dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36 Bazy danych wykład dwunasty Wykonywanie i optymalizacja zapytań SQL Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36 Model kosztów

Bardziej szczegółowo

Alicja Marszałek Różne rodzaje baz danych

Alicja Marszałek Różne rodzaje baz danych Alicja Marszałek Różne rodzaje baz danych Rodzaje baz danych Bazy danych można podzielić wg struktur organizacji danych, których używają. Można podzielić je na: Bazy proste Bazy złożone Bazy proste Bazy

Bardziej szczegółowo

Aproksymacja funkcji a regresja symboliczna

Aproksymacja funkcji a regresja symboliczna Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą

Bardziej szczegółowo

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, 2017 Spis treści O autorze 9 Wprowadzenie 11 Lekcja 1. Zrozumieć SQL 15 Podstawy baz danych 15 Język SQL

Bardziej szczegółowo

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych. Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(), zwaną funkcją aproksymującą

Bardziej szczegółowo

Indeksy w bazach danych. Motywacje. Techniki indeksowania w eksploracji danych. Plan prezentacji. Dotychczasowe prace badawcze skupiały się na

Indeksy w bazach danych. Motywacje. Techniki indeksowania w eksploracji danych. Plan prezentacji. Dotychczasowe prace badawcze skupiały się na Techniki indeksowania w eksploracji danych Maciej Zakrzewicz Instytut Informatyki Politechnika Poznańska Plan prezentacji Zastosowania indeksów w systemach baz danych Wprowadzenie do metod eksploracji

Bardziej szczegółowo

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Modelowanie hierarchicznych struktur w relacyjnych bazach danych Modelowanie hierarchicznych struktur w relacyjnych bazach danych Wiktor Warmus (wiktorwarmus@gmail.com) Kamil Witecki (kamil@witecki.net.pl) 5 maja 2010 Motywacje Teoria relacyjnych baz danych Do czego

Bardziej szczegółowo

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java Informatyka I Standard JDBC Programowanie aplikacji bazodanowych w języku Java dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Standard JDBC Java DataBase Connectivity uniwersalny

Bardziej szczegółowo

Optymalizacja poleceń SQL Wprowadzenie

Optymalizacja poleceń SQL Wprowadzenie Optymalizacja poleceń SQL Wprowadzenie 1 Fazy przetwarzania polecenia SQL 2 Faza parsingu (1) Krok 1. Test składniowy weryfikacja poprawności składniowej polecenia SQL. Krok 2. Test semantyczny m.in. weryfikacja

Bardziej szczegółowo

Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz Obliczenia równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 15 czerwca 2001 Spis treści Przedmowa............................................

Bardziej szczegółowo

Definicja pliku kratowego

Definicja pliku kratowego Pliki kratowe Definicja pliku kratowego Plik kratowy (ang grid file) jest strukturą wspierająca realizację zapytań wielowymiarowych Uporządkowanie rekordów, zawierających dane wielowymiarowe w pliku kratowym,

Bardziej szczegółowo

DECLARE VARIABLE zmienna1 typ danych; BEGIN

DECLARE VARIABLE zmienna1 typ danych; BEGIN Procedury zapamiętane w Interbase - samodzielne programy napisane w specjalnym języku (właściwym dla serwera baz danych Interbase), który umożliwia tworzenie zapytań, pętli, instrukcji warunkowych itp.;

Bardziej szczegółowo

Post-relacyjne bazy danych

Post-relacyjne bazy danych Post-relacyjne bazy danych Historia języka SQL 1. Sequel-XRM 2. Sequel/2 SQL 3. ANSI SQL 1986 (ISO 1987) 4. X/Open (UNIX), SAA(IBM) 5. ANSI SQL 1989 6. ANSI/ISO SQL 92 Entry level 7. ANSI SQL 92 (SQL 2)

Bardziej szczegółowo

Optymalizacja poleceń SQL

Optymalizacja poleceń SQL Optymalizacja poleceń SQL Przetwarzanie polecenia SQL użytkownik polecenie PARSER słownik REGUŁOWY RBO plan zapytania RODZAJ OPTYMALIZATORA? GENERATOR KROTEK plan wykonania statystyki KOSZTOWY CBO plan

Bardziej szczegółowo

Oracle11g: Wprowadzenie do SQL

Oracle11g: Wprowadzenie do SQL Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom

Bardziej szczegółowo

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC. Informatyka I Programowanie aplikacji bazodanowych w języku Java. Standard JDBC. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 Standard JDBC Java DataBase Connectivity

Bardziej szczegółowo

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X Wrocław 2006 INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl INTERNETOWE BAZY DANYCH PLAN NA DZIŚ zajęcia 1: 2. Procedury składowane

Bardziej szczegółowo

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

PRZESTRZENNE BAZY DANYCH WYKŁAD 2 PRZESTRZENNE BAZY DANYCH WYKŁAD 2 Baza danych to zbiór plików, które fizycznie przechowują dane oraz system, który nimi zarządza (DBMS, ang. Database Management System). Zadaniem DBMS jest prawidłowe przechowywanie

Bardziej szczegółowo

Szyfrowanie danych w SZBD

Szyfrowanie danych w SZBD Szyfrowanie danych w SZBD dr inż. Maciej Nikodem Instytut Informatyki, Automatyki i Robotyki maciej.nikodem@pwr.wroc.pl 1 Czy potrzebujemy szyfrowania w SZBD? prawo, kontrola dostępu, ochrona przed: administratorem,

Bardziej szczegółowo

Przykładowe B+ drzewo

Przykładowe B+ drzewo Przykładowe B+ drzewo 3 8 1 3 7 8 12 Jak obliczyć rząd indeksu p Dane: rozmiar klucza V, rozmiar wskaźnika do bloku P, rozmiar bloku B, liczba rekordów w indeksowanym pliku danych r i liczba bloków pliku

Bardziej szczegółowo

Przestrzenne bazy danych Podstawy języka SQL

Przestrzenne bazy danych Podstawy języka SQL Przestrzenne bazy danych Podstawy języka SQL Stanisława Porzycka-Strzelczyk porzycka@agh.edu.pl home.agh.edu.pl/~porzycka Konsultacje: wtorek godzina 16-17, p. 350 A (budynek A0) 1 SQL Język SQL (ang.structured

Bardziej szczegółowo

5. Model komunikujących się procesów, komunikaty

5. Model komunikujących się procesów, komunikaty Jędrzej Ułasiewicz str. 1 5. Model komunikujących się procesów, komunikaty Obecnie stosuje się następujące modele przetwarzania: Model procesów i komunikatów Model procesów komunikujących się poprzez pamięć

Bardziej szczegółowo

Zastosowanie strumieniowych baz danych

Zastosowanie strumieniowych baz danych Zastosowanie strumieniowych baz danych Krzysztof Gogól Agenda 1 Dlaczego strumieniowe bazy danych? 2 Prototypowe DSMS 3 Otwarte problemy 4 DSMS czyli okna 5 Przykłady zastosowania 18.05.09 Page 2 Ernst

Bardziej szczegółowo

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000 Bazy Danych LITERATURA C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000 J. D. Ullman, Systemy baz danych, WNT - W-wa, 1998 J. D. Ullman, J. Widom, Podstawowy

Bardziej szczegółowo

Zaawansowane Systemy Baz Danych

Zaawansowane Systemy Baz Danych Zaawansowane Systemy Baz Danych dr inż. Olga Siedlecka olga.siedlecka@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska 4 maja 2009 r. Plan seminarium Wprowadzenie Stosowane

Bardziej szczegółowo

METODY INŻYNIERII WIEDZY ASOCJACYJNA REPREZENTACJA POWIĄZANYCH TABEL I WNIOSKOWANIE IGOR CZAJKOWSKI

METODY INŻYNIERII WIEDZY ASOCJACYJNA REPREZENTACJA POWIĄZANYCH TABEL I WNIOSKOWANIE IGOR CZAJKOWSKI METODY INŻYNIERII WIEDZY ASOCJACYJNA REPREZENTACJA POWIĄZANYCH TABEL I WNIOSKOWANIE IGOR CZAJKOWSKI CELE PROJEKTU Transformacja dowolnej bazy danych w min. 3 postaci normalnej do postaci Asocjacyjnej Grafowej

Bardziej szczegółowo

Transformacja wiedzy w budowie i eksploatacji maszyn

Transformacja wiedzy w budowie i eksploatacji maszyn Uniwersytet Technologiczno Przyrodniczy im. Jana i Jędrzeja Śniadeckich w Bydgoszczy Wydział Mechaniczny Transformacja wiedzy w budowie i eksploatacji maszyn Bogdan ŻÓŁTOWSKI W pracy przedstawiono proces

Bardziej szczegółowo

1.7. Eksploracja danych: pogłębianie, przeszukiwanie i wyławianie

1.7. Eksploracja danych: pogłębianie, przeszukiwanie i wyławianie Wykaz tabel Wykaz rysunków Przedmowa 1. Wprowadzenie 1.1. Wprowadzenie do eksploracji danych 1.2. Natura zbiorów danych 1.3. Rodzaje struktur: modele i wzorce 1.4. Zadania eksploracji danych 1.5. Komponenty

Bardziej szczegółowo

Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to

Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to wprowadzili J. Hartmanis i R. Stearns. Najczęściej przez zasób rozumie się czas oraz pamięć dlatego

Bardziej szczegółowo

Pojęcie bazy danych. Funkcje i możliwości.

Pojęcie bazy danych. Funkcje i możliwości. Pojęcie bazy danych. Funkcje i możliwości. Pojęcie bazy danych Baza danych to: zbiór informacji zapisanych według ściśle określonych reguł, w strukturach odpowiadających założonemu modelowi danych, zbiór

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych Spis treści Wprowadzenie... ix Organizacja ksiąŝki... ix Od czego zacząć?... x Konwencje przyjęte w ksiąŝce... x Wymagania systemowe... xi Przykłady kodu... xii Konfiguracja SQL Server 2005 Express Edition...

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umożliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko Podstawowe pojęcia dotyczące relacyjnych baz danych mgr inż. Krzysztof Szałajko Czym jest baza danych? Co rozumiemy przez dane? Czym jest system zarządzania bazą danych? 2 / 25 Baza danych Baza danych

Bardziej szczegółowo

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu Data Mining Wykład 9 Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster Plan wykładu Wprowadzanie Definicja problemu Klasyfikacja metod grupowania Grupowanie hierarchiczne Sformułowanie problemu

Bardziej szczegółowo

Systemy baz danych. mgr inż. Sylwia Glińska

Systemy baz danych. mgr inż. Sylwia Glińska Systemy baz danych Wykład 1 mgr inż. Sylwia Glińska Baza danych Baza danych to uporządkowany zbiór danych z określonej dziedziny tematycznej, zorganizowany w sposób ułatwiający do nich dostęp. System zarządzania

Bardziej szczegółowo

Programowanie funkcyjne wprowadzenie Specyfikacje formalne i programy funkcyjne

Programowanie funkcyjne wprowadzenie Specyfikacje formalne i programy funkcyjne Programowanie funkcyjne wprowadzenie Specyfikacje formalne i programy funkcyjne dr inż. Marcin Szlenk Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych m.szlenk@elka.pw.edu.pl Paradygmaty

Bardziej szczegółowo

1: 2: 3: 4: 5: 6: 7: 8: 9: 10:

1: 2: 3: 4: 5: 6: 7: 8: 9: 10: Grupa A (LATARNIE) Imię i nazwisko: Numer albumu: 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: Nazwisko prowadzącego: 11: 12: Suma: Ocena: Zad. 1 (10 pkt) Dana jest relacja T. Podaj wynik poniższego zapytania (podaj

Bardziej szczegółowo

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania Przedmiot: Bazy danych Rok: III Semestr: V Rodzaj zajęć i liczba godzin: Studia stacjonarne Studia niestacjonarne Wykład 30 21 Ćwiczenia Laboratorium 30 21 Projekt Liczba punktów ECTS: 4 C1 C2 C3 Cel przedmiotu

Bardziej szczegółowo

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,

Bardziej szczegółowo

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych Plan wykładu Bazy danych Wykład 9: Przechodzenie od diagramów E/R do modelu relacyjnego. Definiowanie perspektyw. Diagramy E/R - powtórzenie Relacyjne bazy danych Od diagramów E/R do relacji SQL - perspektywy

Bardziej szczegółowo

INFORMATYKA Pytania ogólne na egzamin dyplomowy

INFORMATYKA Pytania ogólne na egzamin dyplomowy INFORMATYKA Pytania ogólne na egzamin dyplomowy 1. Wyjaśnić pojęcia problem, algorytm. 2. Podać definicję złożoności czasowej. 3. Podać definicję złożoności pamięciowej. 4. Typy danych w języku C. 5. Instrukcja

Bardziej szczegółowo

Microsoft SQL Server Podstawy T-SQL

Microsoft SQL Server Podstawy T-SQL Itzik Ben-Gan Microsoft SQL Server Podstawy T-SQL 2012 przełożył Leszek Biolik APN Promise, Warszawa 2012 Spis treści Przedmowa.... xiii Wprowadzenie... xv Podziękowania... xix 1 Podstawy zapytań i programowania

Bardziej szczegółowo

Teoretyczne podstawy informatyki

Teoretyczne podstawy informatyki Teoretyczne podstawy informatyki Wykład 8b: Algebra relacyjna http://hibiscus.if.uj.edu.pl/~erichter/dydaktyka2009/tpi-2009 Prof. dr hab. Elżbieta Richter-Wąs 1 Algebra relacyjna Algebra relacyjna (ang.

Bardziej szczegółowo

Baza danych. Modele danych

Baza danych. Modele danych Rola baz danych Systemy informatyczne stosowane w obsłudze działalności gospodarczej pełnią funkcję polegającą na gromadzeniu i przetwarzaniu danych. Typowe operacje wykonywane na danych w systemach ewidencyjno-sprawozdawczych

Bardziej szczegółowo

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1 Procedury wyzwalane procedury wyzwalane, cel stosowania, typy wyzwalaczy, wyzwalacze na poleceniach DML i DDL, wyzwalacze typu INSTEAD OF, przykłady zastosowania, zarządzanie wyzwalaczami 1 Procedury wyzwalane

Bardziej szczegółowo

Spis treści. Przedmowa

Spis treści. Przedmowa Spis treści Przedmowa V 1 SQL - podstawowe konstrukcje 1 Streszczenie 1 1.1 Bazy danych 1 1.2 Relacyjny model danych 2 1.3 Historia języka SQL 5 1.4 Definiowanie danych 7 1.5 Wprowadzanie zmian w tabelach

Bardziej szczegółowo

Jeśli X jest przestrzenią o nieskończonej liczbie elementów:

Jeśli X jest przestrzenią o nieskończonej liczbie elementów: Logika rozmyta 2 Zbiór rozmyty może być formalnie zapisany na dwa sposoby w zależności od tego z jakim typem przestrzeni elementów mamy do czynienia: Jeśli X jest przestrzenią o skończonej liczbie elementów

Bardziej szczegółowo

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI Bazy danych Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI Wszechnica Poranna Trzy tematy: 1. Bazy danych - jak je ugryźć? 2. Język SQL podstawy zapytań. 3. Mechanizmy wewnętrzne baz danych czyli co

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umoŝliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

Optymalizacja zapytań. Proces przetwarzania i obliczania wyniku zapytania (wyrażenia algebry relacji) w SZBD

Optymalizacja zapytań. Proces przetwarzania i obliczania wyniku zapytania (wyrażenia algebry relacji) w SZBD Optymalizacja zapytań Proces przetwarzania i obliczania wyniku zapytania (wyrażenia algebry relacji) w SZBD Elementy optymalizacji Analiza zapytania i przekształcenie go do lepszej postaci. Oszacowanie

Bardziej szczegółowo

Hurtownie danych i business intelligence - wykład II. Zagadnienia do omówienia. Miejsce i rola HD w firmie

Hurtownie danych i business intelligence - wykład II. Zagadnienia do omówienia. Miejsce i rola HD w firmie Hurtownie danych i business intelligence - wykład II Paweł Skrobanek, C-3 pok. 321 pawel.skrobanek@pwr.wroc.pl oprac. Wrocław 2005-2008 Zagadnienia do omówienia 1. 2. Przegląd architektury HD 3. Warsztaty

Bardziej szczegółowo

Obiektowe bazy danych

Obiektowe bazy danych Obiektowe bazy Obiektowy model Wykład prowadzi: Tomasz Koszlajda Plan wykładu Przesłanki dla nowej generacji systemów baz Podstawowe elementy obiektowego modelu Konstruktory złożonych typów Abstrakcyjne

Bardziej szczegółowo

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38 Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem zajęcia 1 dr Jakub Boratyński pok. A38 Program zajęć Bazy danych jako podstawowy element systemów informatycznych wykorzystywanych

Bardziej szczegółowo

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, 2016 Spis treści Wprowadzenie Podziękowania xiii xvii 1 Podstawy zapytań i programowania T-SQL 1 Podstawy

Bardziej szczegółowo

MongoDB. wprowadzenie. dr inż. Paweł Boiński, Politechnika Poznańska

MongoDB. wprowadzenie. dr inż. Paweł Boiński, Politechnika Poznańska MongoDB wprowadzenie dr inż. Paweł Boiński, Politechnika Poznańska Plan Historia Podstawowe pojęcia: Dokument Kolekcja Generowanie identyfikatora Model danych Dokumenty zagnieżdżone Dokumenty z referencjami

Bardziej szczegółowo

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I Zespół TI Instytut Informatyki Uniwersytet Wrocławski ti@ii.uni.wroc.pl http://www.wsip.com.pl/serwisy/ti/ Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I Rozkład zgodny

Bardziej szczegółowo

Laboratorium Przetwarzania Sygnałów

Laboratorium Przetwarzania Sygnałów PTS - laboratorium Laboratorium Przetwarzania Sygnałów Ćwiczenie 4 Transformacja falkowa Opracował: - prof. dr hab. inż. Krzysztof Kałużyński Zakład Inżynierii Biomedycznej Instytut Metrologii i Inżynierii

Bardziej szczegółowo

Modelowanie i Programowanie Obiektowe

Modelowanie i Programowanie Obiektowe Modelowanie i Programowanie Obiektowe Wykład I: Wstęp 20 październik 2012 Programowanie obiektowe Metodyka wytwarzania oprogramowania Metodyka Metodyka ustandaryzowane dla wybranego obszaru podejście do

Bardziej szczegółowo

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:

Bardziej szczegółowo

Multi-wyszukiwarki. Mediacyjne Systemy Zapytań wprowadzenie. Architektury i technologie integracji danych Systemy Mediacyjne

Multi-wyszukiwarki. Mediacyjne Systemy Zapytań wprowadzenie. Architektury i technologie integracji danych Systemy Mediacyjne Architektury i technologie integracji danych Systemy Mediacyjne Multi-wyszukiwarki Wprowadzenie do Mediacyjnych Systemów Zapytań (MQS) Architektura MQS Cechy funkcjonalne MQS Cechy implementacyjne MQS

Bardziej szczegółowo

Bloki anonimowe w PL/SQL

Bloki anonimowe w PL/SQL Język PL/SQL PL/SQL to specjalny język proceduralny stosowany w bazach danych Oracle. Język ten stanowi rozszerzenie SQL o szereg instrukcji, znanych w proceduralnych językach programowania. Umożliwia

Bardziej szczegółowo

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Technologia Przykłady praktycznych zastosowań wyzwalaczy będą omawiane na bazie systemu MS SQL Server 2005 Wprowadzenie

Bardziej szczegółowo

Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe

Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe -- Definicje relacji i utworzenie stanu początkowego dla ćwiczeń z synchronizacji transakcji DROP TABLE Konta cascade constraints; DROP TABLE

Bardziej szczegółowo

Bazy danych Wykład zerowy. P. F. Góra

Bazy danych Wykład zerowy. P. F. Góra Bazy danych Wykład zerowy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Patron? Św. Izydor z Sewilli (VI wiek), biskup, patron Internetu (sic!), stworzył pierwszy katalog Copyright c 2011-12 P.

Bardziej szczegółowo

Wyzwalacze (triggery) Przykład

Wyzwalacze (triggery) Przykład Wyzwalacze (triggery) Trigger jest obiektem związanym z tablicą, który aktywuje się gdy do tablicy następuje odpowiednie zapytanie. W poniższym przykładzie definiujemy tablicę, a następnie trigger związany

Bardziej szczegółowo

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II Zespół TI Instytut Informatyki Uniwersytet Wrocławski ti@ii.uni.wroc.pl http://www.wsip.com.pl/serwisy/ti/ Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II Rozkład wymagający

Bardziej szczegółowo

Przydatne sztuczki - sql. Na przykładzie postgres a.

Przydatne sztuczki - sql. Na przykładzie postgres a. Przydatne sztuczki - sql. Na przykładzie postgres a. M. Wiewiórko 05/2014 Plan Uwagi wstępne Przykład Rozwiązanie Tabela testowa Plan prezentacji: Kilka uwag wstępnych. Operacje na typach tekstowych. Korzystanie

Bardziej szczegółowo

Hurtownie danych. Przetwarzanie zapytań. http://zajecia.jakubw.pl/hur ZAPYTANIA NA ZAPLECZU

Hurtownie danych. Przetwarzanie zapytań. http://zajecia.jakubw.pl/hur ZAPYTANIA NA ZAPLECZU Hurtownie danych Przetwarzanie zapytań. Jakub Wróblewski jakubw@pjwstk.edu.pl http://zajecia.jakubw.pl/hur ZAPYTANIA NA ZAPLECZU Magazyny danych operacyjnych, źródła Centralna hurtownia danych Hurtownie

Bardziej szczegółowo

Rozdział 1 Wprowadzenie do baz danych. (c) Instytut Informatyki Politechniki Poznańskiej 1

Rozdział 1 Wprowadzenie do baz danych. (c) Instytut Informatyki Politechniki Poznańskiej 1 Rozdział 1 Wprowadzenie do baz danych 1 Model danych 2 Funkcje systemu zarządzania bazą danych Wymagania spójność bazy danych po awarii trwałość danych wielodostęp poufność danych wydajność rozproszenie

Bardziej szczegółowo

Procedury i funkcje składowane

Procedury i funkcje składowane Procedury i funkcje składowane Zmienne podstawienia i zmienne wiązane, podprogramy, procedury składowane, typy argumentów, wywoływanie procedur, funkcje składowane, poziomy czystości funkcji, funkcje tablicowe

Bardziej szczegółowo

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. 77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. Przy modelowaniu bazy danych możemy wyróżnić następujące typy połączeń relacyjnych: jeden do wielu, jeden do jednego, wiele

Bardziej szczegółowo

Cele. Definiowanie wyzwalaczy

Cele. Definiowanie wyzwalaczy WYZWALACZE Definiowanie wyzwalaczy Cele Wyjaśnić cel istnienia wyzwalaczy Przedyskutować zalety wyzwalaczy Wymienić i opisać cztery typy wyzwalaczy wspieranych przez Adaptive Server Anywhere Opisać dwa

Bardziej szczegółowo

Analiza ilościowa w przetwarzaniu równoległym

Analiza ilościowa w przetwarzaniu równoległym Komputery i Systemy Równoległe Jędrzej Ułasiewicz 1 Analiza ilościowa w przetwarzaniu równoległym 10. Analiza ilościowa w przetwarzaniu równoległym...2 10.1 Kryteria efektywności przetwarzania równoległego...2

Bardziej szczegółowo

Optymalizacja w relacyjnych bazach danych - wybór wydajnej strategii obliczania wyrażenia relacyjnego.

Optymalizacja w relacyjnych bazach danych - wybór wydajnej strategii obliczania wyrażenia relacyjnego. Plan wykładu Spis treści 1 Optymalizacja 1 1.1 Etapy optymalizacji............................... 3 1.2 Transformacja zapytania............................ 3 1.3 Przepisywanie zapytań.............................

Bardziej szczegółowo

PIA PANEL INŻYNIERA AUTOMATYKA

PIA PANEL INŻYNIERA AUTOMATYKA ul. Bajana Jerzego 31d tel. + 48 399 50 42 45 01-904 Warszawa PANEL INŻYNIERA AUTOMATYKA Wszystkie nazwy handlowe i towarów występujące w niniejszej publikacji są znakami towarowymi zastrzeżonymi odpowiednich

Bardziej szczegółowo

Programowanie w C++ Wykład 6. Katarzyna Grzelak. 1 kwietnia K.Grzelak (Wykład 6) Programowanie w C++ 1 / 43

Programowanie w C++ Wykład 6. Katarzyna Grzelak. 1 kwietnia K.Grzelak (Wykład 6) Programowanie w C++ 1 / 43 Programowanie w C++ Wykład 6 Katarzyna Grzelak 1 kwietnia 2019 K.Grzelak (Wykład 6) Programowanie w C++ 1 / 43 Pojęcia z poprzednich wykładów Tablica to ciag obiektów tego samego typu, zajmujacy ciagły

Bardziej szczegółowo

Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK

Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK Paweł Lenkiewicz Polsko Japońska Wyższa Szkoła Technik Komputerowych Plan prezentacji PJWSTK

Bardziej szczegółowo

Algorytmy i złożoności. Wykład 3. Listy jednokierunkowe

Algorytmy i złożoności. Wykład 3. Listy jednokierunkowe Algorytmy i złożoności Wykład 3. Listy jednokierunkowe Wstęp. Lista jednokierunkowa jest strukturą pozwalającą na pamiętanie danych w postaci uporzadkowanej, a także na bardzo szybkie wstawianie i usuwanie

Bardziej szczegółowo

ORACLE. System Zarządzania Bazą Danych Oracle. Oracle Advanced SQL

ORACLE. System Zarządzania Bazą Danych Oracle. Oracle Advanced SQL ORACLE System Zarządzania Bazą Danych Oracle Oracle Advanced SQL wersja 1.0 Politechnika Śląska 2008 Raportowanie z wykorzystaniem fraz rollup, cube Frazy cube, rollup, grouping sets umożliwiają rozszerzoną

Bardziej szczegółowo

Zarządzanie bazą danych. Bazy Danych i Systemy informacyjne Wykład 4. Piotr Syga

Zarządzanie bazą danych. Bazy Danych i Systemy informacyjne Wykład 4. Piotr Syga Bazy Danych i Systemy informacyjne Wykład 4 Piotr Syga 26.10.2018 Procedury review Przypomnienie składni procedur Tworzenie DELIMITER $$ CREATE PROCEDURE zliczacz (OUT wynik INT) BEGIN operacje... END

Bardziej szczegółowo

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia ZP/ITS/11/2012 Załącznik nr 1a do SIWZ ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia Przedmiotem zamówienia jest: Przygotowanie zajęć dydaktycznych w postaci kursów e-learningowych przeznaczonych

Bardziej szczegółowo

Optymalizacja poleceń SQL Statystyki

Optymalizacja poleceń SQL Statystyki Optymalizacja poleceń SQL Statystyki 1 Statystyki (1) Informacje, opisujące dane i struktury obiektów bazy danych. Przechowywane w słowniku danych. Używane przez optymalizator do oszacowania: selektywności

Bardziej szczegółowo

Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze,

Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze, Oznaczenia: Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze, to interesuje nas złożoność obliczeniowa

Bardziej szczegółowo

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Usługi analityczne budowa kostki analitycznej Część pierwsza. Usługi analityczne budowa kostki analitycznej Część pierwsza. Wprowadzenie W wielu dziedzinach działalności człowieka analiza zebranych danych jest jednym z najważniejszych mechanizmów podejmowania decyzji.

Bardziej szczegółowo

Algorytmy i Struktury Danych

Algorytmy i Struktury Danych Algorytmy i Struktury Danych Kopce Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 11 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych Wykład 11 1 / 69 Plan wykładu

Bardziej szczegółowo

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT Studia podyplomowe Inżynieria oprogramowania współfinansowane przez Unię Europejska w ramach Europejskiego Funduszu Społecznego Projekt Studia podyplomowe z zakresu wytwarzania oprogramowania oraz zarządzania

Bardziej szczegółowo

Kompresja danych DKDA (7)

Kompresja danych DKDA (7) Kompresja danych DKDA (7) Marcin Gogolewski marcing@wmi.amu.edu.pl Uniwersytet im. Adama Mickiewicza w Poznaniu Poznań, 22 listopada 2016 1 Kwantyzacja skalarna Wprowadzenie Analiza jakości Typy kwantyzatorów

Bardziej szczegółowo

Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca:

Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca: 1.1. Podstawowe pojęcia Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca: informatykę (włącznie ze sprzętem komputerowym oraz oprogramowaniem używanym do tworzenia, przesyłania,

Bardziej szczegółowo

Bazy danych 2. Wykład 1

Bazy danych 2. Wykład 1 Bazy danych 2 Wykład 1 Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi E-mail: standardowy ajasi@math.uni.opole.pl Sprawy organizacyjne Program wykładu

Bardziej szczegółowo

Bazy danych i usługi sieciowe

Bazy danych i usługi sieciowe Bazy danych i usługi sieciowe Wstęp do problematyki baz danych Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS w. I Jesień 2014 1 / 17 Plan wykładu 1 Bazy danych 1 Motywacja

Bardziej szczegółowo

Optymalizacja. Plan wykonania polecenia SQL (1) Plan wykonania polecenia SQL (2) Rozdział 19 Wprowadzenie do optymalizacji poleceń SQL

Optymalizacja. Plan wykonania polecenia SQL (1) Plan wykonania polecenia SQL (2) Rozdział 19 Wprowadzenie do optymalizacji poleceń SQL Optymalizacja Rozdział 19 Wprowadzenie do optymalizacji poleceń SQL Pojęcie i cel optymalizacji, schemat optymalizacji, plan wykonania polecenia SQL, polecenie EXPLAIN PLAN, dyrektywa AUTOTRACE, wybór

Bardziej szczegółowo

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę Podzapytania Rozdział 5 Podzapytania podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, klauzula WITH, operatory ANY, ALL i EXISTS, zapytania hierarchiczne Podzapytanie jest poleceniem

Bardziej szczegółowo