Strumieniowe bazy danych

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

Download "Strumieniowe bazy danych"

Transkrypt

1 Strumieniowe bazy danych Rozdział 8 Streszczenie. Jednym z największych problemów dzisiejszych aplikacji bazodanowych staje się przetwarzanie olbrzymich ilości danych napływających w sposób ciągły i nieprzerwany. Na bazie tych problemów wyrosła idea strumieniowych baz danych. Prezentowany rozdział ma na celu przybliżenie czytelnikowi tematyki przetwarzania strumieni danych, problemów związanych z tym zagadnieniem oraz samych systemów zarządzania strumieniowymi bazami danych. W rozdziale zaprezentowane zostaną także możliwości zastosowania nowej technologii w systemach telekomunikacyjnych. W dzisiejszym świecie łatwo jest znaleźć aplikacje bazodanowe, których zadaniem jest przetwarzanie olbrzymich ilości danych. Przykładem takich aplikacji mogą być systemy telekomunikacyjne, monitorujące urządzenia sieciowe czy systemy billingowe. Ważną właściwością tych systemów jest ciągły napływ danych (online). Z tego powodu dane są postrzegane raczej jako nieskończone strumienie elementów niż skończone zbiory. Taka zmiana w postrzeganiu danych była czynnikiem powodującym wzrost zainteresowania nowymi pomysłami na zarządzanie strumieniami danych. Dodatkowym czynnikiem pobudzającym środowiska naukowe do prac w tym kierunku jest brak efektywnych metod obsługi ciągłych strumieni w tradycyjnych systemach zarządzania bazami danych. W rozdziale przybliżymy pojęcia związane z bazami strumieniowymi. Przedstawimy też mechanizmy, jakie zostały wprowadzone do systemów zarządzania strumieniowymi bazami danych (ang. Data Stream Management System - DSMS) oraz architekturę przykładowego systemu bazując na implementacji TelegraphCQ. Pierwsza część pracy przedstawia teoretyczne podłoże do naszych rozważań, wprowadzając podstawowe pojęcia i definicje. W części tej przybliżymy takie pojęcia jak strumień oraz relacja. Przedstawimy związki pomiędzy tymi pojęciami, możliwości transformacji oraz przykładową architekturę DSMS. W części drugiej skupimy się na przykładowej implementacji DSMS. Podstawą do naszych rozważań będzie system TelegraphCQ, bazujący na dobrze znanym i popularnym systemie bazodanowym o nazwie PostgreSQL. Przedstawimy w tej części szczegóły doty 1 Wstęp Zygmunt Mazur: Instytut Informatyki Stosowanej, Wydział Informatyki i Zarządzania Politechniki Wrocławskiej, Wrocław, Wybrzeże Wyspiańskiego 27, zygmunt.mazur@pwr.wroc.pl Przemysław Pawluk: student Wydziału Informatyki i Zarządzania Politechniki Wrocławskiej, przemyslaw.pawluk@student.pwr.wroc.pl

2 Z. Mazur, P. Pawluk czące zmian w architekturze systemu rozwiązaniami porównaniu z rozwiązaniami relacyjnymi oraz zapoznamy czytelnika z dodanymi funkcjami. Część trzecia stanowi dyskusję możliwości zastosowania technologii strumieniowych w systemach telekomunikacyjnych. Podstawą tej dyskusji będzie system o nazwie Billing Gateway opracowany dla firmy Ericsson przez Blekinge Institute of Technology. Przedstawimy architekturę tego systemu oraz możliwości zastosowania w nim technologii strumieniowych. 2 Model strumieniowy Strumień danych reprezentuje napływające nieustannie, zmienne w czasie informacje. Źródłem tych informacji mogą być zewnętrzne urządzenia lub systemy udostępniające dane w regularnych bądź nieregularnych odstępach czasu. Element strumienia może być pobrany tylko raz, nie ma możliwości modyfikacji elementów strumienia, system nie ma także wpływu na kolejność napływających danych. Elementami strumienia mogą być krotki modelowane jak w relacyjnym modelu, mogą to także być obiekty [2], [10]. W tej części pracy przyjrzymy się teoretycznym podstawom DSMS oraz językom zapytań ciągłych. 2.1 Definicje Wprowadźmy na początek definicję strumienia oraz relacji. Strumień danych (1) S jest to nieograniczony zbiór par postaci <s,τ>, gdzie s jest krotką schematu danego dla S, a τ Γ jest znacznikiem czasowym [1], [10]. Znacznik czasowy nie jest częścią schematu strumienia, nie jest to też rodzaj klucza. Strumień danych może zawierać wiele elementów o tym samym znaczniku czasowym. Znacznik czasowy opisuje jedynie logiczny czas przybycia elementu do strumienia. Dla uproszczenia jest często opisywany za pomocą kolejnych liczb naturalnych. Relacja R (2) jest zależnym od czasu zbiorem krotek zgodnych z zadanym schematem. Dla danej chwili τ Γ możemy zapisać ją jako R(τ) [1], [10]. Definicja (2) jest różna od tradycyjnej definicji relacji. Czynnikiem odróżniającym obie definicje jest zależność od czasu. Mając tak zdefiniowany model możemy przejść do opisu zależności miedzy relacją a strumieniem. Pierwszym krokiem będzie zdefiniowanie operatorów pozwalających na transformacje relacji i strumieni. 2.2 Operatory Opisywany model pozwala na transformacje strumieni i relacji za pomocą operatorów. Jednocześnie definiuje zapytanie jako drzewo operatorów należących do jednej z trzech klas [1]: Relation-to-stream (relacja-strumień), Stream-to-relation (strumień-relacja), 78

3 Relation-to-relation (relacja-relacja). Zależności między tymi operatorami przedstawia rys. 1. Strumieniowe bazy danych Rys. 1. Operatory w modelu strumieniowym [1] W tym modelu nie są uwzględnione operatory klasy stream-to-stream Oczywiście możliwe jest wykonanie operacji odpowiadającej tym operatorom, musi być ona jednak złożeniem operatorów pozostałych grup. 2.3 Architektura Spojrzymy teraz na najbardziej ogólny model architektury DMSM. Zgodnie z opisanymi wcześniej założeniami wejściem dla takiego systemu może być strumień (strumienie) danych lub relacja. Podobnie jako wyjście może zostać wyprodukowana instancja strumienia lub relacji. Taki właśnie widok z lotu ptaka na system zarządzania strumieniami danych przedstawia rys. 2, na którym są dwa rodzaje statycznych danych, jakie mogą stanowić wejście do systemu. Są to relacje (Relations) oraz archiwum (Archive). Wprowadziliśmy to rozróżnienie dla podkreślenia różnic w powstawaniu tych danych. Relacje możemy tu rozumieć w taki sam sposób jak miało to miejsce w modelu relacyjnym, a więc jako zapisane na dysku lub innym nośniku pamięci zbiory krotek. Archiwum są to utrwalone, a więc zapisane w stałej pamięci strumienie danych, służące do zachowania ulotnego z natury strumienia w sposób jawny (explicite). Rys. 2. Ogólny widok na DSMS 79

