Możliwości wykorzystania baz danych nosql w systemach

advertisement
PRACE NAUKOWE POLITECHNIKI WARSZAWSKIEJ
z. 95
Transport
2013
Andrzej Czerepicki, Andrzej Góralski
Politechnika Warszawska, Wydzia Transportu
MOLIWOCI WYKORZYSTANIA BAZ DANYCH
NoSQL W SYSTEMACH INFORMATYCZNYCH
W TRANSPORCIE
Rkopis dostarczono, kwiecie 2013
Streszczenie: w artykule przestawiono kierunki rozwoju systemów informatycznych w transporcie
zorientowanych na uytkownika kocowego. Wymieniono charakterystyki baz danych zaliczanych do
nurtu NoSQL oraz reprezentowane modele danych. Pokazano przykad transformacji modelu
relacyjnego do postaci grafowej oraz ide zastosowania grafowej bazy danych do wyszukiwania
pocze w systemie komunikacji miejskiej. Zobrazowano ogóln koncepcj systemu
informatycznego rozproszonego wykorzystujcego bazy danych NoSQL w poszczególnych
moduach.
Sowa kluczowe: bazy danych, transport, systemy informatyczne
1. WSTP
Rozwój wspóczesnych systemów informatycznych w transporcie odbywa si w
kierunkach, które mona scharakteryzowa jako decentralizacj oraz globalizacj. Naley
tu wymieni migracj systemów scentralizowanych w kierunku aplikacji rozproszonych,
coraz wiksz integracj danych pochodzcych ze róde heterogenicznych oraz coraz
bardziej aktywny udzia uytkowników kocowych w procesie wymiany danych z
systemem. Odpowiednio rosn wymagania stawiane systemom informatycznym w
zakresie wydajnej obsugi duej liczby uytkowników, stabilnego wiadczenia obszernej
listy usug oraz przetwarzania coraz wikszych zbiorów danych. Wymagania te
przekadaj si na bazy danych jako kluczowy element wikszoci systemów
informatycznych w transporcie.
Bazy danych NoSQL stanowi dynamicznie rozwijajcy si nurt wspóczesnej
technologii komputerowej. Wikszo z nich powstaa w przecigu ostatnich kilku lat i od
pocztku bya projektowana z uwzgldnieniem wysokich wymaga co do objtoci
przechowywanych danych oraz wydajnoci ich przetwarzania. W aspekcie wymienionych
wyej wymaga, zastosowanie baz danych tego typu moe stanowi perspektywiczny
kierunek rozwoju wspóczesnych systemów informatycznych w transporcie.
74
Andrzej Czerepicki, Andrzej Góralski
2. CECHY WSPÓCZESNYCH SYSTEMÓW
INFORMATYCZNYCH W TRANSPORCIE
Systemy informatyczne scentralizowane stosowane w transporcie, wczeniej czy
póniej staj przed wezwaniem do integracji. Wynika to z rosncych oczekiwa
uytkowników odnonie funkcjonalnoci takich systemów oraz procesów integracji
systemów transportowych w skali midzynarodowej. Przykadem moe suy system
informatyczny Deutsche Bahn [4] obejmujcy zasigiem poczenia kolejowe w caej
Europie. Migracja systemów informatycznych w kierunku systemów rozproszonych
wynika z koniecznoci zapewnienia powszechnego i bezpiecznego dostpu do danych [3].
Od strony technologicznej jest ona wspierana przez rozwój usug sieciowych WebServices,
przetwarzanie danych w chmurze (ang. Cloud Computing) oraz wspóczesne rozproszone
systemy baz danych.
Rozwój technologiczny w zakresie urzdze mobilnych przyczyni si do powstania
aplikacji zorientowanych na uytkownika kocowego, takich jak wbudowane systemy
nawigacji, wyszukiwarki pocze komunikacji miejskiej itp. Uytkownik zaczyna
odgrywa coraz bardziej aktywn rol nie tylko jako konsument danych, lecz równie jako
dostawca informacji zwrotnej. Na przykad, aplikacja do nawigacji samochodowej podczas
obliczenia optymalnej trasy przejazdu moe wykorzystywa informacje o biecej sytuacji
drogowej (korki, awarie, warunki pogodowe, etc.) udostpnione przez innych
uytkowników tego systemu [5]. Z punktu widzenia systemu informatycznego oznacza to
istotny wzrost wymaga dotyczcych liczby jednoczenie obsugiwanych uytkowników.
Wikszo istniejcych systemów informatycznych przechowuje dane we wasnym
formacie. Integracja systemów wymaga zastosowania narzdzi klasy ETL w celu
ekstrakcji, transformacji oraz adowania ujednoliconych danych do systemu kocowego
[2]. Wczenie si uytkowników kocowych w proces dostarczania danych wymusza
wstpn weryfikacj przykazywanej informacji oraz jej strukturyzacj. Pojawia si
problem efektywnego skadowania danych sabo ustrukturyzowanych oraz ich wstpnej
obróbki.
Systemy informatyczne w transporcie w celu przechowania oraz przetwarzania
informacji wykorzystuj obecnie relacyjne bazy danych. Oparty na formalnym aparacie
matematycznym oraz zweryfikowany przez ponad 30 lat intensywnego wykorzystania,
relacyjny model danych posiada pewne ograniczenia, zwizane z realizacj praktyczn.
Dotyczy to skalowalnoci systemu, zdolnoci do efektywnej obsugi bardzo duej liczby
równolegych transakcji oraz moliwoci operowania na danych sabo
ustrukturyzowanych. W nastpnym rozdziale zostan przedstawione bazy danych
implementujce inne modele danych ni relacyjny, które w okrelonych warunkach mog
wyeliminowa wymienione wady nakrelajc tym samym perspektywiczny kierunek
rozwoju systemów informatycznych w transporcie.
Moliwoci wykorzystania baz danych NoSQL w systemach informatycznych w transporcie …
75
3. CHARAKTERYSTYKI BAZ DANYCH NoSQL
Bazy danych NoSQL stanowi grup wspóczesnych, dynamicznie rozwijajcych si
systemów przetwarzania danych. Powstae one na potrzeby przetwarzania duych zbiorów
danych, dostarczanych na przykad przez uytkowników sieci socjalnych, lub w celu
przechowania powiza semantycznych sieci WWW. Wspóln cech baz danych
zaliczanych do nurtu NoSQL jest czciowa rezygnacja z zapewnienia waciwoci ACID,
zadeklarowana w twierdzeniu CAP [1]. Kosztem tego uzyskuje si zdolno do
przechowania, efektywnego przetwarzania oraz partycjonowania bardzo duych zbiorów
danych.
Bazy danych realizujce model danych „klucz-warto” (ang. key-value) mona
interpretowa jako tablic haszujc, która przechowuje dane o dowolnej strukturze,
adresowane za pomoc klucza [7]. Gówn zalet modelu jest szybko wyszukiwania
danych oraz brak narzutów na struktur przechowywanych danych. Pozwala to na budow
aplikacji elastycznych, zwaszcza w zakresie przetwarzania danych sabo powizanych.
Wad modelu jest wysoki dodatkowy nakad pracy w przypadku realizacji systemów o
silnych powizaniach danych, co ogranicza potencjalny zakres ich zastosowania.
Kolumnowe bazy danych implementuj model danych podobny do relacyjnego, lecz
rónicy si sposobem fizycznego przechowania danych. W klasycznej relacyjnej bazie
danych rekordy tabeli s przechowywane w pliku danych kolejno jeden po drugim.
Kolumnowe bazy danych oferuj moliwo przechowania danych pogrupowanych
wedug kolumn. Uatwia to rozmieszczenie tabeli na kilku serwerach, przyspiesza
wykonanie zapyta wybierajcych dane z maej liczby kolumn oraz pozwala na stosowanie
prostych metod kompresji (np. RLE) dla danych przechowywanych w jednej kolumnie.
Rozwizanie to przynosi znaczcy wzrost wydajnoci przy pobieraniu danych [8] . Do wad
kolumnowych baz danych zalicza si wolniejsze wstawianie danych oraz nisza
efektywno zapyta operujcych na wielu kolumnach.
Grafowe bazy danych jako model danych wykorzystuj grafy skierowane. Dane s
przechowywane w wzach grafu, przy czym baza danych nie narzuca struktury docelowej,
pozwalajc na jej elastyczn modyfikacj w trakcie dziaania systemu. Powizania danych
s realizowane w postaci krawdzi grafu. Kada krawd czca wierzchoki moe
posiada dowoln liczb atrybutów, co pozwala na realizacj zoonych semantycznych
zalenoci pomidzy danymi. Gównym atutem grafowych baz danych jest szybko
wyszukiwania cieek w grafie: analogiczna struktura zrealizowana w relacyjnej bazie
danych wymaga stosowania zoonych zapyta SQL i jest mniej efektywna [6]. Siln
stron modelu jest wykorzystanie teorii grafów dostarczajcej rozwizania wielu
problemów w postaci gotowych algorytmów. Do wad grafowych baz danych naley
zaliczy ograniczony zakres efektywnego stosowania. Chocia teoretycznie kady zbiór
danych mona przedstawi w postaci grafu, z punktu widzenia praktycznego nie zawsze
jest to opacalne. Relacyjne bazy danych szybciej poradz sobie np. z obliczeniem redniej
arytmetycznej wartoci przechowywanych w wybranej kolumnie.
76
Andrzej Czerepicki, Andrzej Góralski
4. MOLIWOCI WYKORZYSTANIA BAZ DANYCH
NoSQL w SYSTEMACH INFORMATYCZNYCH
w TRANSPORCIE
Kady z omówionych wczeniej modeli baz danych posiada wasne zalety oraz wady,
które narzucaj ograniczenia co do zakresu oraz efektywnoci zastosowania w
transportowych systemach informatycznych.
Model realizowany przez grafowe bazy danych z powodzeniem moe by zastosowany
w takich transportowych systemach informatycznych, w których jedn z podstawowych
operacji jest wyznaczanie optymalnej trasy dojazdu. Nale do nich systemy nawigacji,
systemy informowania pasaera, etc. Koncepcja organizacji struktury takiego systemu
zostanie przedstawiona w kontekcie algorytmu wyznaczania pocze w komunikacji
miejskiej. Klasyczny relacyjny model danych skada si w tym przypadku z encji linia,
przystanek oraz poczenie (rys. 1).
Rys. 1. Struktura danych modelu relacyjnego
Odpowiednikiem tej struktury w grafowym modelu danych jest struktura przestawiona
na rys 2. Wzem grafu jest przystanek. Zbiór atrybutów przystanku stanowi jego nazwa
oraz np. wspórzdne GPS. Krawdzie grafu odpowiadaj poczeniom pomidzy
przystankami. Kada krawd ma atrybuty numer linii, odlego oraz czas przejazdu
(model uproszczony nie uwzgldnia rozkadów jazdy dla kadego z przystanków).
Moliwoci wykorzystania baz danych NoSQL w systemach informatycznych w transporcie …
77
Rys. 2. Struktura danych modelu grafowego
Wyznaczenie trasy przejazdu w systemie wykorzystujcym relacyjn baz danych
wymaga programistycznej implementacji algorytmu wyszukiwania w grafie (np. algorytm
Dijkstry) z wykorzystaniem rekurencyjnych zapyta w jzyku SQL. W grafowej bazie
danych zadanie wyszukiwania wszystkich pocze z przystanku ܲ௔ do przystanku ܲ௕
mona sformuowa za pomoc pojedynczego zapytania w jzyku Gopher (rys. 3).
Rys. 3. Zapytanie grafowej bazy danych zwracajce poczenia pomidzy przystankami
Kolumnowe bazy danych ze wzgldu na specyfik struktury wykazuj si wysok
wydajnoci odczytu danych oraz moliwoci zastosowania kompresji. Stanowi to
przesank do ich wykorzystania w celu zbierania oraz archiwizowania danych
przeznaczonych do dalszej analizy analitycznej OLAP, gdy w tym przypadku niska
wydajno zapisu danych do hurtowni nie wpywa na dziaanie caego systemu, za
kompresja danych pozwala zaoszczdzi miejsce na noniku.
Bazy danych „klucz-warto” sporód wymienionych kategorii baz danych NoSQL
charakteryzuj si zdolnoci do obsugi najwikszej liczby uytkowników oraz szybszego
zapisywania danych do bazy. Zastosowanie takiej bazy na wejciu systemu
informatycznego pozwoli na wstpn filtracj oraz agregacj danych pozyskiwanych od
uytkowników lub z automatyzowanych systemów pomiarów. W przypadku dublujcych
si danych tablica haszujca jest odpowiedni struktur do agregowania danych o
identycznych wartociach klucza, co rozwizuje problem aktualizacji danych.
78
Andrzej Czerepicki, Andrzej Góralski
Podsumowujc, zalety kadego rodzaju baz danych NoSQL mona wykorzysta w
transportowych systemach informatycznych. Naley jednak zauway, i aden z
systemów baz danych NoSQL stosowany pojedynczo nie jest w stanie zapewni
wszechstronnej funkcjonalnoci w ujciu caego systemu. Przyczyn jest przede wszystkim
brak pewnoci i dane przetwarzane w takim systemie speniaj kryteria integralnoci.
Dlatego bazy danych NoSQL naley traktowa przede wszystkim jako narzdzie
rozszerzajce moliwoci relacyjnych baz danych w wybranych obszarach zastosowa.
Koncepcj moliwej wspópracy baz danych w ramach rozproszonego systemu
informatycznego ukazuje rys. 4.
Rys.4. Koncepcja rozproszonego systemu informatycznego
transportowego z wykorzystaniem baz danych NoSQL
5. PODSUMOWANIE
Bazy danych NoSQL stanowi dynamicznie rozwijajcy si segment rynku systemów
przetwarzania danych. Ze wzgldu na zdolno do przetwarzania duych zbiorów danych
zyskay popularno przede wszystkim w systemach rozproszonych zorientowanych na
du liczb uytkowników oraz przechowujcych due zbiory danych.
Moliwoci wykorzystania baz danych NoSQL w systemach informatycznych w transporcie …
79
W artykule przestawiono kierunki rozwoju wspóczesnych systemów informatycznych,
wymieniono podstawowe charakterystyki baz danych NoSQL oraz przedstawiono
potencjalne obszary ich zastosowa. Na przykadzie transformacji modelu relacyjnego do
postaci grafowej zademonstrowano koncepcj zastosowania grafowej bazy danych do
wyszukiwania pocze w komunikacji miejskiej. Zobrazowano ogóln koncepcj
rozproszonego systemu informatycznego, wykorzystujcego wspóprac relacyjnych baz
danych z bazami danych NoSQL.
Rozwój systemów informatycznych w transporcie w kierunku systemów rozproszonych
zorientowanych na aktywny udzia uytkownika pozwala prognozowa stopniowe
zwikszenie udziau baz danych NoSQL w takich systemach. Naley jednak zauway i
specyficzne wady baz danych NoSQL praktycznie wykluczaj ich zastosowanie w
obszarach krytycznych takich jak np. systemy zarzdzania kryzysowego lub systemy
pobierania opat. Dlatego wykorzystanie baz danych NoSQL naley rozwaa przede
wszystkim w kontekcie uzupenienia funkcjonalnoci klasycznych relacyjnych systemów.
Bibliografia
1. Brewer E. Certain Freedom: Thoughts on the CAP Theorem. Proceeding of the XXIX ACM SIGACTSIGOPS symposium on Principles of distributed computing. ACM, New York, 2010.
2. Czerepicki A., Góralski A. Transformacja heterogenicznych danych w systemach hurtowni danych.
„Studia informatyczne” Nr 1(3)/2012, Wysza Szkoa Menederska w Warszawie, Warszawa 2012.
3. Grochowski L.: Rozproszone systemy informatyczne, Dom Wydawniczy Elipsa, Warszawa 2003.
4. http://www.bahn.de (ródo elektroniczne, sprawdzono 2013.04.15).
5. http://yanosik.pl/android (ródo elektroniczne, sprawdzono 2013.04.15).
6. Renzo Angles, Claudio Gutierrez. Survey of Graph Database Models. ACM Computing Surveys, vol. 40
Issue 1, February 2008. ACM New York, USA.
7. Skalski D. NoSQL – nierelacyjne systemy baz danych. Software Developer 08/2011, Warszawa, 2012.
8. Stonebraker M., Bear C., Çetintemel U., Cherniack M. One Size Fits All? – Part 2: Benchmarking Results.
3rd Biennial Conference on Innovative Data Systems Research, January 7-10, 2007, Asilomar, California,
USA.
POSSIBILITIES OF USING NoSQL DATABASES IN INFORMATION SYSTEMS
OF TRANSPORT
Summary: the paper presents trends of evolution of transportation information systems oriented to end-user.
Shows the characteristics of NoSQL databases and their data models. Presents an example of the
transformation of the relational model into a graph model in context of search for connections in the public
transportation system. Summarizes the general concept of a distributed informatics system using NoSQL
databases.
Keywords: databases, transport, informatics systems
Download