• Nie Znaleziono Wyników

Perspektywy zastosowania baz danych NoSQL w inteligentnych systemach transportowych Perspectives of using NoSQL databases in intelligent transportation systems

N/A
N/A
Protected

Academic year: 2021

Share "Perspektywy zastosowania baz danych NoSQL w inteligentnych systemach transportowych Perspectives of using NoSQL databases in intelligent transportation systems"

Copied!
10
0
0

Pełen tekst

(1)

Andrzej Czerepicki

Politechnika Warszawska, Wydział Transportu

PERSPEKTYWY ZASTOSOWANIA BAZ DANYCH

NoSQL W INTELIGENTNYCH SYSTEMACH

TRANSPORTOWYCH

Rękopis dostarczono, marzec 2013

Streszczenie: W artykule przedstawiono ideę zastosowania baz danych NoSQL we współczesnych

inteligentnych systemach informatycznych w transporcie. Zaprezentowano przesłanki do rozwoju nierelacyjnych baz danych oraz potencjalne obszary ich zastosowań. Na przykładach prostych struktur danych zilustrowano koncepcje funkcjonowania poszczególnych rodzajów baz danych NoSQL. Przedstawiono kryteria decydujące o możliwości zastosowania nierelacyjnej bazy danych w informatycznym systemie transportowym określonego rodzaju.

Słowa kluczowe: nierelacyjne bazy danych, inteligentne systemy transportowe, informatyka

1. WSTĘP

Współczesną tendencją rozwoju systemów informatycznych w transporcie jest odejście od klasycznego schematu scentralizowanego systemu zarządzania na rzecz architektury rozproszonej heterogenicznej, która łączy dane z różnych źródeł i udostępnia je wielu użytkownikom jako usługę sieci Internet. W systemach takich podstawową rolę odgrywają użytkownicy, którzy są jednocześnie dostawcami oraz konsumentami danych. Przykładem mogą posłużyć mobilne systemy nawigacji samochodowej, które nie tylko pobierają z serwera dane o planowanej trasie, ale również wysyłają zwrotną informację dotyczącą prędkości poruszania się oraz faktycznego czasu przejazdu.

Integracja współczesnych technologii informatycznych takich jak usługi internetowe

Web Services, interfejs programowania map interaktywnych Google Maps API, system

transmisji pakietowej danych 3G oraz system nawigacji satelitarnej GPS, pozwala na zbudowanie systemów rozproszonych o znacznie niższych niż systemy scentralizowane kosztach oraz w krótszym czasie.

Centralnym elementem każdego systemu informatycznego w transporcie jest baza danych. Powszechnie stosowane relacyjne bazy danych dobrze sprawdzają się w rozwiązaniach o architekturze scentralizowanej, gdzie użytkownicy są najczęściej konsumentami danych a operacje odczytu danych są wykonywane znacznie częściej niż

(2)

operacje ich wstawiania lub aktualizacji. W systemach rozproszonych baza danych dalej odgrywa centralną rolę, zmienia się natomiast tryb jej funkcjonowania: dane operacyjne są nadsyłane przez coraz większą liczbę użytkowników systemu. Kluczowym problemem jest spadek wydajności serwera bazy danych, który musi obsłużyć wszystkie transakcje niezależnie od źródła ich pochodzenia.

Rozwiązaniem problemu może być wykorzystanie baz danych typu NoSQL, które w określonych warunkach charakteryzują się większą wydajnością niż klasyczne systemy relacyjne. Celem artykułu jest przedstawienie zasad działania, wad oraz zalet poszczególnych kategorii baz danych NoSQL, oraz oszacowanie możliwości ich zastosowania w wybranych obszarach inteligentnych systemów informatycznych w transporcie.

2. KONCEPCJA BAZ DANYCH NoSQL

Termin „NoSQL” (ang. not only SQL) charakteryzuje grupę współczesnych systemów baz danych zorientowanych na zastosowanie w rozproszonych systemach informatycznych [1]. Przesłanki szybkiego rozwoju baz danych NoSQL wynikają z niezdolności klasycznych relacyjnych baz danych SQL do efektywnego obsługiwania bardzo dużych zbiorów danych. Dane te zgromadzone zostały przez popularne serwisy internetowe takie jak portale społecznościowe, platformy aukcyjne, aplikacje typu e-commerce itp.

