System zarzdzania strumieniem danych



Internet jest niewyczerpanym źródłem wiedzy, także jeśli chodzi o System zarzdzania strumieniem danych. Wieki i stulecia ludzkiej wiedzy o System zarzdzania strumieniem danych zostały przelane, i nadal są przelewane, do sieci, i właśnie dlatego dostęp do niej jest tak trudny, ponieważ możemy znaleźć miejsca, w których nawigacja może być trudna lub wręcz niewykonalna. Proponujemy, abyś nie rozbił się w morzu danych dotyczących System zarzdzania strumieniem danych i abyś mógł szybko i sprawnie dotrzeć do wszystkich portów mądrości.

Mając na uwadze ten cel, zrobiliśmy coś, co wykracza poza to, co oczywiste - zebraliśmy najbardziej aktualne i najlepiej wyjaśnione informacje na temat System zarzdzania strumieniem danych. Ułożyliśmy je również w sposób ułatwiający czytanie, z minimalistycznym i przyjemnym wyglądem, zapewniając najlepsze wrażenia użytkownika i najkrótszy czas ładowania. Ułatwiamy Ci to, abyś musiał się martwić tylko o to, by dowiedzieć się wszystkiego o System zarzdzania strumieniem danych! Jeśli więc uważasz, że osiągnęliśmy nasz cel i wiesz już wszystko, co chciałeś wiedzieć o System zarzdzania strumieniem danych, z przyjemnością przyjmiemy Cię z powrotem na te spokojne morza sapientiapl.com, gdy tylko Twój głód wiedzy zostanie ponownie rozbudzony.

System zarzdzania strumieniem danych (DSMS) to system oprogramowania do zarzdzania cigymi strumieniami danych . Jest porównywalny z systemem zarzdzania bazami danych (DBMS), który jest uywany dla baz danych. W przeciwiestwie do DBMS, w którym zapytania o dane statyczne s realizowane krótko, DSMS musi mie moliwo wykonywania cigych zapyta o strumienie danych. Do formuowania zapyta mona uywa specjalnych jzyków zapyta, takich jak Continuous Query Language (CQL).

Systemy zarzdzania strumieniami danych s wci stosunkowo nowe w wiecie baz danych. Niektóre wstpne opracowania ogólnego przeznaczenia to:

Ronie równie liczba mniejszych projektów o rónym ukierunkowaniu. W przeciwiestwie do danych nieprzepywajcych, które s zarzdzane prawie wycznie za pomoc uniwersalnych systemów zarzdzania bazami danych, do przepywajcych danych nadal wykorzystywane s systemy specjalnie opracowane lub przystosowane do aplikacji.

Rónice w stosunku do DBMS

W konwencjonalnych systemach baz danych zapytania krótkoterminowe s umieszczane w bazie danych, która pozostaje taka sama podczas oceny danych (patrz system transakcyjny ). Zapytania s uruchamiane i pozostaj w systemie do momentu obliczenia i wyprowadzenia wyników. Nastpnie dania nie s ju dostpne w systemie. Mówi si równie, e dane s trwae, a dania niestabilne. W systemie zarzdzania strumieniem danych dania s instalowane raz i pozostaj w systemie, dopóki nie zostan ponownie usunite. Zapytania s oceniane na podstawie stale zmieniajcych si danych, a mianowicie strumieni danych. Wyniki zapyta s równie na bieco aktualizowane, dziki czemu same w sobie równie generuj strumie danych. Mówi si równie, e dania s trwae, a dane niestabilne. Te dwie uzupeniajce si zasady s równie znane na przykad przy wyszukiwaniu informacji jako dania ad hoc (nowe dania dotyczce tych samych dokumentów) i zadaniach routingu (nowe dokumenty dla okrelonych da).

W poniszej tabeli porównano róne cechy systemu zarzdzania baz danych (DBMS) i systemu zarzdzania strumieniem danych (DSMS):

System Zarzdzania Baz Danych (SZBD) System Zarzdzania Strumieniem Danych (DSMS)
Trwae dane (relacje) Ulotne strumienie danych
Losowy dostp Dostp sekwencyjny
dania jednorazowe Cige zapytania
(Teoretycznie) nieograniczona pami dodatkowa Ograniczona pami gówna
Wany jest tylko aktualny stan Rozpatrzenie nadchodzcego zamówienia
stosunkowo niska czstotliwo aktualizacji prawdopodobnie bardzo wysoka czstotliwo aktualizacji
niewielkie lub adne wymagania czasowe Wymagania w czasie rzeczywistym
Zakada si dokadne daty Nieaktualne/niedokadne dane
Planowane przetwarzanie zapytania Zmienne przybycie i charakterystyka danych

Podstawowe koncepcje

