Strumieniowe bazy danych



Podobne dokumenty
Strumieniowe bazy danych

Strumieniowe bazy danych. Piotr i Paweł

Alicja Marszałek Różne rodzaje baz danych

INTEGRACJA STRUMIENIOWEGO I RELACYJNEGO SYSTEMU ZARZĄDZANIA DANYMI

Zastosowanie strumieniowych baz danych

Strumieniowe bazy danych

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

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

Dr Michał Tanaś(

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

Oracle11g: Wprowadzenie do SQL

Funkcjonalność systemów zarządzania bazami danych przestrzennych w kartografii internetowej (PosrtgreSQL/PostGIS) Krzysztof Kuśnierek

Bazy danych - wykład wstępny

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki )

Systemy GIS Tworzenie zapytań w bazach danych

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

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

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl

Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia

Język SQL. Rozdział 6. Podzapytania Podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, operatory ANY, ALL i EXISTS.

Post-relacyjne bazy danych

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

Wstęp Wprowadzenie do BD Podstawy SQL. Bazy Danych i Systemy informacyjne Wykład 1. Piotr Syga

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu:

ZASTOSOWANIE STRUMIENIOWYCH BAZ DANYCH W SYSTEMIE CZASU RZECZYWISTEGO

Relacyjne bazy danych. Podstawy SQL

Projektowani Systemów Inf.

IBM Streams MATERIAŁY DYDAKTYCZNE I SZKOLENIOWE NA STUDIA PODYPLOMOWE ORAZ NA SZKOLENIA DYSTRYBUOWANE SĄ BEZPŁATNIE

Tworzenie aplikacji bazodanowych

P o d s t a w y j ę z y k a S Q L

OLAP i hurtownie danych c.d.

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

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

Tworzenie aplikacji bazodanowych

Systemy baz danych 2 laboratorium Projekt zaliczeniowy

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

ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko. Typy rozproszonych baz danych. Systemy klient-serwer. Klient-serwer: Przykład

Wyższa Szkoła Zarządzania i Marketingu w Sochaczewie. Grzegorz Domaoski. grzegorz.domanski@wszim-sochaczew.edu.pl. MS SQL Server

Wprowadzenie do języka SQL

Zaawansowane Systemy Baz Danych

Relacyjne bazy danych. Podstawy SQL

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

Zastosowanie relacyjnych baz danych w Systemach Informacji Geograficznej

Przestrzenne bazy danych Podstawy języka SQL

BAZY DANYCH. Wykład 1: Wprowadzenie do baz danych. Marcin Czajkowski. Przygotowanie wykładu: Małgorzata Krętowska

Wykład XII. optymalizacja w relacyjnych bazach danych

IMPLEMENTACJA STRUMIENIOWEGO SYSTEMU MONITORUJĄCEGO RUCH NA SERWERZE WWW

Szyfrowanie danych w SZBD

Instrukcja do panelu administracyjnego. do zarządzania kontem FTP WebAs.

SBQL. język zapytań dla obiektowych baz danych. Kamil Adamczyk. Uniwersytet Warszawski 20.IV.2009

JDBC w LoXiMie. Interfejs Java Database Connectivity dla systemu LoXiM. Adam Michalik 2008

LITERATURA. Wprowadzenie do systemów baz danych C.J.Date; WNT Warszawa 2000

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych

strumieniowym przetwarzaniu danych

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania.

AGKPSTREAM A OPERATORY STRUMIENIOWE

Hurtownie danych - przegląd technologii Robert Wrembel Politechnika Poznańska Instytut Informatyki Robert.Wrembel@cs.put.poznan.pl

Hurtownie danych - przegląd technologii

Temporalne bazy danych

Teoretyczne podstawy informatyki

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL

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

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

Język SQL, zajęcia nr 1

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

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

SQL (ang. Structured Query Language)

Grupowanie danych klauzula GROUP BY

Analiza możliwych scenariuszy rozwoju systemu pobierania opłat za korzystanie z autostrad w Polsce

Szkolenie autoryzowane. MS Tworzenie zapytań do Microsoft SQL Server Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

Tworzenie zapytań do Microsoft SQL Server

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

mgr inż. Magdalena Deckert Poznań, r. Uczenie się klasyfikatorów przy zmieniającej się definicji klas.

Język SQL. Rozdział 7. Zaawansowane mechanizmy w zapytaniach

Podstawowe zapytania SELECT (na jednej tabeli)

Technologie baz danych

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Bazy danych i strony WWW

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

KURS ACCESS 2003 Wiadomości wstępne