Relacyjne bazy danych są systemami skalowalnymi pionowo. Wynika to ze specyfiki relacyjnego modelu danych, przede wszystkim w zakresie integralności referencyjnej kluczy własnych i obcych. Na skutek tego zwiększenie wydajności przetwarzania danych łatwiej jest uzyskać poprzez podniesienie parametrów technicznych jednostki centralnej aniżeli poprzez stosowanie podziału na klastry.

Ideologia baz danych NoSQL wywodzi się z twierdzenia CAP [2]. Zgodnie z tym twierdzeniem, w systemie obliczeń rozproszonym można zapewnić nie więcej niż dwie z trzech bazowych cech: integralność danych we wszystkich węzłach, dostępność danych oraz zdolność do partycjonowania na sekcje izolowane. Bazy danych NoSQL odnoszą się do kategorii systemów, w których wydajna obsługa dużych zbiorów danych realizowana jest poprzez partycjonowanie, kosztem częściowej rezygnacji z zasady integralności lub dostępności danych [3].

W zależności od realizowanej koncepcji, bazy danych NoSQL można podzielić na kilka podstawowych kategorii [4]:

• bazy danych „klucz-wartość”, • bazy danych kolumnowe, • bazy danych grafowe.

(3)

3. RODZAJE BAZ DANYCH NoSQL

3.1. BAZY DANYCH „KLUCZ-WARTOŚĆ”

Koncepcja modelu „klucz-wartość” polega na przechowaniu danych w prostych strukturach typu lista, wiersz, hash-tablica adresowanych za pomocą kluczy. Struktura przechowywanych wartości może być inna dla różnych kluczy (rys. 3.1). Ze względu na hierarchiczną strukturę, bazy danych tego typu zapewniają pełną replikację danych co umożliwia klientom szybszy odczyt danych.

Do głównych zalet baz „klucz-wartość” odnosi się prostota oraz szybkość działania. Można je w pewnym uproszczeniu traktować jako tabelę relacyjnej bazy danych z dwoma kolumnami „klucz” oraz „wartość”. Wadą natomiast jest trudność implementacji złożonej semantycznej struktury danych o wysokim stopniu powiązania encji.

Spośród systemów wykorzystujących model NoSQL typu „klucz-wartość” należy wyróżnić serwis społecznościowy „Nasza klasa” oparty o rozwiązanie Redis [5]. Perspektywiczność tej klasy baz danych podkreśla również wejście na rynek produktu

Oracle NoSQL Database.

(4)

3.2. BAZY DANYCH KOLUMNOWE

Koncepcja kolumnowych baz danych (ang. Column-Oriented Database Systems,

CDBMS) polega na wspólnym przechowaniu danych umieszczonych w kolumnach tabel

(rys. 3.2). Ułatwia to partycjonowanie tabel, ponieważ dane mogą fizycznie się znajdować na różnych komputerach. Przy wybieraniu danych z określonej kolumny, operacja odczytu wykonuje się szybciej ze względu na sekwencyjne ulokowanie danych. Ponieważ dane w kolumnie tabeli należą do określonej dziedziny, zakres wartości dopuszczalnych dla kolumny może być o wiele mniejszy, niż dla wiersza. Stanowi to przesłankę zastosowania kompresji dla danych umieszczonych w kolumnie, przy czym dla różnych typów danych można stosować odmienne algorytmy kompresji.

  Przechowanie danych wierszami  Przechowanie danych kolumnami Struktura  tabeli w bazie danych                  WB4534 (52.2328, 20.9093)  … 55,2

nr_rej  pozycja_gps  …  prędkość 

       

WB4534 (52.2328, 20.9093) … 55,2 

Umieszczenie rekordów danych  na nośniku fizycznym 

(5)

Do zalet kolumnowych baz danych należy odnieść:

• wysoką skalowalność poziomą: wybór konkretnego serwera w klastrze zależy od kolumn występujących w zapytaniu,

