BIP

DBStreams PDF Drukuj Email

DBStreams - prototyp systemu zarządzania strumieniową bazą danych

Prototyp systemu zarządzania strumieniową bazą danych

System zarządzania danymi zapewnia jednolity i jedyny sposób dostępu do danych. W typowym systemie informatycznym zadanie zarządzania zbiorem danych realizuje wydzielony podsystem (tzw. baza danych). W przypadku systemów monitorujących sygnały lub strumienie zastosowanie relacyjnego systemu zarządzania danymi jest utrudnione z uwagi na wymagania wydajnościowe. W Instytucie Techniki i Aparatury Medycznej ITAM w Zabrzu prowadzono badawcze mające na celu stworzenie systemu zarządzania danymi zdolnego do bieżącego przetwarzania informacji napływających z urządzeń.

W odróżnieniu od systemów relacyjnych, których języki zapytań oparto na algebrze relacji w przypadku systemów strumieniowych implementowane są rozwiązania oparte na alternatywnych algebrach. W większości implementacji zastosowano probabilistyczne operatory przetwarzania ciągów danych. W odróżnieniu od innych systemów strumieniowych nasze rozwiązanie implementuje język zapytań oparty na algebrze umożliwiającej deterministyczne operacje na sekwencjach danych. Algebra ta została oparta na stosunkowo mało znanych twierdzeniach teorii liczb.

System w wersji prototypowej został zaimplementowany w języku C++ w środowisku Visual Studio .NET 2005. System ten wykorzystuje w swojej konstrukcji elementy biblioteki BOOST oraz biblioteki obsługi wątków ZThread. Interpreter języka zapytań (tzw. Parser) stworzono przy pomocy Biblioteki Spirit ++ będącej parserem gramatyk bezkontekstowych typu LL osadzonych bezpośrednio w kodzie języka C++.

System umożliwia deklarację i tworzenie źródeł danych oraz realizację prostych zapytań w zdefiniowanym języku. Zapytania do systemu przekazywane są przy uruchomieniu w postaci konfiguracyjnego pliku tekstowego. Tam też definiowane są źródła danych. System tworzy plik XML/XLS prezentujący plan realizacji poszczególnych zapytań i przechodzi do ich realizacji tworząc strumienie danych na dysku zgodnie z opisem w pliku konfiguracyjnym. Plany zapytań przygotowane są do realizacji równoległej oraz przebadania różnych algorytmów szeregowania zadań. W systemie nie zastosowano typowej arytmetyki liczb. Odstąpiono od stosunkowo mało precyzyjnej arytmetyki IEEE. Wszelkie operacje arytmetyczne na liczbach realizowane są wewnątrz systemu na wymiernych liczbach zespolonych. Liczby zespolone stanowią istotny element ułatwiający zapis algorytmów przetwarzania sygnałów.

Ważną cechą systemu jest algorytm racjonalizacji liczb rzeczywistych. Jego dokładność maksymalizowano na poziomie 6 miejsc po przecinku w cyfrach znaczących racjonalizowanej liczby rzeczywistej.

Miarą szybkości napływu przetwarzanych strumieni danych jest jednostka określająca interwał czasu pomiędzy kolejnymi krotkami przychodzącymi z urządzenia. System w chwili obecnej jest w stanie realizować zapytania na strumieniach danych, których intensywność napływu wynosi nie więcej niż 1000 krotek na sekundę. Takie ograniczenie wynika z zastosowanej w systemie niedoskonałej metody odmierzania czasu.

 
© 2010 - 2025 ŁUKASIEWICZ - ITAM
W ramach naszej witryny stosujemy pliki cookies. Korzystanie z witryny bez zmiany ustawień dotyczących cookies oznacza, że będą one zamieszczane w Państwa urządzeniu końcowym. Możecie Państwo dokonać w każdym czasie zmiany ustawień dotyczących cookies w swojej przeglądarce.