4 Z. Mazur, P. Pawluk Każdy z elementów wyprodukowanych jako wyjście, zarówno strumień jak i archiwum może zostać wykorzystany jako wejście do następnej operacji w taki sam sposób jak dzieje się to w tradycyjnych bazach danych. 2.4 Zapytania w modelu strumieniowym W tradycyjnych systemach zarządzania bazami danych obsługa zapytań polega na dostępie do danych zapisanych trwale w pamięci. Optymalizacja zapytań polega na znalezieniu optymalnego logicznego planu zapytania, a następnie dokonaniu wyboru najbardziej efektywnych algorytmów realizujących elementarne operacje. Wybór ten jest dokonywany z uwzględnieniem charakterystyki danych przechowywanych w bazie. Wynikiem wykonania zapytania jest skończony zbiór elementów, np. krotek spełniających zadane warunki [10] Zapytania ciągłe W przypadku systemów strumieniowych to skomplikowane zadanie, jakim jest wybór optymalnej metody realizacji zapytania, staje się jeszcze trudniejsze. Dzieje się tak z kilku powodów. Po pierwsze, specyficzną cechą strumienia jest ulotność danych oraz ich olbrzymia ilość. Uniemożliwia to zapamiętanie całości strumienia. Dodatkowo dane napływają w niekontrolowanej kolejności. Zmienia to charakter wyniku zapytania. Nie jest to już skończony zbiór elementów. Zapytania są realizowane dla określonego przedziału czasowego zwanego oknem (ang. window) i zwracane w miarę napływania nowych elementów do strumienia. Okna służą do zawężenia nieskończonego strumienia do skończonego podzbioru elementów. Celem tego zabiegu jest umożliwienie systemowi wygenerowania przybliżonego wyniku zapytania ciągłego. Metody przetwarzania zapytań ciągłych oraz ich optymalizacji opisane zostały w pracy [9] Czym zatem jest zapytanie ciągłe? Zgodnie z definicją zaproponowaną przez Arnasu w pracy [1] zapytanie ciągłe (ang. continuous query) jest to drzewo operatorów, które mogą przetwarzać strumienie lub relacje. Wynikiem zapytania ciągłego może być nowy strumień [10]. Specyficzną cechą odróżniającą zapytania ciągłe od tradycyjnych zapytań w systemach relacyjnych jest możliwość zdefiniowania zapytania o dane, które zostaną dostarczone do systemu w przyszłości. Zapytanie takie zostanie zarejestrowane w systemie i będzie oczekiwać na nadejście danych. Kolejną różnicą jaką możemy zauważyć jest czas wykonania zapytania. W tradycyjnych systemach zapytania wykonywane są niezwłocznie po dostarczeniu do systemu systemach wykorzystaniem danych jakie aktualnie są dostępne systemach systemie. W systemach strumieniowych zapytania są rejestrowane i w zależności od implementacji wykonywane określoną ilość razy [7] lub przetwarzane w sposób ciągły do momentu usunięcia zapytania [1] Okna Okno jest pewnym ograniczeniem nałożonym na elementy strumienia pozwalającym zawęzić go do skończonego zbioru. Ze względu na sposób definiowania początku i końca okna wyróżniamy różne ich grupy. Okna stałe (ang. fixed windows) są to okna, których granice zostały wyspecyfikowane za pomocą stałych wartości. Okna ruchome (ang. sliding windows) odwołują się przy definicji granic do zmiennych, co pozwala na przemieszczanie się okna ponad strumieniem. Innym podziałem okien może być rozróżnienie zależne od wykorzystywanych w definicji wartości. Może to być ilość krotek - okna ilościowe (ang. count-based, tuple-based) lub czas - okna czasowe (ang. time-based). 80

5 2.5 Języki zapytań ciągłych Strumieniowe bazy danych W istniejących systemach strumieniowych baz danych dominują języki zaprojektowane jako rozszerzenie deklaratywnego języka zapytań, jakim jest SQL. Przykładami takich języków są CQL [1] lub język wykorzystany w projekcie TelegraphCQ [3]. Rozszerzenia w tych językach umożliwiają definiowanie okien i obsługę strumieni. Oddzielną grupę stanowią systemy implementujące proceduralne języki zapytań strumieniowych. Zakładają one wykorzystanie pewnego zbioru operatorów strumieniowych. Przez ich odpowiednie połączenie, zbudowanie swego rodzaju sieci, użytkownik tworzy zapytania. Przykładem takiego podejścia może być system Aurora [2], [8]. W tym rozdziale skupimy się na językach deklaratywnych Język CQL CQL (ang. Continuous Query Language) jest językiem zaprojektowanym dla systemu STREAM. Język umożliwia deklarację okien ilościowych oraz czasowych. Dodatkowo klauzula PARTITION BY umożliwia podział elementów strumienia na grupy, na zasadach podobnych do działania klauzuli GROUP BY w SQL. Przykładowe zapytanie zapisane za pomocą CQL mogłoby mieć postać: Select distinct S.pojazd_id,S.nr_drogi,S.nr_odcinka From PozPojazduStr S [Range 30 Seconds] A, PozPojazduStr S [Partition by pojazd_id Rows 1] B Where A.pojazd_id = B.pojazd_id W przykładzie mamy daną bazę strumieniową obsługującą dane o położeniu pojazdów. Baza zawiera jeden strumień danych: PozPojazduStr(pojazd_id, predkosc, nr_drogi, nr_odcinka,kierunek) W strumieniu rejestrowane są co 30 sekund informacje o położeniu pojazdu, prędkości i kierunku ruchu. Przytoczone wcześniej zapytanie jako wynik poda nam pogrupowane według pola pojazd_id ostatnie zapisy dotyczące położenia pojazdów. Okno A w tym zapytaniu jest przykładem okna czasowego wybierającego elementy ze strumienia, które zostały dodane do niego w ciągu ostatnich 30 sekund. Okno B jest przykładem okna ilościowego wyznaczającego ostatni zapis dla każdego z pojazdów. Operator distinct eliminuje powtórzenia [10] TelegraphCQ W projekcie TelegraphCQ zaproponowano deklarację okna w postaci pętli for z iteratorem t, którego wartość odpowiada danej chwili (znacznik czasowy) [10]. Taki mało przyjazny dla użytkownika zapis nie jest jednak propozycją składni zapytań, jak podają autorzy w [4], a jedynie niskopoziomowym mechanizmem. Składnia klauzuli zawierającej deklarację okna wygląda następująco: For(t=initial_value; continua_condition(t); change(t)){ WindowIS(Stream1; left_end(t); right_end(t)); WindowIS(Stream1; left_end(t); right_end(t)); } 81