• wydajność przetwarzania danych rosnącą proporcjonalnie do liczby serwerów w klastrze ze względu na niski nakład na synchronizację danych,

• możliwość stosowania popularnych technologii (np. ADO.NET, biblioteki ORM itp.) w aplikacjach wykorzystujących kolumnowe bazy danych bez wprowadzania istotnych zmian w warstwie logiki biznesowej wynikającą z przezroczystości interfejsów API kolumnowych baz danych dla użytkownika końcowego.

Najczęściej wymienianymi wadami kolumnowych baz danych są:

• czasochłonność operacji zapisu danych wynikająca z konieczności znalezienia pozycji wszystkich kolumn dla jednego wstawianego rekordu danych,

• wysoka efektywność przetwarzania danych osiągana jest przy wybieraniu danych z małej liczby kolumn,

• wysokie wymagania sprzętowe dotyczące CPU oraz maksymalne wykorzystanie pamięci operacyjnej RAM ze względu na kompresję oraz dekompresję danych. Jednym z pierwszych systemów CDBMS był Sybase IQ (lata 90. XX wieku). Obecnie grono kolumnowych systemów baz danych jest dość liczne i stale się powiększa [6]. Klasycznym przykładem współczesnego CDBMS jest system MonetDB zaliczany do kategorii systemów open-source [7].

3.3. BAZY DANYCH GRAFOWE

Idea organizacji modelu danych grafowego polega na przechowywaniu informacji w postaci grafu. Obiekty danych są przechowywane w węzłach grafu. Właściwości obiektów stanowią kolejne węzły grafu. W ten sposób uzyskuje się wysoką elastyczność struktury: każdy obiekt może posiadać dowolną liczbę właściwości, które mogą być dodawane dynamicznie w trakcie działania systemu. Stanowi to zasadniczą różnicę w porównaniu z modelem relacyjnym wymagającym odgórnego zadeklarowania struktury bazy. Relacje w modelu grafowym są implementowane jako krawędzie łączące węzły i również mogą posiadać właściwości (rys. 3.3).

Kluczowe zalety grafowych baz danych:

• elastyczność modelu danych pozwala na łatwą modyfikację struktury systemu, • efektywne przetwarzanie zapytań na danych semantycznie złożonych,

• szybkie wyszukiwanie ścieżki w grafie wynika z założeń modelu grafowego. Implementacja systemów informatycznych z wykorzystaniem grafowej bazy danych może wymagać wprowadzenia nadmiarowości strukturalnej lub duplikowania danych szczególnie w przypadkach, gdy graf nie jest naturalnym odzwierciedleniem modelu przechowywanych danych. Operacja wyszukiwania w grafie pozwoli znaleźć optymalną trasę przejazdu, lecz raport z podsumowaniem sprzedaży biletów za okres będzie miał bardziej złożoną implementację niż analogiczne zapytanie w języku SQL na relacyjnej bazie danych.

(6)

Dlatego w praktyce przy wykorzystaniu grafowych baz danych należy zwracać uwagę na możliwość stosowania naturalnego języka programowania do implementacji złożonych algorytmów. Przykładem temu może służyć system baz danych Neo4j [8] wspierający język programowania Java, co pozwala na budowanie aplikacji klasy Enterprise.

Rys. 3.3. Koncepcja grafowej bazy danych

4. ZASTOSOWANIE BAZ DANYCH NoSQL

W INTELIGENTNYCH SYSTEMACH

TRANSPORTOWYCH

Centralnym elementem Inteligentnych Systemów Transportowych (ang. Intelligent

Transportation Systems, ITS) są systemy informatyczne. Zapewniają one funkcjonalność

niezbędną do:

• łączenia poszczególnych elementów ITS takich jak pojazdy, infrastruktura, osoby, w jedną integralną całość,

• operacyjnego przetwarzania danych napływających z różnych źródeł (w terminologii baz danych – przetwarzania OLTP, ang. OnLine Transactional

Processing) oraz podejmowania na ich podstawie decyzji taktycznych (np.

zarządzanie ruchem na skrzyżowaniach),

