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