6 Z. Mazur, P. Pawluk W tej implementacji nie ma możliwości definiowania okien ilościowych. Można natomiast sterować ilością przebiegów czyli określać, ile razy zapytanie zostanie wykonane. Definiuje to continua_condition(t) wraz ze zmianą iteratora change(t). Co ciekawe autorzy zrezygnowali z fizycznych miar czasu jakie były zastosowane w CQL na rzecz logicznej reprezentacji. Konstrukcje zaproponowane w TelegraphCQ pozwalają zmieniać strumień o określonej granulacji czasu na strumień o innej granulacji czasu. Składnię zaproponowaną na początku zmodyfikowano w późniejszym okresie, wprowadzając nowy procesor zapytań o nazwie Psoup [4]. Nowa składnia opisana została w pracy [4]. Zmiany dotyczą deklaracji okien, a nowa składnia wygląda następująco: Select atr_list From stream_list Where where_condition Begin begin_condition End end_condition W zapytaniu takim mamy możliwość odwołania się np. do zmiennej określającej czas uruchomienia zapytania NOW. Czas, podobnie jak było to ustalone wcześniej, jest przedstawiany w reprezentacji logicznej, nie zaś jak w CQL za pomocą fizycznych miar. 3 TelegraphCQ jako przykład DSMS W tej części rozdziału przyjrzymy się bliżej przykładowej implementacji DSMS o nazwie TelegraphCQ. System ten wyrósł na bazie systemu zarządzania relacyjną bazą danych PostgreSQL. System został zaprojektowany i zaimplementowany w Berkley University. Po nieudanych próbach napisania systemu strumieniowego od podstaw, zrodziła się idea, aby wykorzystać doświadczenia zebrane w czasie budowania systemu relacyjnego. 3.1 Architektura PostgreSQL Na początek przyjrzyjmy się architekturze systemu, będącego punktem wyjścia do budowania systemu strumieniowego. Wykorzystywana już od wielu lat idea baz relacyjnych stanowiła, jak się okazało, dobrą podstawę. Rys. 3 przedstawia schemat architektoniczny serwera PostgreSQL. Na szaro przedstawione zostały elementy niewymagające istotnych zmian przy implementacji systemu obsługującego strumienie danych. W implementacji Postgre- SQL wykorzystany został model zwany process-per-connection. Oznacza to, że dla każdego nowego połączenia Postmaster tworzy nowy proces serwera. Następnie obsługę tego połączenia przejmuje proces Listener. Odpowiada on za akceptację połączeń oraz odbieranie zapytań od klienta i zwracanie wyników. Kolejne zaangażowane w przetwarzanie zapytania procesy to Parser oraz Optimizer, które odpowiadają za budowę planu zapytania i jego optymalizację. Plan ten jest następnie wykonywany przez proces Executor, który wykorzystuje do tego różne metody dostępu do danych. Wyniki zapytań mogą być buforowane, aby przyspieszyć wykonanie zapytań w przyszłości [7]. Idea wykorzystywana w systemach relacyjnych, zakładająca, że dane są przechowywane w pamięci trwałej, zapytania natomiast pojawiają się i muszą zostać obsłużone, nie znalazła zastosowania w bazach strumieniowych. Ulotność i nieograniczona ilość danych powoduje potrzebę zmiany modelu. Pomysł na rozwiązanie tego problemu przedstawimy w kolejnej części pracy. 82

7 Strumieniowe bazy danych Rys. 3. Architektura PostgreSQL [7] 3.2 Architektura TelegraphCQ Ze względu na inna specyfikę danych (nieograniczone, zmienne, ulotne strumienie) zmieniła się filozofia, jaką kierowali się twórcy systemu. Model process-per-connection został zmieniony na inny, gdzie tylko część serwera jest replikowana (fork). Wprowadzono też nowe mechanizmy mające umożliwić obsługę strumieni danych. Schemat architektury wraz z przepływami danych przedstawiony został na rys. 4. Rysunek ten przedstawia serwer, w skład którego wchodzą trzy podstawowe procesy: TelegraphCQ Front End (FE), TelegraphCQ Back End (BE) oraz Shared Memory Infrastructure (SMI). Jedynie proces FE jest replikowany przy nowym połączeniu. Proces Listener, stanowiący część procesu FE, działa podobnie jak w PostgreSQL tzn. akceptuje połączenia, odpowiada za przechwytywanie zapytań od klienta oraz zwracanie wyników. W tym miejscu znajdujemy pierwszą znaczącą różnicę pomiędzy TelegraphCQ oraz PostgreSQL. W TelegraphCQ mamy dwa punkty przetwarzania zapytań w zależności 83

8 Z. Mazur, P. Pawluk od ich charakteru. Zapytania, które nie są ciągłe zostają przetworzone przez FE a wyniki zostają zwrócone klientowi. Zapytania o charakterze ciągłym przekazywane są do procesu BE, którego zadaniem jest obsługa tego typu zapytań. Procesy FE oraz BE komunikują się za pośrednictwem pamięci współdzielonej zarządzanej przez SMI. W pamięci tej znajduje się kolejka, w której umieszczane są plany zapytań wygenerowanych przez Planner. Plany zapytań pobierane są z kolejki i przetwarzane przez BE. BE wykonując plan zapytania skanuje bufor pamięci w poszukiwaniu nowych elementów strumienia. Nowe elementy są przechwytywane przez mechanizm zwany Wrapper i umieszczane w buforze pamięci. Mechanizm wrapper omówimy w kolejnej części pracy. Na podstawie danych z bufora generowane są wyniki dla przetwarzanych zapytań i umieszczane w specyficznej dla klienta kolejce. Rezultaty następnie są pobierane z kolejki przez FE i przekazywane klientowi. Tak zaprojektowana architektura pozwala na dostosowanie systemu do specyficznej sytuacji, w której to pytania są składowane, a dane, na których zapytania mają operować, napływają w sposób ciągły i są ulotne. Rys. 4. Architektura TelegraphCQ [7] 3.3 Wrapper Wrapper jest mechanizmem pozwalającym pozyskać dane z zewnętrznego źródła i wprowadzić je w postaci strumienia danych do systemu. Procesem odpowiedzialnym za obsługę zewnętrznych źródeł danych jest TelegraphCQ Wrapper Clearing House (WCH). Wrapper jest rodzajem funkcji zdefiniowanej przez użytkownika tłumaczącej dane wejściowe na 84