Budowa komputera KROK PO KROKU! Opis wszystkich części komputera w sposób zrozumiały dla nowatorów

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

Optymalizacja poleceń SQL Wprowadzenie

Język SQL. Rozdział 2. Proste zapytania

Wprowadzenie do baz danych

Autor: Joanna Karwowska

Microsoft SQL Server Podstawy T-SQL

Bazy danych i usługi sieciowe

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

Technologie baz danych

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

Optymalizacja poleceń SQL

Programowanie obiektowe

DB2 with BLU acceleration rozwiązanie in-memory szybsze niż pamięć operacyjna&

Transkrypt:

Strumieniowe bazy danych STREAM: The Stanford Data Stream Management System Michał Stochmiałek <misto@e-informatyka.pl> Michał Stochmiałek Strumieniowe bazy danych 1/23

Plan prezentacji Wprowadzenie Problem na przykładzie Systemy DSMS Projekt STREAM Michał Stochmiałek Strumieniowe bazy danych 2/23

Problem na przykładzie Systemy DSMS Projekt STREAM Problem System analizujący ruch sieciowy: analiza wszystkich pakietów w wielu podsieciach, (nieprzerwany strumień danych z wielu źródeł) podczas analizy wykorzystywany: zbiór znanych użytkowników (identyfikacja poprzez adresy IP) dane historyczne, poprzednie analizy statystyki lista k najbardziej obciążających sieć adresów IP w ostatnich 20min procentowe wykorzystanie złącza przez klientów w ostatniej godzinie analiza sekwencji pakietów analizy ad hoc Michał Stochmiałek Strumieniowe bazy danych 3/23

Problem na przykładzie Systemy DSMS Projekt STREAM Jakie rozwiązanie zastosować? zastosowanie DBMS czy ich konstrukcja przewiduje przetwarzanie takiej ilości danych? rozwiązania połowiczne rozwiązania dedykowane Michał Stochmiałek Strumieniowe bazy danych 4/23

Problem na przykładzie Systemy DSMS Projekt STREAM Strumienie danych ciągły, nieograniczony, zmienny w czasie, dynamiczny strumień elementów danych przykłady systemów: monitorowanie i analiza ruchu sieciowego, czy drogowego logowanie dostępu do serwisów, logowanie kliknięć na stronie zapis połączeń telefonicznych analiza finansowa Michał Stochmiałek Strumieniowe bazy danych 5/23

Problem na przykładzie Systemy DSMS Projekt STREAM DBMS a DSMS Data Base Management System trwałe (persistent) relacje zapytania wykonywane w stosunkowo krótkim czasie swobodny dostęp (random access) stabilny plan zapytań Data Stream Management System ulotne (transient) strumienie (i trwałe relacje) ciągłe zapytania (continuous queries) dostęp sekwencyjny nieprzewidywalna charakterystyka danych Michał Stochmiałek Strumieniowe bazy danych 6/23

Problem na przykładzie Systemy DSMS Projekt STREAM STREAM: The Stanford Data Stream Management System projekt rozwijany na Uniwersytecie w Stanford duża ilość publikacji naukowych dotyczących różnych aspektów DSMS źródła oraz demonstracja na stronie projektu Michał Stochmiałek Strumieniowe bazy danych 7/23

Problem na przykładzie Systemy DSMS Projekt STREAM Inne projekty Niagara (University of Wisconsin-Madison, the Oregon Health & Science University) Aurora (Brandeis University, Brown University, and MIT) Telegraph (UC Berkeley s Computer Science Division) MonaCQ (Instytut Techniki i Aparatury Medycznej, Zabrze) Michał Stochmiałek Strumieniowe bazy danych 8/23

Michał Stochmiałek Strumieniowe bazy danych 9/23

czas spełnia bardzo ważną rolę w systemach DSMS czas jest dyskretny i składa się z chwil τ T, T = {1, 2,... } metafora uderzeń serca Michał Stochmiałek Strumieniowe bazy danych 10/23

Typy danych strumień - sekwencja uporządkowana czasem. Każdy element strumienia składa z krotki danych oraz czasu pojawienia się jej w strumieniu (timestamp) S = { s, τ : s krotka, τ T } relacja - tradycyjna relacja bazodanowa, ale z poczuciem czasu. Funkcja odwzorująca czas na zbiór krotek w danej chwili τ. R(τ) relacja R w chwili τ Michał Stochmiałek Strumieniowe bazy danych 11/23

Ogólnikowy schemat działania DSMS Michał Stochmiałek Strumieniowe bazy danych 12/23