• gromadzenia danych w celu przeprowadzania analiz analitycznych (w terminologii baz danych – przetwarzania OLAP, ang. OnLine Analytical Processing) oraz

(7)

podejmowania na ich podstawie decyzji strategicznych (zmiana kierunków ruchu, czas postoju na światłach, rozkład jazdy transportu itp.).

Zgodnie z klasyfikacją [9], wyróżniają osiem podstawowych obszarów ITS: • systemy informacji dla podróżujących,

• systemy zarządzania ruchem,

• systemy zarządzania komunikacją publiczną, • systemy elektronicznego poboru opłat,

• systemy zarządzania flotami pojazdów komercyjnych, • systemy zarządzania kryzysowego w transporcie, • systemy bezpieczeństwa i kontroli pojazdów,

• systemy zarządzania, przetwarzania i przechowywania danych.

W celu określenia możliwości zastosowania baz danych NoSQL w poszczególnych obszarach ITS, w tablicy 4.1 przedstawiono wyniki analizy strategicznej SWOT nierelacyjnych baz danych, która obrazuje ich silne oraz słabe strony.

Tablica 4.1

Analiza SWOT systemów baz danych NoSQL

Mocne strony

ƒ rozproszona architektura, ƒ wydajność przetwarzania danych, ƒ wysoka skalowalność,

ƒ obsługa złożonych oraz nieregularnych struktur danych,

ƒ możliwość asynchronicznego zapisu, ƒ otwartość kodu.

Słabe strony

ƒ brak uniwersalnego języka zapytań, ƒ brak ogólnie przyjętych standardów, ƒ wysokie wymagania sprzętowe, ƒ słaba kontrola integralności danych, ƒ mały wybór narzędzi do analizy

analitycznej.

Perspektywy

ƒ systemy z duża liczbą użytkowników, ƒ wydajna obsługa prostych

jednorazowych transakcji, ƒ integracja z usługami sieci WWW, ƒ perspektywy szybkiego rozwoju jako

nowego segmentu baz danych.

Zagrożenia

ƒ odczyt niepewnej lub nieaktualnej informacji wyklucza zastosowanie w systemach krytycznych,

ƒ wysoki koszt realizacji w systemach o mocnych związkach semantycznych danych,

ƒ względnie krótki czas istnienia na rynku, mała liczba zrealizowanych projektów oraz mniejsze doświadczenie projektantów.

Wymagania stawiane bazom danych stosowanym w ITS zależą od obszaru, do którego odnosi się konkretny system. Przy rozważaniu możliwości zastosowania bazy danych NoSQL w poszczególnych obszarach ITS należy przede wszystkim uwzględniać wymagania funkcjonalne w zakresie:

• wydajności przetwarzania danych, • objętości przechowywanych danych, • liczby obsługiwanych użytkowników,

• złożoności struktur danych oraz ich zmiany w czasie,

• akceptowalności uzyskania wyniku nie spełniającego kryteria integralności, • konieczności przeprowadzania złożonych analiz analitycznych danych.

(8)

Grafowe bazy danych ze względu na architekturę mają perspektywy zastosowania przede wszystkim w ITS przechowujących dane o trasie pojazdu. Należą do nich między innymi systemy informacji dla podróżujących (SIP), systemy zarządzania ruchem, komunikacją publiczną oraz flotą pojazdów. Wymienione systemy charakteryzują się dużą dynamiką zmian danych oraz koniecznością szybkiego podejmowania decyzji, zaś w przypadku SIP - dodatkowo dużą ilością odbiorców informacji.

Kolumnowe bazy danych dodatkowo mogą być stosowane do przeprowadzania analizy informacji zgromadzonych w systemach zarządzania, przetwarzania i przechowywania danych, przede wszystkim ze względu na możliwość przechowywania danych o złożonej strukturze. Wydajność algorytmów wyznaczania tras jest tu jednak niższa w porównaniu z grafowymi bazami danych, dlatego przy projektowaniu systemu należy rozważyć użycie kombinacji obu wymienionych kategorii baz danych NoSQL.