9 Strumieniowe bazy danych zrozumiałe dla systemu elementy. WCH odpowiada za zaakceptowanie połączenia ze źródłem, załadowanie i uruchomienie odpowiedniej funkcji wrappera, gdy dane są dostępne, zamknięcie połączenia, gdy zakończy się interakcja ze źródłem. W obecnym wydaniu TelegraphCQ proces WCH jest zaimplementowany jako usługa nasłuchująca na określonym porcie w oczekiwaniu na połączenie. Ponieważ w systemie TelegraphCQ można zadeklarować dwa rodzaje strumieni, archiwizowany i niearchiwizowany, stąd występują różnice w ich obsłudze przez WCH. Strumienie archiwizowane są przetwarzane przez WCH, krotki zapisywane są w buforze, aby były dostępne dla innych procesów, a po wypełnieniu bufor jest zapisywany na dysk, co umożliwia przetwarzanie danych ze strumienia off-line. Dla strumieni, które nie wymagają archiwizacji ostatni krok nie jest wykonywany, a dane w buforze zostają nadpisane [7]. 3.4 Problemy z zapytaniami ciągłymi Obsługa zapytań ciągłych jest rozciągnięta w czasie. Ta nowa, nie występująca w tradycyjnych bazach danych, charakterystyka powoduje konieczność poszukiwania metod wykrywania i rozwiązywania problemów występujących w czasie przetwarzania zapytań rozciągniętych w czasie. Problem ten został szczegółowo opisany w pracy [5]. Próbując rozwiązać ten problem napotykamy na kolejne problemy związane z redundancją źródeł danych, zachowaniem ich spójności i oczywiście wydajności całego systemu. Opis tych problemów nie jest jednak celem tej pracy. Wspominamy o nich jedynie ze względu na to, że stanowią ciekawy i mało poznany aspekt przetwarzania rozciągniętego w czasie. 4 Możliwości zastosowania DSMS Podstawą do naszych rozważań w tej części pracy będzie system o nazwie Billing Gateway (BG) zaprojektowany i zaimplementowany dla firmy Ericsson. Projekt systemu powstał w Blekinge Institute of Technology w Ronneby w Szwecji. Architektura tego systemu została opisana w pracy [6]. 4.1 Opis systemu Billing Gateway BG jest systemem odpowiedzialnym za transfer, filtrowanie oraz tłumaczenie danych billingowych pochodzących z elementów sieciowych (NE, ang. Network Elements). Dane następnie są przesyłane do innych systemów, np. systemu billingowego czy wykrywających nieprawidłowości. Ogólny widok systemu przedstawia rys. 5. Proces wraz z dynamicznymi elementami jest przedstawiony na rys. 6. Dane są zbierane z wejścia i składowane w buforze wejściowym. Następnie są pobierane z bufora, przetwarzane i składowane w buforze wyjściowym gdzie czekają na rozdystrybuowanie pomiędzy inne systemy. System BG wykorzystuje pliki jako narzędzie składowania danych tymczasowych. W kolejnej części zaproponujemy zmianę tego procesu przez zaaplikowanie w systemie BSMS odpowiedzialnego za filtrowanie i tłumaczenie danych pochodzących z wejścia. 85

10 Z. Mazur, P. Pawluk Rys. 5. Billing Gateway widok ogólny [6] Rys. 6. Proces przetwarzania danych w BG [6] Autorskim pomysłem na zastosowanie strumieniowych baz danych w środowisku telekomunikacyjnym jest wykorzystanie ich w systemie BG. DSMS miałby być odpowiedzialny za filtrowanie oraz przetwarzanie danych pochodzących od NE. Obecny system działa w sposób pokazany na rys. 7. Na danych wejściowych działają filtry, które mogą być łączone ze sobą w swego rodzaju łańcuchy filtrujące. Przefiltrowane dane poddawane są następnie formatowaniu i przesyłane dalej. Dobrym rozwiązaniem wydaje się zastąpienie procesów filtrujących dane przez DSMS. Filtrami w takim wypadku byłyby zarejestrowane zapytania ciągłe. Formatowanie danych, przynajmniej częściowo mogłoby także być wykonane przez DSMS. Niewątpliwą zaletą takiego rozwiązania byłaby olbrzymia elastyczność w definiowaniu i wymienianiu filtrów. Zmiana kryteriów filtrowania nie wymagałaby żadnej ingerencji w system poza zarejestrowaniem lub zmianą zapytania ciągłego. Dodatkowo obsługa buforowania danych nie była 4.2 Propozycje zmian 86

11 Strumieniowe bazy danych by już w gestii programisty, znalazłaby się natomiast wewnątrz DSMS. Spowodowałoby to ograniczenie nakładów potrzebnych na wytworzenie systemu. Rys. 7. Schemat przetwarzania w BG [6] Trudną do oceny cechą jest w tym wypadku wydajność. Zależy ona niestety od bardzo wielu czynników, w tym od sposobu, w jaki zaimplementowany zostałby system. Bez przeprowadzenia odpowiednich testów trudno jest oceniać to rozwiązanie pod kątem wydajnościowym. 5 Podsumowanie Systemy zarządzające strumieniowymi bazami danych stanowią jeszcze nowy i niezbadany teren. Jednakże rosnące nieustannie ilości danych, z jakimi muszą radzić sobie dzisiejsze systemy powodują coraz większe zainteresowanie tą dziedziną. Powstałe dotychczas systemy kładą nacisk na różne aspekty przetwarzania strumieni danych, są przez to trudne do porównywania. Każdy z nich odkrywa nowe problemy i pokazuje nowe możliwości. Systemy, jakie zostały zaprezentowane w tej pracy, w różny sposób implementują także języki zapytań ciągłych, mimo to zaobserwować można tendencję rozszerzania znanego powszechnie języka SQL. Niemniej jednak powstają implementacje, (np. Aurora) wykorzystujące języki proceduralne. Przedstawiona w pracy przykładowa implementacja DSMS o nazwie TelegraphCQ wyrosła na podwalinach stworzonych przez system relacyjny PostgreSQL. Dzięki temu wiele dobrych, dobrze przetestowanych pomysłów zostało użytych w nowej implementacji. Oczywiście olbrzymia część architektury uległa zmianie. Stało się tak ze względu na całkowicie inne spojrzenie na to, co jest składowane, dane czy zapytania. Przedstawiliśmy także nowe mechanizmy, jakie powstały dla obsługi strumieni danych. W ostatniej części przedstawiliśmy propozycję zastosowania DSMS w środowisku telekomunikacyjnym. Otoczenie takie wydaje się być idealne dla zastosowania technologii strumieniowych ze względu na specyfikę danych, jakie są przetwarzane przez tego typu systemy. Oczywiste jest, że nasze spekulacje wymagają potwierdzenia w doświadczeniach i badaniach i nie mogą być traktowane jako panaceum na wszelkie problemy związane z przetwarzaniem strumieni danych. 87

