Rozdział monografii: `Bazy Danych: Struktury, Algorytmy, Metody

Transkrypt

Rozdział monografii: `Bazy Danych: Struktury, Algorytmy, Metody
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Rozdział 13
w
Projektowanie sensorowych baz danych
1 Wstęp
da
.b
w
w
Streszczenie. Bezprzewodowe sieci sensorowe są powszechnie używane dla
przeprowadzania pomiarów, detekcji: osób, zwierząt lub rzeczy, znajdowania
uszkodzonych elementów urządzeń, monitorowania mostów, hal, automatycznego zliczania towarów itp. W rozdziale tym przedstawiono zasady projektowania tzw. sensorowych baz danych, które są implementowane w tego
rodzaju radiowych sieciach komputerowych. Opisano w nim model sensorowej bazy danych, podano typy stosowanych zapytań, jak również koncepcję
ich optymalizacji, biorącej pod uwagę koszty transmisji danych.
pl
s.
Bezprzewodowe sieci sensorowe (ang. wireless sensor networks) [1] są nową technologią
rozwijaną w ramach radiowych sieci komputerowych, których węzłami są sensory (ang.
sensors) losowo rozmieszczone w tzw. polu sensorowym (ang. sensor field). Każdy z nich
zawiera czujnik, pozwalający na ciągły lub okresowy pomiar wybranej wielkości, radiowe
urządzenie nadawczo-odbiorcze oraz procesor wraz z pamięcią RAM, która umożliwia
przechowywanie danych. Komunikacja w tego rodzaju systemach odbywa się za pośrednictwem łączy radiowych, przy czym preferowane są połączenia jednoskokowe (ang. one
hop connections). Oznacza to, że poszczególne sensory pośredniczą w przesyłaniu danych,
co jest związane z dodatkowym wydatkowaniem energii każdego sensorów.
Sensorowe bazy danych (ang. sensor database) [2], [3] są definiowana jako zbiór powiązanych ze sobą zasobów trwałych danych. Miejsca ich przechowywania są oddalone geograficznie od siebie i połączone poprzez specyficzną sieć radiową. Z punktu widzenia programisty rozproszone zasoby są traktowane jako scentralizowana baza danych. Podstawowym
warunkiem poprawnej eksploatacji tego rodzaju baz danych jest zagwarantowanie przezroczystości (ang. transparency) rozproszenia, która jest rozumiana jako fakt, że z dowolnego
miejsca pola sensorowego lub spoza niego sensorowa baza danych jest widziana jako scentralizowana baza danych. Innym wymogiem nakładanym na sensorową bazę danych jest
zapewnienie małego czasu dostępu do danych, minimalizacja energii związanej z przesyłaniem danych oraz zagwarantowanie bezpieczeństwa i niezawodności w tego rodzaju bazie
danych.
Sensorowe bazy danych zostały po raz pierwszy zaproponowane w pracach [2], [3],
a następnie wdrożone [4]. Jednym z tego rodzaju systemów jest baza danych TinyDB [5],
Jerzy Martyna: Uniwersytet Jagielloński, Instytut Informatyki,
ul. Nawojki 11, 30-072 Kraków, Polska
email: [email protected]
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
J. Martyna
w
która zezwala na używanie w sieciach sensorowych zapytań SQL. W odpowiedzi na nie
sensory przesyłają zwinięte (zagregowane) wartości. Odpowiednio dobrane filtry pozwalają
znaleźć poszukiwane parametry. Pomimo to przedstawione w powyższej pracy rozwiązanie
nie bierze pod uwagę zagadnień optymalizacji przetwarzania zapytań. W nowszych pracach, m.in. w [6], przedstawiono koncepcję sensorowej bazy danych zaimplementowanej
w oparciu o specjalny mechanizm rozpowszechniania (ang. dissemination mechanism), polegający na rozsyłaniu komunikatów o odpowiednio dobranych parametrach. W innym
rozwiązaniu [7] zaproponowano dla przesyłania danych specjalnie dobrane algorytmy dla
propagacji wybranych atrybutów zapytań. Umożliwia to redukcję liczby przesyłanych danych, co ma duże znaczenie w sieciach sensorowych. Dużym utrudnieniem tych implementacji była potrzeba zastosowania specjalnego translatora dla używanych atrybutów danych.
Celem niniejszego rozdziału jest wprowadzenie nowego schematu zapytań dla sensorowych
baz danych. Umożliwia on przede wszystkim uzyskiwanie danych z tego rodzaju baz danych, jak również minimalizację kosztów transferu danych. Bierze też pod uwagę uszkodzenia połączeń itp.
W kolejnych podrozdziałach przedstawiono model sensorowej bazy danych, rodzaje zapytań stosowane w tego rodzaju bazach danych oraz szacowanie kosztów przetwarzania zapytań. We wnioskach podsumowano uzyskane rezultaty oraz podano dalsze kierunki prowadzenia badań.
da
.b
w
w
2 Model sensorowych baz danych
Opis modelu sensorowej baz danych wymaga scharakteryzowania tego rodzaju baz danych.
Można podać następującą definicję.
pl
s.
Definicja 1
Sensorową bazę danych nazywa się rozproszoną relacyjną bazę danych z relacjami umieszczonymi w różnych węzłach bezprzewodowej sieci sensorowej, którymi są pojedyncze sensory.
Dla potrzeb sensorowych baz danych określa się relację w sposób następujący:
Definicja 2
Relacją R[X] nazywa się dwuwymiarową tablicę, której każda kolumna ma jednoznaczną
nazwę (atrybut) w jej ramach, natomiast wszystkie wartości w niej są tego samego typu.
Każdy wiersz w relacji jest różny.
Przyjmuje się, że na jednym polu relacji nie jest dozwolony zbiór wartości, czyli inaczej
każde pole relacji musi zawierać wartość atomową. Zakłada się, że liczność relacji (ang.
cardinality) jest liczbą krotek (wierszy) danej relacji. Bardzo istotnym w przypadku sensorowych baz danych jest położenie każdej relacji w tego rodzaju bazie danych. Przyjmuje
się, że miejsce danej relacji jest jednoznacznie podane przez adres lokalizacji sensora (ang.
loction-based address) sensora w sieci sensorowej.
W tak określonej sensorowej bazie danych mogą być dostępne następujące operacje: projekcja, selekcja, złączenie, półzłączenie (ang. semijoin). Można je zdefiniować następująco:
128
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Projektowanie sensorowych baz danych
w
Definicja 3
Mianem projekcji określa się operację wybrania podanych kolumn ze wszystkich wierszy
danej relacji R. Projekcja relacji R na zbiór atrybutów T jest zapisywana jako R.T, gdzie
R jest relacją ze schematem X, a T jest podzbiorem X. Jako wynik projekcji otrzymuje się
te kolumny, które pozostają po odrzuceniu kolumn nie należących do T, a następnie po
usunięciu, o ile istnieją, wszystkich powtórzeń
Operator projekcji oznacza się jako Π a1 ,a2 ,...,am ( R ) , gdzie a1 , a 2 ,..., a m to atrybuty.
w
w
Definicja 4
Operacja selekcji polega na wybraniu z relacji R wszystkich wierszy, które spełniają pewien warunek nazywany predykatem. Ma on postać wyrażenia op, gdzie op jest jednym
z operatorów porównania {<, ≤, <>, ≥, > }, a wyrażenie jest nazwą kolumny, stałą albo
znakowym lub arytmetycznym wyrażeniem.
Operacja złączenia może być zdefiniowana w sposób następujący:
Definicja 5
Definicja 6
da
.b
Operacją złączenia relacji R1 z relacją R2 poprzez atrybut A jest relacją oznaczaną jako R1
A R2, gdzie R1 oraz R2 są złączonymi relacjami, natomiast atrybut A jest atrybutem
złączenia. Złączenie jest uzyskiwane przez konkatenację każdego wiersza z R1 z każdym
wierszem relacji R2, ilekroć wartości atrybutu A dla tych dwóch wierszy są równe. Gdy w
wyniku uzyskuje się dwie identyczne kolumny, to wtedy jedna z nich ulegnie likwidacji.
Dla sensorowych baz danych można zdefiniować półzłączenie, które za [8], [9] jest
następujące:
Półzłączenie relacji R1 z relacją R2 poprzez atrybut A jest uzyskiwane poprzez złączenie R1 oraz R2 poprzez atrybut A , a następnie projekcję wynikową relacji na schemat R1,
czyli R1 A R2 = Π x ( R1
A R2 ) .
pl
s.
Działanie operacji półzłączenia ilustruje poniższy przykład.
Przykład 1
Niech będą dane dwie relacje Pomiary oraz Temperatura (tabele 1, 2). Operację półzłączenia relacji Pomiary z relacją Temperatura uzyskuje się poprzez atrybut id_sensora.
Tabela 1. Przykładowa relacja Pomiary
id_sensora
25
36
48
id_klastra
1
2
3
wartość_pH
6
8
7
wilgotność
60
55
75
ciśnienie
4 at.
2.5 at.
3.2 at.
129
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
J. Martyna
Tabela 2. Przykładowa relacja Temperatura
w
Korzystając z R1
(tabela 3).
A
id_sensora
25
id_klastra
1
temperatura
46
3
25 C
25
4
20 C
R2 = Π A ( R1 )
o
18 C
o
o
R2 po projekcji Pomiary otrzymuje się wynik
w
w
Tabela 3. Wynik projekcji Pomiary poprzez atrybut id_sensora
id_sensora
25
36
48
Po złączeniu wyniku projekcji z relacją Pomiary uzyskuje się wynik półzłączenia
(tabela 4).
da
.b
Tabela 4. Półzłączenie otrzymane w wyniku projekcji relacji Pomiary poprzez atrybut
id_sensora z relacją Temperatura
id_sensora
25
id_klastra
1
temperatura
25
4
20 C
48
3
25 C
o
18 C
o
o
Może być również przeprowadzone półzłączenie relacji Temperatura i relacji Pomiary.
Wówczas korzystając z R1
R2 po projekcji relacji Temperatura
A R2 = Π A ( R1 )
poprzez atrybut id_sensora uzyskuje się (patrz tabela 5).
pl
s.
Tabela 5. Wynik projekcji Temperatura poprzez atrybut id_sensora
id_sensora
25
48
Po złączeniu wyniku projekcji z relacją Pomiary otrzymuje się wynik półzłączenia, czyli
zredukowaną relację Pomiary (tabela 6).
Tabela 6. Półzłączenie uzyskane w wyniku projekcji relacji Temperatura poprzez atrybut
id_sensora z relacją Pomiary
id_sensora
25
48
id_klastra
1
3
wartość_pH
6
7
wilgotność
60
75
ciśnienie
4 at.
3.2 at.
130
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Projektowanie sensorowych baz danych
3 Projektowanie zapytań w sensorowych bazach danych
w
Zapytania w sensorowych bazach danych mają charakter czasoprzestrzenny. Oznacza to,
że są one kierowane do obszarów węzłów sensorów lub do określonych relacji. Warunkiem
takiego charakteru zapytań jest ścisłe zdefiniowanie położenia sensorów, a tym samym
związanych z nimi relacji. Dodatkowo niezbędnym jest przeprowadzenie synchronizacji
wszystkich sensorów.
Wszystkie zapytania w sensorowych bazach danych [10], [11], [12], [13] można podzielić na zapytania: proste, skupione, przybliżone i złożone. Pierwsze trzy zapytania są jednowymiarowe. Ostatnie z nich może być zapytaniem wielowymiarowym. Poniżej zostaną one
pokrótce objaśnione.
− Proste zapytania (ang. simple queries) polegają na sporządzaniu raportu, np. „Podaj
wartość temperatury”.
− Skupione zapytania (ang. aggregate queries) wymagają współdziałania pomiędzy sąsiadującymi węzłami w odniesieniu do danych. Zapytania skupione są kierowane do
obszaru składającego się z wielu węzłów w geograficznie ograniczonym obszarze,
np. „Podaj średnią temperaturę we wszystkich węzłach obszaru X”.
− Przybliżone zapytania (ang. approximate queries) są to zapytania, które wymagają
podsumowania i odpowiedzi w postaci danych przetworzonych, np. w postaci histogramu, izobar, map konturowych, tablic, wykresów itp. Na przykład takim zapytaniem jest „Sporządź raport o zanieczyszczeniach w regionie Y”. Zaletą tego rodzaju
zapytań jest redukcja danych przesyłanych w sieci. Natomiast wadą jest to, że użytkownik nie może być zdolny do zanalizowania tych danych w inny sposób niż jako
wyników swoich zapytań.
− Złożone zapytania (ang. complex queries) są to zapytania, które w przypadku SQL
składają się z wielu podzapytań. Tworzona przez nie hierarchia obliczeniowa jest dobrze reprezentowana przez drzewo zapytań (ang. query tree). Na przykład „Spośród
regionów X oraz Y podaj raport o średnim ciśnieniu obszaru, który ma temperaturę
da
.b
w
w
0
pl
s.
powyżej 75 C”. Podzapytania w złożonym zapytaniu mogą być proste, skupione lub
przybliżone.
Zapytania w sensorowych bazach danych wymagają oprócz lokalnego przetwarzania
także transmisji całych relacji lub ich fragmentów pomiędzy węzłami sieci sensorowej.
Koszty transmisji danych (związane z utratą energii baterii sensorów) muszą brać pod uwagę wielkości przesyłanych danych potrzebnych do przeprowadzenia danej operacji. Biorąc
to pod uwagę można zaprojektować stosowne algorytmy minimalizujące całkowity koszt
przetwarzania zapytania. Można wyszczególnić dwa przypadki.
Przypadek 1. W przypadku prostych zapytań całkowity koszt przetwarzania zapytań jest
równy kosztowi transferu jednostek danych potrzebnych do odpowiedzi. Strategia przetwarzania może być przedstawiona jako graf, którego wierzchołkami są relacje, a krawędzie są
półzłączeniami. Koszt strategii jest zatem sumą kosztów transmisji danych podczas wykonywania półzłączeń. Wówczas strategia przetwarzania może być przedstawiona jako
R1 A R2 A ... A Rn . Oczekiwany koszt transmisji CT dla tej strategii wynosi:
C T = | A | [ p1 + p1 p2 + p1 p 2 p3 + ... + p1 p 2 ⋅ pn −1 ]
(1)
131
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
J. Martyna
gdzie |A| jest licznością atrybutu A, pi jest selektywnością relacji R j ze względu na
atrybut A. Można przyjąć, że ta strategia jest optymalna, której oczekiwany koszt jest
najmniejszy spośród kosztów znalezionych dla każdego z grafów spełniających warunki
podane powyżej.
w
Przypadek 2. Przypadek ten dotyczy wszystkich rodzajów zapytań oprócz prostego Dla
zapytań skupionych, przybliżonych i złożonych można przyjąć, że mają one charakter zapytań drzewiastych. Dla znalezienia optymalnych strategii wprowadza się tutaj metodę
heurystyczną, która z powodzeniem nadaje się do użycia w sensorowych bazach danych.
w
Algorytm 1.
1) Przeprowadza się redukcję zapytania Q do sekwencji podzapytań Q1 , Q2 ,..., Qm
da
.b
w
z co najmniej jedną wspólną zmienną pomiędzy podzapytaniami. Pojedyncze podzapytanie jest łańcuchem z dwoma węzłami lub cyklem z k węzłami. Wszystkie jego
równoważne grafy zapytania mają cykle z taką samą liczbą węzłów k (k ≥ 3 ).
2) Zakłada się, że relacje mogą być dzielone na mniejsze części, które następnie mogą
być przesłane do innych węzłów sieci celem przeprowadzenia operacji półzłączenia.
Przyjmuje się, że koszt półzłączenia R1 A R2 jest zdefiniowany jako koszt
pl
s.
transferu R1 . A z umiejscowienia relacji R1 do umiejscowienia relacji R2 (dla tego
samego sensora ten koszt jest równy zeru). Z kolei, jeśli relacje te są o różnych rozmiarach, to bada się różnicę rozmiarów tych relacji przed i po operacji półzłączenia.
Przyjmuje się tutaj, że gdy różnica ta jest większa od zera, to wtedy następuje jej
akceptacja.
3) Dla wszystkich półzłączeń oblicza się sumaryczne koszty półzłączeń oraz sprawdza
się, które z nich są akceptowalne.
4) Wybiera się spośród akceptowalnych półzłączeń to, które jest o najmniejszym koszcie.
5) Jeśli podzapytanie jest ostatnim w sekwencji podzapytań, to kończy się przetwarzanie. W przeciwnym razie przechodzi się do kroku 3.
Działanie podanej metody ilustruje poniższy przykład.
Przykład 2
Niech będzie dane zapytanie (rys. 1), które początkowo redukuje się na dwa nieredukowalne podzapytania, co zapisuje się w postaci:
Q = {R2 .F | ( R1 . A = R2 . A) AND( R1 .B = R3 .B) AND( R4 .C = R3 .C ) AND
( R3 .D = R5 .D) AND( R4 .E = R5 .E )}
(2)
Przetwarzanie drugiego z podzapytań prowadzi do utworzenia kolejnego podzapytania, co
ilustruje rys. 2. Ponieważ podzapytanie Q2 jest podzapytaniem cyklicznym, musi być podjęta decyzja, czy przetwarzać to podzapytanie w całości, czy też należy je podzielić na kolejne podzapytania. Brane są pod uwagę koszty półzłączenia. Gdyby to podzapytanie było
132
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Projektowanie sensorowych baz danych
przetwarzane kompletnie, to relacja R3 oraz R4 powinny być przesłane do sensora z relacją R5 , w którym zostanie utworzona odpowiedź na podzapytanie Q2 (rys. 3).
w
w
Rys. 1. Dane zapytanie z przykładu 1
da
.b
w
Rys. 2. Podzapytania Q1 , Q2 , Q3 z przykładu 1
pl
s.
Rys. 3. Możliwe przesłanie relacji R3 oraz R4 do sensora z relacja R5
Natomiast w przypadku podziału podzapytania Q2 na kolejne podzapytania, to wtedy należy rozpatrzyć następujące możliwości:
1) R3 → R4 → R5
2) R3 → R5 → R4
3) R4 → R5 → R3
Możliwość 1) oznacza przesłanie relacji R3 do sensora zawierającego relację R4 dla wykonania złączenia tych relacji, a następnie wykonaną relację R34 przesłać do sensora za133
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
J. Martyna
wierającego relację R5 dla wykonania złączenia. Dla tak zdekomponowanego podzapytania musi być wyliczony koszt półzłączenia podanych relacji,. Jeśli zostanie znalezione półzłączenie, którego koszt będzie najmniejszy, to ono zostanie wykonane.
4 Wnioski
w
w
w
Projektowanie sensorowych baz danych jest przedsięwzięciem wymagającym od projektanta uwzględnienia szeregu czynników, na przykład takich jak rodzaj zapytań, możliwości
ich przetwarzania związane z minimalizacją kosztów przesyłania danych. Wprowadzoną tu
koncepcję projektowania sensorowych baz danych oparto o koszty półzłączenia, których
minimalizacja zapewnia obniżenie zużycia energii niezbędnej do funkcjonowania tej sieci.
W dalszym etapie badań zostaną wzięte pod uwagę koszty przechowywania danych w węzłach sieci sensorowej oraz wpływ uszkodzeń sensorów na działanie sensorowej bazy danych.
Literatura
2.
3.
4.
5.
7.
8.
9.
10.
11.
12.
13.
pl
s.
6.
Akyildiz I.F., Su W., Sankarasubramaniam Y., Cayirci E.: Wireless Sensor Networks: a Survey,
Computer Networks, 38, 2002, s. 393 – 422.
Bonnet P., Gehrke J.E., Seshadri P.: Towards Sensor Database Systems, in: Mobile Data
Management, Second International Conference, Lecture Notes in Computer Science, Vol. 1987,
Springer Verlag, Berlin, Heidelberg, New York, 2001, s. 3 – 14.
Govindan R., Hellerstein J., Hong W., Madden S., Franklin M., Shenker S.: The Sensor Network
as a Database, Technical Report 02-771, Computer Science Department, University of Southern
California, September 2002.
Madden S.R., Franklin M.J., Hellerstein J.M., Wei-Hong: TAG: a Tiny AGgregation Service for
Ad Hoc Sensor Networks, in: Proceedings of the Fifth Symposium on Operating Systems Design
and Implementation, OSDI ’02, 2002, s. 131 – 146.
Gnawali O., Govindan R., Heideman J.: Implementing a Sensor Database System using a
Generic Data Dissemination Mechanism, Bulletin of the IEEE Computer Society Technical
Committee on Data Engineering, 2005.
Buonadonna P., Gay P., Hellerstein J., Hong W., Madden S.: TASK: Sensor Network in a Box,
in: Proceedings of the Second European Workshop on Wireless Sensor Networks, 2005, s. 133 –
144.
Levis P., Potel N., Culler D., Shenker S.: Tricle: A Self Regulating Algorithm for Code
Propagation and Maitenance in Wireless Sensor Networks, in: First Symposium on Networked
Systems Design and Implementation, NSDI ’04, 2004, s. 15 – 28.
Chen J.S.J., Li V.O.K.: Domain-Specific Semijoin: a New Operation for Distributed Query
Processing, Information Sciences, Vol. 52, No. 2, 1990, s. 165 – 183.
Perrizo W., Chen Ch.-Sh.: Composite Semijoins in Distributed Query Processing, Information
Sciences, Vol. 50, No. 2, 1990, s. 197 – 218.
Woo A., Madden S., Govindan R.: Networking Support for Query Processing in Sensor
Networks, Communications of the ACM, June 2004, Vol. 47, No. 6, s. 47 – 52.
Yao Y., Gehrke J.: The Cougar Approach to In-network Query Processing in Sensor Networks,
ACM SIGMOD Record, Vol. 31, No. 3, 2002, s. 9 – 18.
Deshpande A., Nath S., Gibbons Ph. B., Seshan S.: Cache-and-Query for Wide Area Sensor
Databases, ACM SIGMOD Record, Vol. 32, 2003.
Gehrke J., Madden S.: Query Processing in Sensor Networks, IEEE Pervasive Computing, JanMarch 2004, Vol. 3, No. 1, s. 46 – 55.
da
.b
1.
134
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006

Podobne dokumenty