Bazy danych „klucz-wartość” nie mogą samodzielnie pełnić rolę podstawowej bazy danych systemu informatycznego w transporcie ze względu na ograniczone możliwości powiązania przechowywanych danych. Tym nie mniej ich wysoka wydajność oraz skalowalność może być wykorzystana w celu zbierania oraz wstępnej analizy danych napływających z różnych źródeł, ich filtracji oraz grupowania wg określonych charakterystyk (kluczy), z następnym przekazaniem do dalszej obróbki (tab. 4.2.).

Tablica 4.2

Obszary potencjalnych zastosowań baz danych NoSQL w ITS

Rodzaj bazy danych Kolumnowe bazy danych

Grafowe bazy danych

Bazy danych klucz-wartość Systemy informacji dla

podróżujących Tak (np. do operacyjnego przetwarzania danych) Tak (np. do planowania podróży oraz wyznaczania trasy) Raczej tak (np. do udostępnienia lub wymiany prostych informacji) Systemy zarządzania ruchem Tak (np. do monitorowania natężenia ruchu) Tak (np. do wyznaczania trasy oraz monitorowania natężenia ruchu)

Nie

Systemy zarządzania komunikacją publiczną

Tak (w zakresie

gromadzenia danych) Tak (np. analiza tras przejazdu) Nie

Systemy

elektronicznego poboru opłat

Nie Nie Nie

Systemy zarządzania flotami pojazdów komercyjnych Tak (np. do śledzenia pojazdów) Tak (np. do rejestracji trasy przejazdu) Raczej tak (np. do wymiany krótkich informacji) Systemy zarządzania kryzysowego w transporcie

Nie Nie Nie

Systemy bezpieczeństwa i kontroli pojazdów

Nie Nie Nie

Systemy zarządzania, przetwarzania i przechowywania danych

Raczej tak (analiza informacji w hurtowni)

(9)

5. PODSUMOWANIE

Bazy danych NoSQL stanowią dynamicznie rozwijający się segment rynku systemów informatycznych przeznaczonych do składowania i przetwarzania dużych ilości danych. Zapotrzebowanie na inny niż relacyjny model danych wynika ze słabej poziomej skalowalności relacyjnych baz danych. Nierelacyjne bazy danych oferują wydajność, którą można utrzymywać na wysokim poziomie niezależnie od ilości danych w systemie. Ceną tego jest częściowa rezygnacja lub utrudniona realizacja mechanizmów zapewniających integralność danych lub ich dostępność.

W informatycznych systemach w transporcie dotychczas stosowano relacyjne bazy danych. Wynika to między innymi ze stopniowego rozwoju ww. systemów, do niedawna stosowanych głównie w centrach zarządzania transportem. Sytuacja jednak się zmieniła, kiedy na rynku systemów informatycznych pojawiła się grupa aplikacji ukierunkowanych na zwykłego użytkownika końcowego. O ile we wcześniejszych systemach był on głównie konsumentem danych, teraz staje się również ich dostawcą. Zmienia to diametralnie wymagania do systemu, który powinien obsługiwać większą liczbę użytkowników dostarczających coraz więcej danych. Rozwiązaniem problemu wydajności może być zastosowanie w systemie informatycznym baz danych typu NoSQL.

W artykule przedstawiono podstawowe rodzaje baz danych NoSQL, omówiono wkrótce zasady ich działania oraz dokonano analizy poszczególnych właściwości w kontekście potencjalnego wykorzystania w systemach informatycznych kategorii ITS.

Zastosowanie baz danych NoSQL w transporcie jest ograniczone przez specyfikę tych systemów. Przede wszystkim należy wymienić brak jednolitego języka do przetwarzania danych, jakim jest język SQL dla relacyjnych baz danych. Po drugie, nie dla wszystkich kategorii systemów transportowych warunki częściowej integralności danych lub ich potencjalna niedostępność są do zaakceptowania – wyklucza to stosowanie baz NoSQL np. w systemach zarządzania kryzysowego. Po trzecie, migracja danych z już działających systemów na model danych realizowany w NoSQL wiąże się z poniesieniem dodatkowych kosztów.