12 Z. Mazur, P. Pawluk Dużą barierą dla zastosowań przemysłowych omawianej technologii jest brak systemu komercyjnego, który by ją wspierał. Akademickie implementacje nie są przystosowane do przetwarzania przemysłowych ilości danych i zaspokojenia wymagań zarówno funkcjonalnych jak i jakościowych dotyczących tego typu produktów. Podsumowując możemy stwierdzić, że upłynie jeszcze sporo czasu nim systemy strumieniowe zaistnieją na rynku baz danych i będą stanowić większe zagrożenie dla obecnie najbardziej popularnych systemów relacyjnych. Tym bardziej, że istnieje wiele nierozwiązanych dotychczas problemów związanych zarówno z efektywnością, jak i bezpieczeństwem w szerokim tego słowa znaczeniu. Literatura 1. Arnasu A., B.S., Cieslewicz J., Datar M., Ito K., Motwani R., Srivastava U., Widom J. STREAM: The Stanford Data Stream Management System. in ACM SIGMOD Bonnet P., G.J., Seshadri P. Towards Sensor Database Systems. In Proc. in 2nd Conf. on Mobile Data Management Chandrasekaran S. TelegraphCQ: Continuous Dataflow Processing for an Uncertain World. in CIDR Chandrasekaran S., Franklin M.J., PSoup: a system for streaming queries over streaming data. VLDB Journal (2003) 12: Chatterjee S., Krishnamurthy S., Risque: Recovery in Internet Scale Queries, University of California, Häggander D., Lundberg L. Optimizing Dynamic Memory Management in a Multithreaded Application Executing on a Multiprocessor. in ICPP Krishnamurthy, S., TelegraphCQ: An Architectural Status Report. Bulletin of the IEEE, Widera M., Kozielski S. Strumieniowe systemy zarządzania danymi przegląd rozwiązań. W: Bazy danych. Modele, technologie, narzędzia. Praca zbiorowa pod red. Stanisława Kozielskiego [i in.]. T. [1]. Architektura, metody formalne, bezpieczeństwo. Warszawa: WKŁ Widera M., Kozielski S. Metody przetwarzania w strumieniowych systemach zarządzania danymi. W: Bazy danych. Modele, technologie, narzędzia. Praca zbiorowa pod red. Stanisława Kozielskiego [i in.]. T. [1]. Architektura, metody formalne, bezpieczeństwo. Warszawa: WKŁ Wilczek A. Zapytania w strumieniowych bazach danych. W: Bazy danych. Modele, technologie, narzędzia. Praca zbiorowa pod red. Stanisława Kozielskiego [i in.]. T. [1]. Architektura, metody formalne, bezpieczeństwo. Warszawa: WKŁ

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

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

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

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

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

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod

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

PHP: bazy danych, SQL, AJAX i JSON

PHP: bazy danych, SQL, AJAX i JSON 1 PHP: bazy danych, SQL, AJAX i JSON SYSTEMY SIECIOWE Michał Simiński 2 Bazy danych Co to jest MySQL? Jak się połączyć z bazą danych MySQL? Podstawowe operacje na bazie danych Kilka dodatkowych operacji

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

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

Rok szkolny 2015/16 Sylwester Gieszczyk. Wymagania edukacyjne w technikum. ADMINISTROWANIE BAZAMI DANYCH kl. 4c

Rok szkolny 2015/16 Sylwester Gieszczyk. Wymagania edukacyjne w technikum. ADMINISTROWANIE BAZAMI DANYCH kl. 4c Wymagania edukacyjne w technikum ADMINISTROWANIE BAZAMI DANYCH kl. 4c Lp. 1 2 4 5 Temat Zasady dotyczące zarządzania projektem podczas prac związanych z tworzeniem bazy oraz cykl życiowy bazy Modele tworzenia

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

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

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

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS UNIWERSYTET ZIELONOGÓRSKI INSTYTUT INFORMATYKI I ELEKTROTECHNIKI ZAKŁAD INŻYNIERII KOMPUTEROWEJ Przygotowali: mgr inż. Arkadiusz Bukowiec mgr inż. Remigiusz Wiśniewski LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Bardziej szczegółowo

REFERAT O PRACY DYPLOMOWEJ

REFERAT O PRACY DYPLOMOWEJ REFERAT O PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja elektronicznego dziennika ocen ucznia Autor: Grzegorz Dudek wykonanego w technologii ASP.NET We współczesnym modelu edukacji, coraz powszechniejsze

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

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

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

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni Akademia Morska w Gdyni Gdynia 2004 1. Podstawowe definicje Baza danych to uporządkowany zbiór danych umożliwiający łatwe przeszukiwanie i aktualizację. System zarządzania bazą danych (DBMS) to oprogramowanie

Bardziej szczegółowo

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4 Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Agnieszka Holka Nr albumu: 187396 Praca magisterska na kierunku Informatyka

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

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED Podręcznik użytkownika Katowice 2010 Producent programu: KAMSOFT S.A. ul. 1 Maja 133 40-235 Katowice Telefon: (0-32) 209-07-05 Fax:

Bardziej szczegółowo

System zarządzający grami programistycznymi Meridius

System zarządzający grami programistycznymi Meridius System zarządzający grami programistycznymi Meridius Instytut Informatyki, Uniwersytet Wrocławski 20 września 2011 Promotor: prof. Krzysztof Loryś Gry komputerowe a programistyczne Gry komputerowe Z punktu

Bardziej szczegółowo

Lista 5 Typy dynamiczne kolejka

Lista 5 Typy dynamiczne kolejka Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Metody i języki programowania 1 Wprowadzenie Lista 5 Typy dynamiczne kolejka Kolejka jest jedną z podstawowych struktur umożliwiających

Bardziej szczegółowo

PL 198457 B1. ABB Sp. z o.o.,warszawa,pl 17.12.2001 BUP 26/01. Michał Orkisz,Kraków,PL Mirosław Bistroń,Jarosław,PL 30.06.

PL 198457 B1. ABB Sp. z o.o.,warszawa,pl 17.12.2001 BUP 26/01. Michał Orkisz,Kraków,PL Mirosław Bistroń,Jarosław,PL 30.06. RZECZPOSPOLITA POLSKA (12) OPIS PATENTOWY (19) PL (11) 198457 (13) B1 (21) Numer zgłoszenia: 340813 (51) Int.Cl. G06F 17/21 (2006.01) G06Q 10/00 (2006.01) Urząd Patentowy Rzeczypospolitej Polskiej (22)

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

