Strumieniowe bazy danych
|
|
- Błażej Kasprzak
- 6 lat temu
- Przeglądów:
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 STREAM: The Stanford Data Stream Management System Michał Stochmiałek Michał Stochmiałek Strumieniowe bazy danych 1/23 Plan prezentacji Wprowadzenie Problem
Bardziej szczegółowoAlicja 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ółowoStrumieniowe 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ółowoBazy 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ółowoInformatyka 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ółowoXQTav - 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ółowoStrumieniowe 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ółowoPHP: 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ółowoWykł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ółowoInformatyka 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ółowoRok 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ółowoIndeksy 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ółowoUsł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ółowoZMODYFIKOWANY 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ółowoLABORATORIUM 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ółowoREFERAT 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ółowoPoję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ółowoTemat: 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ółowoBazy 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ółowoDiagramy 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ółowoMię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ółowoSystemy 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ółowoKOMPUTEROWY 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ółowoSystem 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ółowoLista 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ółowoPL 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ółowoDECLARE 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ółowoRelacyjne 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ółowoAplikacje 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ółowoBazy 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ółowoProgram 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ółowoZadanie 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ółowoBazy 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ółowoCel 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ółowoPROJEKT 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ółowoPRZEWODNIK 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ółowoProgramowanie 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ółowoLaboratorium 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ółowoPROLOG 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ółowomgr 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ółowoSystemy 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ółowoAplikacja 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ółowoFunkcjonalność 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ółowoLaboratorium 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ółowoSystem 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ółowoWrocł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ółowoRamowy 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ółowoTworzenie 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ółowoOMNITRACKER 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ółowoPyPy'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ółowoL.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ółowoTeoretyczne 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ółowoTworzenie 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. 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ółowoFaza 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ółowoTom 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ółowoAdministracja 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ółowoNarzę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ółowoPRZEWODNIK 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ółowoSpis 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ółowoCurrenda 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ółowoPoję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ółowoOMNITRACKER 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ółowoTransformacja 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ółowoZad. 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ółowoSzpieg 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ółowoZASTOSOWANIE 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ółowoBaza 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ółowoMicrosoft 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ółowoLiczba 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ółowoDiagram 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ółowoInstrukcja 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ółowoFunkcje 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ółowoINFORMATYKA 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ółowoReplikacje. 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ółowoLITERATURA. 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ółowoibcslabel 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ółowoMemeo 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ółowoBlaski 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ółowoZaawansowane 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ółowoBAZY 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ółowoModel 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ółowoProgramowanie 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ółowoOracle11g: 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ółowoTworzenie 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ółowoAproksymacja 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ółowoAplikacje 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ółowoProgram 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ółowoProgramowanie 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ółowoINTERNETOWE 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ółowoALGORYTM 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ółowoSQL 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ółowoPodyplomowe 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ółowoKursory. 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ółowoPodstawy 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ółowoLingwistyczny 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ółowoIndeksowanie 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ółowoAkademia 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