Jak ju wida w powyszej tabeli, DSMS ma kilka podstawowych koncepcji, które róni si od konwencjonalnego DBMS. Najwaniejsze pojcia to cige zapytania oraz okna.

Cige zapytania

Cige danie jest instalowane raz w systemie i dziaa do momentu ponownego usunicia. danie zawiera co najmniej jeden strumie danych wejciowych i co najmniej jeden strumie danych wyjciowych. Rezultatem takiego dania nie jest zatem jednorazowy zestaw danych, jak w przypadku dania w DBMS, ale sam strumie danych. Wyniki powinny by tworzone w czasie zblionym do rzeczywistego, co oznacza, e bardzo istotne jest opónienie midzy nadejciem nowych danych a uzyskaniem nowego wyniku.

W przypadku proby cigej wane jest okrelenie, kiedy zostanie wyprodukowane nowe wydanie. Modelu czas napdzane generuje nowe wyj w oparciu o postpie zegara w czasie, na przykad czas systemowy. Raz na minut mona byo wygenerowa nowy numer. Innym podejciem s modele sterowane zdarzeniami (ang. Event-driven model ), w których nowe edycje s tworzone po wystpieniu okrelonych zdarze w strumieniu danych. Wic moe z. Na przykad kady nowy element danych w strumieniu wygeneruje nowe dane wyjciowe, poniewa ten element strumienia danych moe wpywa na wynik w tym momencie. Nastpnie mówi si o modelu krotkowym .

okno

Strumienie danych s potencjalnie nieskoczone, wic generuj potencjalnie nieskoczon ilo danych. Jednak podczas przetwarzania cigych da dostpna jest tylko ograniczona ilo pamici, co najczciej ma miejsce w pamici gównej. Windows to jeden ze sposobów ograniczania iloci danych, które musz by przechowywane w pamici. Kolejn motywacj do korzystania z okien jest uycie cigych zapyta. Powinny one dostarczy wyników dla biecych danych, które wpywaj do DSMS ze strumieniem danych. Dlatego czsto istotne s tylko aktualne dane, podczas gdy starsze dane nie s ju wymagane do biecych wyników. Aby móc wyrazi ograniczenie wanoci elementów danych stosuje si okna.

Okna ograniczaj widok strumienia danych do najnowszych elementów strumienia. Okna oparte na czasie i elementach (równie: oparte na krotkach) s szeroko rozpowszechnione. W oknach czasowych elementy strumienia danych s utrzymywane w systemie przez okrelony, z góry okrelony czas, na przykad 30 minut. W oknie opartym na elementach okno zawiera maksymalnie okrelon liczb elementów, na przykad ostatnie 1000 elementów. Przykad zapytania z oknem czasowym to: Oblicz redni atrybutu x wszystkich elementów strumienia danych z ostatnich 30 minut.

Okna oparte na elementach i oknach czasowych mona definiowa w róny sposób. Tutaj znajduje si gównie pomidzy przesuwanymi (ang. Sliding ) a przewracaniem si lub odbijaniem (ang. Tumbling ) wyróniajcymi si oknami. Rónica polega na wielkoci kroku okna, zwanej równie okresowoci. Przesuwane okno przesuwa si wraz z postpem strumienia danych w taki sposób, e rozmiar kroku jest minimalny. W oknie opartym na elementach dokadnie jeden element zostaby usunity dla nowego elementu, który zostanie dodany do okna. Rozmiar kroku mona zmieni, o ile jest to rozmiar okna, nazywa si to wtedy oknem bbnowania (ang. Tumbling window ). Tutaj okno jest wypenione do okrelonego rozmiaru. Kiedy nadejdzie kolejny element, który przekroczyby okrelony rozmiar okna, wszystkie poprzednie elementy staj si jednoczenie niewane, a nowe okno jest budowane krok po kroku, a ponownie osignie maksymalny rozmiar. Odbywa si to analogicznie w oknach czasowych. Na przykad chybotliwe okno byoby 30-minutowym oknem z 30-minutowym przyrostem.

Paradygmat jednoprzebiegowy

Zasoby w zakresie czasu obliczeniowego i miejsca na przechowywanie do obliczania wyników na strumieniach danych s ograniczone. Dlatego algorytmy przetwarzajce strumienie danych zazwyczaj nie zapisuj danych najpierw w caoci, a nastpnie iteruj cay zestaw danych w celu wygenerowania wyników, ale przetwarzaj kady pojedynczy element w strumieniu danych tylko raz. Nazywa si to paradygmatem jednoprzebiegowym: element danych przechodzi przez algorytm tylko raz. Jeli nowy element dotrze do algorytmu, wynik oblicze jest dostosowywany i nie jest potrzebny nowy dostp do elementu w póniejszym czasie. Dlatego algorytm nie musi zapisywa adnych starych elementów, a jedynie biecy wynik poredni.