Relacyjne bazy danych a XML

Relacyjne bazy danych a XML Relacyjne bazy danych a XML Anna Pankowska aniap@amu.edu.pl Internet, SQLiXMLwbiznesie Internet nieoceniony sposób komunikacji z klientami, pracownikami i partnerami handlowymi przyspiesza transakcje finansowe

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium PHP + bazy danych Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię PHP. Aplikacja pokazuje takie aspekty, współpraca PHP z bazami

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

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

Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL 1 Podstawy relacyjnego modelu danych. 3h UWAGA: Temat zajęć jest typowo teoretyczny i stanowi wprowadzenie do zagadnień

Bardziej szczegółowo

Zadanie 1. Suma silni (11 pkt)

Zadanie 1. Suma silni (11 pkt) 2 Egzamin maturalny z informatyki Zadanie 1. Suma silni (11 pkt) Pojęcie silni dla liczb naturalnych większych od zera definiuje się następująco: 1 dla n = 1 n! = ( n 1! ) n dla n> 1 Rozpatrzmy funkcję

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

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

PROJEKT CZĘŚCIOWO FINANSOWANY PRZEZ UNIĘ EUROPEJSKĄ. Opis działania raportów w ClearQuest

PROJEKT CZĘŚCIOWO FINANSOWANY PRZEZ UNIĘ EUROPEJSKĄ. Opis działania raportów w ClearQuest PROJEKT CZĘŚCIOWO FINANSOWANY PRZEZ UNIĘ EUROPEJSKĄ Opis działania raportów w ClearQuest Historia zmian Data Wersja Opis Autor 2008.08.26 1.0 Utworzenie dokumentu. Wersja bazowa dokumentu. 2009.12.11 1.1

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy w ramach treści kierunkowych, moduł kierunkowy ogólny Rodzaj zajęć: wykład, laboratorium BAZY DANYCH Databases Forma studiów: Stacjonarne

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 13 Marcin Młotkowski 27 maja 2015 Plan wykładu Trwałość obiektów 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 2 / 29 Trwałość (persistence) Definicja Cecha

Bardziej szczegółowo

Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04

Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04 Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04 Cel zajęć. Celem zajęć jest zapoznanie się ze sposobem działania popularnych kolekcji. Wprowadzenie teoretyczne. Rozważana w ramach niniejszych

Bardziej szczegółowo

PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej. Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej WSTĘP DO INFORMATYKI Adrian Horzyk PROLOG www.agh.edu.pl Pewnego dnia przyszedł na świat komputer Komputery

Bardziej szczegółowo

mgr inż. Magdalena Deckert Poznań, r. Metody przyrostowego uczenia się ze strumieni danych.

mgr inż. Magdalena Deckert Poznań, r. Metody przyrostowego uczenia się ze strumieni danych. mgr inż. Magdalena Deckert Poznań, 30.11.2010r. Metody przyrostowego uczenia się ze strumieni danych. Plan prezentacji Wstęp Concept drift i typy zmian Algorytmy przyrostowego uczenia się ze strumieni

Bardziej szczegółowo

Systemy GIS Systemy baz danych

Systemy GIS Systemy baz danych Systemy GIS Systemy baz danych Wykład nr 5 System baz danych Skomputeryzowany system przechowywania danych/informacji zorganizowanych w pliki Użytkownik ma do dyspozycji narzędzia do wykonywania różnych

Bardziej szczegółowo

Aplikacja Sieciowa wątki po stronie klienta

Aplikacja Sieciowa wątki po stronie klienta Aplikacja Sieciowa wątki po stronie klienta Na ostatnich zajęciach zajmowaliśmy się komunikacją pomiędzy klientem a serwerem. Wynikiem naszej pracy był program klienta, który za pomocą serwera mógł się

Bardziej szczegółowo

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

Funkcjonalność systemów zarządzania bazami danych przestrzennych w kartografii internetowej (PosrtgreSQL/PostGIS) Krzysztof Kuśnierek Funkcjonalność systemów zarządzania bazami danych przestrzennych w kartografii internetowej (PosrtgreSQL/PostGIS) Krzysztof Kuśnierek Program referatu Przedstawienie program referatu Wprowadzenie Przestrzenne

Bardziej szczegółowo

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych Laboratorium Technologii Informacyjnych Projektowanie Baz Danych Komputerowe bazy danych są obecne podstawowym narzędziem służącym przechowywaniu, przetwarzaniu i analizie danych. Gromadzone są dane w

Bardziej szczegółowo

System imed24 Instrukcja Moduł Analizy i raporty

System imed24 Instrukcja Moduł Analizy i raporty System imed24 Instrukcja Moduł Analizy i raporty Instrukcja obowiązująca do wersji 1.8.0 Spis treści 1. Moduł Analizy i Raporty... 3 1.1. Okno główne modułu Analizy i raporty... 3 1.1.1. Lista szablonów

Bardziej szczegółowo

Wrocławska Wyższa Szkoła Informatyki Stosowanej. Bazy danych. Dr hab. inż. Krzysztof Pieczarka. Email: krzysztof.pieczarka@gmail.

Wrocławska Wyższa Szkoła Informatyki Stosowanej. Bazy danych. Dr hab. inż. Krzysztof Pieczarka. Email: krzysztof.pieczarka@gmail. Wrocławska Wyższa Szkoła Informatyki Stosowanej Bazy danych Dr hab. inż. Krzysztof Pieczarka Email: krzysztof.pieczarka@gmail.com Literatura: Connoly T., Begg C., Systemy baz danych Praktyczne metody projektowania,

Bardziej szczegółowo

Ramowy plan kursu. Lp. Moduły Wyk. Lab. Przekazywane treści

Ramowy plan kursu. Lp. Moduły Wyk. Lab. Przekazywane treści Ramowy plan kursu Lp. Moduły Wyk. Lab. Przekazywane treści 1 3 4 Technologia MS SQL Server 2008 R2. Podstawy relacyjnego modelu i projektowanie baz. Zaawansowane elementy języka SQL. Programowanie w języku

Bardziej szczegółowo

Tworzenie języków specyfikacji dla zagadnień numerycznych

Tworzenie języków specyfikacji dla zagadnień numerycznych Tworzenie języków specyfikacji dla zagadnień numerycznych prof. dr hab. inż. Norbert Sczygiol dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska 11 września

Bardziej szczegółowo

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji OMNITRACKER Wersja testowa Szybki przewodnik instalacji 1 Krok 1:Rejestracja pobrania (jeżeli nie wykonana dotychczas) Proszę dokonać rejestracji na stronieomninet (www.omnitracker.com) pod Contact. Po