Język zapytań CQL CQL bazuje na języku SQL dodaje pojęcie i interpretację strumienia dodaje operacje na strumieniach dodaje metody konwersji pomiędzy strumieniami i relacjami operatory strumień-relacja operatory relacja-strumień Michał Stochmiałek Strumieniowe bazy danych 13/23

Operatory strumień-relacja koncepcja przesuwającego się okna (ang. sliding window) ekstrakcja najnowszych danych ze strumienia do postaci relacji okno oparte na czasie S [Range 40 Seconds], S [Now] okno oparte na ilości krotek S [Rows 40] Michał Stochmiałek Strumieniowe bazy danych 14/23

Operatory relacja-relacja język CQL dziedziczy z języka SQL wszystkie operatory relacyjne SELECT P.pracownik_id, P.imie, P.nazwisko FROM wchodzacydobudynkustream [Range 30 Seconds] as W, pracownicy as P WHERE W.pracownik_id = P.pracownik_id Michał Stochmiałek Strumieniowe bazy danych 15/23

Operatory relacja-strumień strumień elementów dodanych IStream - w każdej chwili do strumienia dodawane są krotki, które zostały dodane w tej samej chwili do relacji R strumień elementów usuniętych DStream - w każdej chwili do strumienia dodawane są krotki usunięte w tej samej chwili z relacji R strumień elementów relacji RStream - w każdej chwili τ do strumienia dodawane są wszystkie elementy relacji R Michał Stochmiałek Strumieniowe bazy danych 16/23

: System naliczający opłaty za autostradę każdy samochód na autostradzie co 30s wysyła informację o swojej pozycji i prędkości autostrada podzielona jest na odcinki opłata za przejazd jest naliczana tylko gdy dany odcinek jest zatłoczony odcinek jest zatłoczony, gdy od 5min samochody poruszają się z prędkością niższą niż 60 km/h. Michał Stochmiałek Strumieniowe bazy danych 17/23

: Schemat strumienia danych predkoscsamochodowstream(samochodid,odcinekid,predkosc) samochodid - identyfikator samochodu odcinekid - identyfikator odcinka autostrady predkosc - aktualna prędkość samochodu Michał Stochmiałek Strumieniowe bazy danych 18/23

Zapytanie 1: zbiór zatłoczonych odcinków autostrady odcinek jest zatłoczony, gdy samochody od 5min poruszają się z prędkością niższą niż 60 km/h. wynik: relacja zatloczoneodcinki(odcinekid) SELECT odcinekid FROM predkoscsamochodowstream [Range 5 Minutes] GROUP BY odcinekid HAVING AVG(predkosc) < 60 Michał Stochmiałek Strumieniowe bazy danych 19/23

Zapytanie 2: liczba samochodów na autostradzie wysokość opłaty jest zależna od liczby samochodów na zatłoczonym odcinku samochód opuścił autostradę, jeżeli od 30s nie podał swojej pozycji wynik: relacja liczbasamochodow(odcinekid, liczba) SELECT odcinekid, COUNT(samochodId) as liczba FROM predkoscsamochodowstream [Range 30 Seconds] GROUP BY odcinekid Michał Stochmiałek Strumieniowe bazy danych 20/23

Zapytanie 3: wysokość opłaty za autostradę wysokość opłaty obliczamy według wzoru: bazowaopłata (ilośćsamochodów 150) wynik: strumień oplaty(samochodid, oplata) SELECT RStream(S.samochodId, oplatabazowa * (LS.liczba - 150) as oplata FROM predkoscsamochodowstream [Now] as S, zatloczoneodcinki as ZO, liczbasamochodow as LS WHERE S.odcinekId = ZO.odcinekId and ZO.odcinekId = LS.odcinekId Michał Stochmiałek Strumieniowe bazy danych 21/23

strumieniowe bazy danych - nowa klasa baz danych strumień danych - ciągły, dynamiczny, zmienny w czasie napływ nowych danych ciągłe zapytania - zapytania wykonywane często przez cały okres działania aplikacji opartej na DSMS Michał Stochmiałek Strumieniowe bazy danych 22/23

Źródła B. Babcock, S. Babu, M. Datar, R. Motwani, J. Widom, Models and Issues in Data Stream Systems, czerwiec 2002 The STREAM Group, Stanford Data Stream Management System, marzec 2003 A. Arasu, S. Babu, J. Widom, The CQL Continuous Query Language: Semantic Foundations and Query Execution Michał Stochmiałek Strumieniowe bazy danych 23/23