Dlatego w najbliższej perspektywie należy się spodziewać wdrożenia baz danych NoSQL jako rozwiązania uzupełniającego, stosowanego obok klasycznej relacyjnej bazy danych w celu:

• skrócenia dostępu do często wykorzystywanych danych,

• szybkiego składowania słabo ustrukturyzowanych danych w celu późniejszej obróbki (bazy „klucz-wartość”),

• przeprowadzania analiz analitycznych na dużych zbiorach danych (bazy kolumnowe),

• wspomagania systemów wyznaczania trasy pojazdu (bazy danych grafowe).

Obecnie systemy baz danych NoSQL nie posiadają wbudowanych możliwości do analizowania zgromadzonych danych, lub posiadają je w bardzo ograniczonym zakresie. Dlatego jako jeden z kierunków dalszych badań należy wymienić metody i algorytmy przeprowadzania analizy analitycznej OLAP w bazach danych NoSQL. Kolejnym perspektywicznym kierunkiem badań jest opracowanie modelu danych grafowego do wspomagania wyznaczania optymalnej trasy pojazdów.

(10)

Bibliografia

1. http://nosql-database.org/

2. Brewer, Eric A.: Towards robust distributed systems // Proceedings of the XIX annual ACM symposium on Principles of distributed computing. — Portland, OR: ACM, 2000.

3. Brewer, Eric A. A Certain Freedom: Thoughts on the CAP Theorem // Proceeding of the XXIX ACM SIGACT-SIGOPS symposium on Principles of distributed computing. — N. Y.: ACM, 2010. 4. Skalski D.: NoSQL – nierelacyjne systemy baz danych // Software Developer, 08/2011, s. 10-16. 5. http://redis.io/topics/whos-using-redis

6. Abadi D., Boncz P., Harizopoulos S.: Column-Oriented Database Systems // Journal Proceedings of the VLDB Endowment, Vol. 2 Issue 2, 09/2009.

7. http://www.monetdb.org/Home

8. http://docs.neo4j.org/chunked/milestone/index.html 9. Przegląd ITS, 10/2007, s. 5.

PERSPECTIVES OF USING NoSQL DATABASES IN INTELLIGENT TRANSPORTATION SYSTEMS

Summary: This paper presents an idea of the use of NoSQL databases in modern intelligent transportation

systems. Presented evidence for the development of non-relational databases and the potential areas of their application. Shows the concepts of functioning of various types of NoSQL databases on examples of simple data structures. Presents the criteria for the applicability of non-relational database in the intelligent transportation systems of a given type.

Cytaty

Powiązane dokumenty

O tym, że salda faktycznie zostały zmienione, przekonamy się wyświetlając zawartość tabeli konta za pomocą instrukcji:. SELECT *

Niezależność aplikacji i danych - dane mogą być wprowadzane do bazy bez konieczności modyfikacji korzystających z nich programów czy systemów użytkowych, a z drugiej

Analiza porównawcza SZBD NoSQL oraz MySQL na przykładzie bazy danych kwiaciarni. Analiza porównawcza frameworków wykorzystywanych do tworzenia testów zautomatyzowanych na

b) w którym dniu urodziło się najwięcej dzieci? Podaj datę i liczbę dzieci. c) imiona kobiet w wieku poniżej 25 lat, które urodziły dzieci o wadze powyżej 4000 g. W zapytaniu

Podaj nazwisko, imię, klasę oraz średnią ocen osoby, która osiągnęła najwyższą średnią ocen w całej szkole (jest tylko jedna taka osoba).. Podstawy

dowódzcom wojskowym wspomnianą władzę wykonawczą, jak również upoważniać ich do wydawania nakazów; i zakazów,, zmie­ rzających do utrzymania bezpieczeństwa Państwa i

o Krajowym Rejestrze Sądowym (Dz. zmieniające rozporządzenie w sprawie szczegółowego sposobu prowadzenia rejestrów wchodzących w skład Krajowego Rejestru Sądowego

Praca w grupie z zastosowaniem komputera pozwala na zdobycie wiedzy w zakresie zastosowań arkusza, jak i wprowadzania danych do arkusza oraz zdobyciu efektów w zakresie