Bardziej szczegółowo

PyPy's Approach to Virtual Machine Construction

PyPy's Approach to Virtual Machine Construction PyPy's Approach to Virtual Machine Construction Armin Rigo, Samuele Pedroni Prezentacja: Michał Bendowski Czym jest PyPy? Implementacja Pythona w Pythonie - wydajniejsza niż oryginalna implementacja w

Bardziej szczegółowo

L.dz.: WETI /16/2014 Gdańsk, dn. 03.01.2014

L.dz.: WETI /16/2014 Gdańsk, dn. 03.01.2014 L.dz.: WETI /16/2014 Gdańsk, dn. 03.01.2014 Dotyczy: postępowania o zamówienie publiczne, prowadzonego w trybie przetargu nieograniczonego, na Opracowania serwisu internetowego służącego do nauki języka

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

Tworzenie zapytań do Microsoft SQL Server

Tworzenie zapytań do Microsoft SQL Server MS 20461 Tworzenie zapytań do Microsoft SQL Server Czas trwania: 5 dni (40 h) Poziom trudności: Średnio Zaawansowany Autoryzacja: Microsoft Opis: Szkolenie administratorów baz danych oraz programistów

Bardziej szczegółowo

Łączenie liczb i tekstu.

Łączenie liczb i tekstu. Łączenie liczb i tekstu. 1 (Pobrane z slow7.pl) Rozpoczynamy od sposobu pierwszego. Mamy arkusz przedstawiony na rysunku poniżej w którym zostały zawarte wypłaty pracowników z wykonanym podsumowaniem.

Bardziej szczegółowo

Faza Określania Wymagań

Faza Określania Wymagań Faza Określania Wymagań Celem tej fazy jest dokładne określenie wymagań klienta wobec tworzonego systemu. W tej fazie dokonywana jest zamiana celów klienta na konkretne wymagania zapewniające osiągnięcie

Bardziej szczegółowo

Tom 6 Opis oprogramowania

Tom 6 Opis oprogramowania Część 4 Narzędzie do wyliczania wielkości oraz wartości parametrów stanu Diagnostyka stanu nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 30 maja 2012 Historia dokumentu Nazwa

Bardziej szczegółowo

Administracja i programowanie pod Microsoft SQL Server 2000

Administracja i programowanie pod Microsoft SQL Server 2000 Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 9 Optymalizacja zapytań Pobieranie planu wykonania Indeksy i wydajność - 1 - Zadania optymalizatora

Bardziej szczegółowo

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Bazy danych Database Kierunek: Rodzaj przedmiotu: obieralny Rodzaj zajęć: wykład, laboratorium Matematyka Poziom kwalifikacji: I stopnia Liczba godzin/tydzień: 2W, 2L Semestr: III Liczba

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

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3 Currenda EPO Instrukcja Konfiguracji Wersja dokumentu: 1.3 Currenda EPO Instrukcja Konfiguracji - wersja dokumentu 1.3-19.08.2014 Spis treści 1 Wstęp... 4 1.1 Cel dokumentu... 4 1.2 Powiązane dokumenty...

Bardziej szczegółowo

Pojęcie systemu baz danych

Pojęcie systemu baz danych Pojęcie systemu baz danych System baz danych- skomputeryzowany system przechowywania danych/informacji zorganizowanych w pliki. Składa się z zasadniczych elementów: 1) Danych 2) Sprzętu 3) Programów 4)

Bardziej szczegółowo

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji OMNITRACKER Wersja testowa Szybki przewodnik instalacji 1 Krok 1:Rejestracja pobrania (jeżeli nie wykonana dotychczas) Proszę dokonać rejestracji na stronieomninet (www.omnitracker.com) pod Contact. Po

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

Zad. 3: Układ równań liniowych

Zad. 3: Układ równań liniowych 1 Cel ćwiczenia Zad. 3: Układ równań liniowych Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Definiowanie właściwego interfejsu klasy. Zwrócenie uwagi na dobór odpowiednich

Bardziej szczegółowo

Szpieg 2.0 Instrukcja użytkownika

Szpieg 2.0 Instrukcja użytkownika Szpieg 2.0 Instrukcja użytkownika Spis treści: Wstęp: 1. Informacje o programie 2. Wymagania techniczne Ustawienia: 3. Połączenie z bazą danych 4. Konfiguracja email 5. Administracja Funkcje programu:

Bardziej szczegółowo

ZASTOSOWANIE STRUMIENIOWYCH BAZ DANYCH W SYSTEMIE CZASU RZECZYWISTEGO

ZASTOSOWANIE STRUMIENIOWYCH BAZ DANYCH W SYSTEMIE CZASU RZECZYWISTEGO STUDIA INFORMATICA 2010 Volume 31 Number 2A (89) Marcin MULKA Politechnika Śląska, Wydział Automatyki, Elektroniki i Informatyki ZASTOSOWANIE STRUMIENIOWYCH BAZ DANYCH W SYSTEMIE CZASU RZECZYWISTEGO Streszczenie.

Bardziej szczegółowo

Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.

Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny. PI-14 01/12 Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.! Likwidacja lub znaczne ograniczenie redundancji (powtarzania się) danych! Integracja danych!

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

Liczba godzin 1,2 Organizacja zajęć Omówienie programu nauczania 2. Tematyka zajęć

Liczba godzin 1,2 Organizacja zajęć Omówienie programu nauczania 2. Tematyka zajęć rzedmiot : Systemy operacyjne Rok szkolny : 015/016 Klasa : 3 INF godz. x 30 tyg.= 60 godz. Zawód : technik informatyk; symbol 35103 rowadzący : Jacek Herbut Henryk Kuczmierczyk Numer lekcji Dział Tematyka

Bardziej szczegółowo

Diagram wdrożenia. Rys. 5.1 Diagram wdrożenia.

Diagram wdrożenia. Rys. 5.1 Diagram wdrożenia. Diagram wdrożenia Zaprojektowana przez nas aplikacja bazuje na architekturze client-server. W tej architekturze w komunikacji aplikacji klienckiej z bazą danych pośredniczy serwer aplikacji, który udostępnia

Bardziej szczegółowo

Instrukcja do panelu administracyjnego. do zarządzania kontem FTP WebAs. www.poczta.greenlemon.pl

Instrukcja do panelu administracyjnego. do zarządzania kontem FTP WebAs. www.poczta.greenlemon.pl Instrukcja do panelu administracyjnego do zarządzania kontem FTP WebAs www.poczta.greenlemon.pl Opracowanie: Agencja Mediów Interaktywnych GREEN LEMON Spis treści 1.Wstęp 2.Konfiguracja 3.Konto FTP 4.Domeny

Bardziej szczegółowo