Dziaa to na przykad w przypadku prostego licznika. Naley policzy liczb obiektów. Jeeli do algorytmu dotrze nowy element, licznik jest zwikszany o jeden, zapisywany i element moe zosta usunity. Tylko aktualny odczyt licznika musi zosta zapisany.

Przetwarzanie przepywów i relacji

Podczas gdy dane s zarzdzane w tabelach ( relacjach ) w konwencjonalnych (relacyjnych) systemach baz danych, strumienie danych s dodawane jako podstawowe obiekty danych w DSMS. Strumienie danych mona rozumie jako cig sekwencj par czas-warto. Poniewa strumienie danych s w zasadzie nieskoczone, musz w midzyczasie zosta przeksztacone w relacje w celu przetworzenia. I odwrotnie, relacje mona przeksztaci z powrotem w strumienie danych (patrz rysunek). Przetwarzanie czystych relacji moe odbywa si konwencjonalnymi metodami. Zamiana strumieni na inne strumienie odbywa si poprzez objazd relacji. Jzyk Continuous Query Language , który bazuje na SQL , oferuje do tego celu róne operatory.

Formuowanie, planowanie i optymalizacja zapyta

Podobnie jak w konwencjonalnych systemach bazodanowych, zapytania s formuowane w jzyku deklaratywnym i optymalizowane pod ktem wykonania za pomoc planu zapyta. Poniewa jak najwicej zapyta powinno by przetwarzanych w tym samym czasie, przechowywane zapytania s czone tak sprytnie, jak to moliwe, aby zapytania czciowe mona byo wykorzysta wielokrotnie.

Skadnikami planu s operatorzy, kolejki i stany. Operatory odpowiadaj operatorom znanym z konwencjonalnych baz danych, takim jak filtrowanie, sortowanie, czenie, operatory matematyczne itp. oraz wejcie i wyjcie strumieni danych. Poszczególne operatory planu s poczone kolejkami, w których obiekty danych s zapisywane sekwencyjnie i odczytywane przez kolejnego operatora w tej samej kolejnoci. Jako wyniki porednie s stany takie jak zawarto okrelonego okna.

przykad

Portal informacyjny chciaby wywietla na swojej stronie najnowsze wiadomoci na tematy, które s obecnie najczciej dyskutowane, a take ilo wiadomoci na jeden dzie. Wiadomoci przychodz w jednym strumieniu danych, a aktualnie wane tematy w innym strumieniu danych jako zeitgeist . Kada wiadomo jest przypisana do tematu. W szczególnoci powinny by wywietlane tytuy wiadomoci z ostatniej godziny w ostatnich 10 tematach, a take liczba wszystkich powizanych wiadomoci w cigu ostatnich 24 godzin. Sformuowane w CQL s to dwa zapytania:

Q1: SELECT Titel FROM Nachrichten N [Range 1 HOUR], Zeitgeist Z [RANGE 10] WHERE N.Thema = Z.Thema

Q2: SELECT COUNT(*) FROM Nachrichten N [RANGE 1 DAY], Zeitgeist Z [RANGE 10] WHERE N.Thema = Z.Thema

DSMS wykorzystuje teraz te zapytania do stworzenia moliwie najbardziej wydajnego planu, który moe wyglda na przykad tak, jak pokazano na poniszej ilustracji. Tytuy i tematy wiadomoci s najpierw wywietlane i umieszczane w kolejce. Tematy s najpierw umieszczane w kolejce, a stamtd w oknie o dugoci 10. Wiadomoci i okna s czone operatorem JOIN i docieraj do okna, które zawiera wszystkie wiadomoci z jednego dnia. Wynik zapytania Q2 jest okrelany z tego okna za pomoc operatora ILE.LICZB. W przypadku zapytania Q1 po wikszym oknie nastpuje mniejsze okno o dugoci jednej godziny.

literatura

linki internetowe

Indywidualne dowody

  1. Dane - Angielskie pytania testowe (Tematy) Lista plików ( Angielski ) Narodowy Instytut Standardów i Technologii. ródo 14 lutego 2019.
  2. a b c d e Sandra Geisler: Systemy zarzdzania strumieniem danych . W: Phokion G. Kolaitis i Maurizio Lenzerini i Nicole Schweikardt (red.): Dagstuhl Follow-Ups . tama 5 . Schloss Dagstuhl - Leibniz Center for Computer Science, Dagstuhl, Niemcy 2013, ISBN 978-3-939897-61-3 , s. 275-304 , doi : 10.4230 / DFU.Vol5.10452.275 ( dagstuhl.de ).

Opiniones de nuestros usuarios

Hubert Kurek

Byłem zachwycony, że znalazłem ten artykuł na temat _zmienna.

Wladyslaw Cieśla

Zawsze dobrze jest się uczyć. Dziękuję za artykuł o zmiennej System zarzdzania strumieniem danych