Funkcje systemu infokadra

Funkcje systemu infokadra System Informacji Zarządczej - infokadra jest rozwiązaniem skierowanym dla kadry zarządzającej w obszarze administracji publicznej. Jest przyjaznym i łatwym w użyciu narzędziem analityczno-raportowym,

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

Replikacje. dr inż. Dziwiński Piotr Katedra Inżynierii Komputerowej. Kontakt:

Replikacje. dr inż. Dziwiński Piotr Katedra Inżynierii Komputerowej. Kontakt: dr inż. Dziwiński Piotr Katedra Inżynierii Komputerowej Kontakt: piotr.dziwinski@kik.pcz.pl Replikacje 2 1 Podstawowe pojęcia Strategie replikacji Agenci replikacji Typy replikacji Modele replikacji Narzędzia

Bardziej szczegółowo

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

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki ) LITERATURA C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki ) H. Garcia Molina, Jeffrey D. Ullman, Jennifer Widom; Systemy baz danych. Kompletny podręcznik

Bardziej szczegółowo

ibcslabel v2 Instrukcja instalacji systemu

ibcslabel v2 Instrukcja instalacji systemu ibcslabel v2 Instrukcja instalacji systemu Niniejsze opracowanie podlega ochronie przewidzianej w ustawie z dnia 4 lutego 1994 r. o prawie autorskim i prawach pokrewnych (Dz. U. z 2000 r., Nr 80, poz.

Bardziej szczegółowo

Memeo Instant Backup Podręcznik Szybkiego Startu

Memeo Instant Backup Podręcznik Szybkiego Startu Wprowadzenie Memeo Instant Backup pozwala w łatwy sposób chronić dane przed zagrożeniami cyfrowego świata. Aplikacja regularnie i automatycznie tworzy kopie zapasowe ważnych plików znajdujących się na

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

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

BAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski

BAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski BAZY DANYCH wprowadzenie Opracował: dr inż. Piotr Suchomski Prowadzący Katedra Systemów Multimedialnych dr inż. Piotr Suchomski (e-mail: pietka@sound.eti.pg.gda.pl) (pok. 730) dr inż. Andrzej Leśnicki

Bardziej szczegółowo

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL Podstawy baz danych: Rysunek 1. Tradycyjne systemy danych 1- Obsługa wejścia 2- Przechowywanie danych 3- Funkcje użytkowe 4- Obsługa wyjścia Ewolucja baz danych: Fragment świata rzeczywistego System przetwarzania

Bardziej szczegółowo

Programowanie komputerów

Programowanie komputerów Programowanie komputerów Wykład 1-2. Podstawowe pojęcia Plan wykładu Omówienie programu wykładów, laboratoriów oraz egzaminu Etapy rozwiązywania problemów dr Helena Dudycz Katedra Technologii Informacyjnych

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

Tworzenie raportów XML Publisher przy użyciu Data Templates

Tworzenie raportów XML Publisher przy użyciu Data Templates Tworzenie raportów XML Publisher przy użyciu Data Templates Wykorzystanie Szablonów Danych (ang. Data templates) jest to jedna z metod tworzenia raportów w technologii XML Publisher bez użycia narzędzia

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

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium PHP + bazy danych Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię PHP. Aplikacja pokazuje takie aspekty, współpraca PHP z bazami

Bardziej szczegółowo

Program wykładu. zastosowanie w aplikacjach i PL/SQL;

Program wykładu. zastosowanie w aplikacjach i PL/SQL; Program wykładu 1 Model relacyjny (10 godz.): podstawowe pojęcia, języki zapytań (algebra relacji, relacyjny rachunek krotek, relacyjny rachunek dziedzin), zależności funkcyjne i postaci normalne (BCNF,

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.

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

ALGORYTM PROJEKTOWANIA ROZMYTYCH SYSTEMÓW EKSPERCKICH TYPU MAMDANI ZADEH OCENIAJĄCYCH EFEKTYWNOŚĆ WYKONANIA ZADANIA BOJOWEGO

ALGORYTM PROJEKTOWANIA ROZMYTYCH SYSTEMÓW EKSPERCKICH TYPU MAMDANI ZADEH OCENIAJĄCYCH EFEKTYWNOŚĆ WYKONANIA ZADANIA BOJOWEGO Szybkobieżne Pojazdy Gąsienicowe (2) Nr 2, 24 Mirosław ADAMSKI Norbert GRZESIK ALGORYTM PROJEKTOWANIA CH SYSTEMÓW EKSPERCKICH TYPU MAMDANI ZADEH OCENIAJĄCYCH EFEKTYWNOŚĆ WYKONANIA ZADANIA BOJOWEGO. WSTĘP

Bardziej szczegółowo

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop. 2016 Spis treści O autorach 11 Podziękowania 12 Część I Wprowadzenie do języka SQL 13 Godzina 1. Witamy w świecie języka SQL 15

Bardziej szczegółowo

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle EFEKTY KSZTAŁCENIA Wiedza Absolwent tej specjalności

Bardziej szczegółowo

Kursory. A. Pankowska 1

Kursory. A. Pankowska 1 Kursory 1 Kursory Kursor jest mechanizmem pozwalającym obsłużyć zbiór zawierający wiele wierszy danych (generowany np. poleceniem SELECT). Jak wskaźnik przebiega on po kolejnych krotkach ze zbioru danych,

Bardziej szczegółowo

Podstawy Programowania Obiektowego

Podstawy Programowania Obiektowego Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja

Bardziej szczegółowo

Lingwistyczny system definicyjny wykorzystujący korpusy tekstów oraz zasoby internetowe.

Lingwistyczny system definicyjny wykorzystujący korpusy tekstów oraz zasoby internetowe. Lingwistyczny system definicyjny wykorzystujący korpusy tekstów oraz zasoby internetowe. Autor: Mariusz Sasko Promotor: dr Adrian Horzyk Plan prezentacji 1. Wstęp 2. Cele pracy 3. Rozwiązanie 3.1. Robot

Bardziej szczegółowo

Indeksowanie w bazach danych

Indeksowanie w bazach danych w bazach Katedra Informatyki Stosowanej AGH 5grudnia2013 Outline 1 2 3 4 Czym jest indeks? Indeks to struktura, która ma przyspieszyć wyszukiwanie. Indeks definiowany jest dla atrybutów, które nazywamy

Bardziej szczegółowo

Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie. dr inż. Adam Piórkowski. Jakub Osiadacz Marcin Wróbel

Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie. dr inż. Adam Piórkowski. Jakub Osiadacz Marcin Wróbel Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. Promotor: dr inż. Adam Piórkowski Autorzy: Jakub Osiadacz

Bardziej szczegółowo