Pomiar czasu przetwarzania rozproszonych zapytań w ewoluujących silnikach serwerów baz danych SQL Microsoft Server



Podobne dokumenty
Pomiar czasu przetwarzania rozproszonych zapytań w ewoluujących silnikach serwerów baz danych SQL Microsoft Server.

AKADEMIA GÓRNICZO-HUTNICZA im. Stanisława Staszica w Krakowie. Wydział Geologii, Geofizyki i Ochrony Środowiska. Bazy danych 2

Pojęcie systemu baz danych

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski. Bazy danych ITA-101. Wersja 1

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

PHP: bazy danych, SQL, AJAX i JSON

PRZEWODNIK PO PRZEDMIOCIE

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia. Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia

Szkolenie autoryzowane. MS 6232 Wdrażanie bazy danych Microsoft SQL Server 2008 R2

Projekt: MS i CISCO dla Śląska

Liczba godzin 1,2 Organizacja zajęć Omówienie programu nauczania 2. Tematyka zajęć

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

Organizacja zajęć BAZY DANYCH II WYKŁAD 1. Plan wykładu. SZBD Oracle

PRZEWODNIK PO PRZEDMIOCIE

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

Program Windykator I Moduły do programu. Wymagania systemowe oraz środowiskowe dla programów

INFORMATYKA Pytania ogólne na egzamin dyplomowy

Wdrożenie systemu Microsoft Forefront Client Security, jako przykład osiągnięcia bezpieczeństwa informatycznego.

Politechnika Poznańska TWO

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Bazy danych 2. Wykład 1

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

PRZEWODNIK PO PRZEDMIOCIE

Spis treści. Przedmowa

Serock warsztaty epuap 28 październik 2009 r. Sławomir Chyliński Andrzej Nowicki WOI-TBD Szczecin

INSTALACJA I KONFIGURACJA SYSTEMU WINDOWS

dziennik Instrukcja obsługi

Wpływ ustawień parametru wieloblokowego sekwencyjnego czytania danych na czas wykonywania zapytania SQL w bazie danych Oracle 11g

Sylabus do programu kształcenia obowiązującego od roku akademickiego 2014/15

Inżynieria oprogramowania- Grupa dra inż. Leszka Grocholskiego II UWr 2009/2010. Aleksandra Kloc, Adam Grycner, Mateusz Łyczek. Wasza-fota.

Hurtownie danych wykład 5

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

Relacyjne bazy danych a XML

Konfiguracja komputera przeznaczonego do pracy z IndustrialSQL Server 8.0 (komputer serwer)

Baza danych. Baza danych to:

Lingwistyczny system definicyjny wykorzystujący korpusy tekstów oraz zasoby internetowe.

MODELOWANIE SIECI DYSTRYBUCYJNEJ DO OBLICZEŃ STRAT ENERGII WSPOMAGANE SYSTEMEM ZARZĄDZANIA MAJĄTKIEM SIECIOWYM

1 Instalowanie i uaktualnianie serwera SQL Server

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

Charakterystyka sieci klient-serwer i sieci równorzędnej

Hurtownie danych. 31 stycznia 2017

Strojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i

Instrukcja do panelu administracyjnego. do zarządzania kontem FTP WebAs.

METODY INŻYNIERII WIEDZY ASOCJACYJNA REPREZENTACJA POWIĄZANYCH TABEL I WNIOSKOWANIE IGOR CZAJKOWSKI

DOTACJE NA INNOWACJE

PROJEKT Z BAZ DANYCH

Podstawy Systemów Zarządzania Baz Danych

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

JDBC w LoXiMie. Interfejs Java Database Connectivity dla systemu LoXiM. Adam Michalik 2008

Bazy danych Wykład zerowy. P. F. Góra

Instrukcja instalacji i obsługi programu Szpieg 3

Indeksy w bazach danych. Motywacje. Techniki indeksowania w eksploracji danych. Plan prezentacji. Dotychczasowe prace badawcze skupiały się na

Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

MongoDB. wprowadzenie. dr inż. Paweł Boiński, Politechnika Poznańska

Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK

Synchronizacja czasu - protokół NTP

1. Instalacja jednostanowiskowa Instalacja sieciowa Instalacja w środowisku rozproszonym Dodatkowe zalecenia...

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X

Instrukcja instalacji serwera bazy danych Microsoft SQL Server Express 2014

REFERAT O PRACY DYPLOMOWEJ

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2013/2014

>>> >>> Ćwiczenie. Cloud computing

Wykład I. Wprowadzenie do baz danych

SZCZEGÓŁOWY OPIS PRZEDMIOTU ZAMÓWIENIA. CZĘŚĆ NR 1: Dostawa oprogramowania

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

Politechnika Śląska, Instytut Informatyki

Wprowadzenie do baz danych

Monitoring procesów z wykorzystaniem systemu ADONIS. Krok po kroku

K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU

Kasy Fiskalne Lublin Analityk

Szpieg 2.0 Instrukcja użytkownika

Sprawa numer: BAK.WZP Warszawa, dnia 16 sierpnia 2016 r.

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Bazy danych i strony WWW

Opisy efektów kształcenia dla modułu

Szkolenie autoryzowane. MS Tworzenie zapytań do Microsoft SQL Server Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki )

Systemy macierzowe. www. qsantechnology. com

SZKOLENIE: Administrator baz danych. Cel szkolenia

ActiveXperts SMS Messaging Server

Praca Magisterska "System zdalnego składania ofert kupna i sprzedaży za pośrednictwem Internetu" AUTOR PROMOTOR

SQL injection. Metody włamań do systemów komputerowych p. 1/13. Bogusław Kluge, Karina Łuksza, Ewa Makosa

Projektowanie i implementacja wysokowydajnych aplikacji w języku

Monitoring procesów z wykorzystaniem systemu ADONIS

PROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ W RAMACH EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO OPIS PRZEDMIOTU. studia pierwszego stopnia

Instrukcja instalacji systemu

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Wstęp. Opis ten dotyczy wydziałów orzeczniczych.

Kurs Wizualizacja z WinCC SCADA - Zaawansowany. Spis treści. Dzień 1. I VBS w WinCC podstawy programowania (zmienne, instrukcje, pętle) (wersja 1410)

Aplikacje internetowe - opis przedmiotu

Ramowy plan kursu. Lp. Moduły Wyk. Lab. Przekazywane treści

Administrowanie systemami informatycznymi Kod przedmiotu

Replikacja bazy danych polega na kopiowaniu i przesyłaniu danych lub obiektów bazodanowych między serwerami oraz na zsynchronizowaniu tych danych w

Programowanie obiektowe

Transkrypt:

Alicja KILIŃSKA WIŚNIEWSKA Politechnika Koszalińska Wydział Informatyki i Elektroniki E-mail: alicja@hardrex.pl Pomiar czasu przetwarzania rozproszonych zapytań w ewoluujących silnikach serwerów baz danych SQL Microsoft Server Streszczenie: Opracowanie zawiera przegląd metod przetwarzania zapytań w rozproszonych relacyjnych systemach zarządzania bazami danych. Omówione zostały podstawowe założenia, pojęcia i metody. Założeniem jest ustosunkowanie się do pomiaru czasu przetwarzania zapytań w rozproszonych bazach danych. Opracowanie omawia także samą koncepcję przetwarzania zapytań w rozproszonych bazach danych opartych na silniku serwerów bazodanowych. 1. Wstęp Organizacja, przechowywanie oraz szybki dostęp do danych umieszczonych w bazach danych jest obecnie jedną z podstawowych idei rozwoju współczesnej informatyki. Wraz ze zwiększonymi wymaganiami systemowymi wzrasta zapotrzebowanie na przechowywanie danych, które te systemy generują lub wykorzystują. Dane wzrastają w tempie wykładniczym, co doskonale widać na przykładzie nieustannie rosnących pojemności dysków twardych, które w latach 90. osiągały pojemności rzędu 4,2 Gb, natomiast obecnie dochodzą one do rozmiarów 1 Tb. Jednocześnie wymaga się coraz szybszego, bardziej elastycznego oraz nieprzerwanego dostępu do danych przechowywanych w bazach danych. Dynamiczny rozwój infrastruktury sieciowej, coraz większe możliwości szybkiego przesyłania informacji, współdzielenie i udostępnianie danych spowodowało, że coraz większą rolę zaczęły odgrywać rozproszone bazy danych. Doskonałym przykładem zastosowania rozproszonych baz danych na skalę światową okazała się akcja SETI, która wykorzystywała zasoby komputerów użytkowników rozsianych na całym świecie za pośrednictwem sieci Internet. Była ogromnym sukcesem, aczkolwiek pokazała jak istotny jest czas dostępu do danych rozsianych po całym świecie. Obecnie pracuje się nad przyspieszeniem oraz zabezpieczeniem dostępu do danych przechowywanych w rozproszonych bazach danych. 40

2. Motywacja Powszechność rozproszonych baz danych sprawia, iż ilość danych przechowywanych w bazach tego typu rośnie bardzo szybko. Wymusiło to na producentach oprogramowania, a dokładniej silników bazodanowych ciągłe modyfikacje istniejących wersji serwerów bazodanowych oraz zbyt częste publikowanie nowych wersji oprogramowania. Korporacje producenckie upatrują w tym łatwy i szybki zysk, gdyż powszechnie przyjętą zasadą jest zakupywanie nowych wersji oprogramowania które pojawia się na rynku. Jednakże istnieje możliwość iż rozproszona baza danych znajdująca się na kilku serwe- rach różniących się pomiędzy sobą wersjami silnika nie będzie funkcjonowała spójnie co doprowadzi do spowolnienia działania bazy danych oraz obniży wydajność samej rozproszonej bazy danych. Rozpatrzmy zatem następujący przykład rozproszonej bazy danych która została zaim- plementowana na dwóch silnikach bazodanowych jednego producenta oprogramowania w wersji starszej oraz nowszej. Wspomniane dwie wersje oprogramowania zostały zainstalowane na komputerze położonych w sieci, miało to na celu wykluczenie czynni- ka różnorodności podzespołów zainstalowanych w samym komputerze, które mogłyby wpłynąć na proces badania. Baza została rozproszona pomiędzy dwoma komputerami co zostało przedstawione na rysunku 1. Rys. 1. Schemat rozproszenia badanej bazy danych Umieszczony na rysunku 1 schemat przedstawia rozproszenie badanej bazy danych pomiędzy dwoma komputerami umieszczonymi w sieci, które posłużyły do przeprowadzenia badania. Warto podkreślić, że komputery znajdowały się w jednej sieci, która została stworzona specjalnie na potrzeby przeprowadzenia badania, a, aby wykluczyć czynniki zewnętrzne które mogłyby mieć wpływ na wynik przeprowadzonego badania. 41

Baza danych rozstała rozproszona zgodnie ze schematem zamieszczonym na rysunku 2. Rys. 2. Schemat badanej, rozproszonej bazy danych Umieszczony na rysunku 2 schemat pokazuje reprezentację głównych elementów opi- sywanej bazy danych: etat województwo zamówienie adres pracownik komputer klient.. Ten schemat został przedstawiony jako model fizyczny. Baza została podzielona pomiędzy dwoma silnikami bazodanowymi znajdującymi się na dwóch komputerach. Część bazy danych oznaczona kolorem fioletowym została umieszczona na komputerze numer 1, natomiast część oznaczona kolorem zielonym została umieszczona na komputerze numer 2. Aby uzyskać pełne dane klienta zamawiającego pewien produkt należy odwołać się do tabeli klient, która została rozproszona. 3. Mechanizm przetwarzania zapytań w bazach danych Istotnym elementem na który należy zwrócić uwagę jest schemat przetwarzania zapytania przez wykorzystane silniki bazodanowe. W tym wypadku zostanie do tego wyko- rzystana instrukcja SELECT języka SQL. Zapytania pod względem przetwarzania można podzielić na zapytania ad hoc oraz składowane, które dodatkowo można podzielić na etapy w których są wykonywane. Zapytanie ad hoc składa się z etapów: poprawność syntaktyczna, poprawność semantyczna, optymalizacja zapytania, kompilacja i wykonanie zapytania. Natomiast zapytanie składowe określane jest jako kolejne wywołanie tego samego zapytania. Tego typu zapytania wykonywane są jedynie w dwóch etapach składających się z pobrania skompilowanej instrukcji i oraz jej wykonania. Instrukcja SELECT została wykorzystana, aby przy jej pomocy dokonać pomiarów czasu jej wykonania na rozproszonej bazie danych. Sama instrukcja służy do pobrania pożądanych danych z bazy. Dodatkowo została wykorzystana również instrukcja FROM, która definiuje, z której tabeli lub innego elementu takiego jak widok mają zostać pobrane dane. 42

4. Pomiar czasu statystycznego Celem dokonania pomiaru czasu statystycznego było udowodnienie założonej tezy, iż starszy silnik bazodanowy znacznie wolniej przetwarza zapytanie rozproszone niż nowszy, co miało ogólny wpływ na szybkość otrzymywania wymaganych wyników. Do tego celu został wykorzystany wyżej opisany model rozproszonej bazy danych rozmieszczonej pomiędzy komputerami w sieci. Mierzony był czas statystyczny podawany przez serwer podczas przetwarzania zapytania. Pomiar statystyczny został w zakresie analizy, kompilacji i czas realizacji transakcji, które występują po stronie serwera, otrzymane czasy nie uwzględniają czasu potrzebnego na przesyłanie danych do klienta, co wyklucza błąd pomiaru wynikający z obciążenia sieci komputerowej. Podczas badania uwzględnione zostały dwie wartości czasowe. Pierwszy wynik dotyczył czasu parsowania i czasu kompilacji zapytania, natomiast drugi wynik był czasem analizy i opracowanie odnoszącym się do czasu opracowania całego zapytania. Obie wartości określają jak długo były wykonywane czynności: przetworzenia polecenia SQL, sprawdzania błędów składni, dzielenie polecenia SQL na części składowe oraz tworzenie drzewa zapytań, kompilacja w pamięci cache drzewa zapytań, które właśnie zostało stworzone. Należy jednak nadmienić, że obejmuje to czas, który jest wymagany do przenoszenia danych z tabel powiązanych w pamięci podręcznej, dlatego jeśli wykonane będzie to samo zapytanie dwa razy, a dane z tabeli będą nadal znajdowały się w pamięci podręcznej, to czasy parsowania i kompilacji będą znacznie krótsze podczas drugiego wykonania zapytania. 5. Analiza otrzymanych wyników Na podstawie przeprowadzonych badań można jasno poprzeć tezę iż silniki baz danych różniące się tylko jedną wersją wstecz działają o około 3,75 ms wolniej przy uwzględnieniu wszystkich czasów pomiaru statystycznego. Średni czas zajętości procesora podczas parsowania zapytania wynosił średnio 0 ms dla baz z nowym silnikiem i 3,85 ms dla baz ze starszym silnikiem. Natomiast czas średni czas wykonania IO rozproszonego zapytania wynosił 4,12 ms dla baz z nowym silnikiem i 9,5 ms dla wersji starszej, co za tym idzie można łatwo wysnuć wniosek, że kompilacja przebiega o 5,37 ms szybciej przy użyciu nowego silnika bazodanowego. Całkowite wykonanie zapytania natomiast zajęło procesorowi średnio 1,87 ms przy nowym silniku, przy starym trwało to średnio 3,87 ms, czyli aż o 2 ms dłużej. Jednakże najistotniejszy był czas wykonania i kompilacji całego zapytania rozproszonego, gdyż tutaj również do porównania został zmierzony czas na lokalnym serwerze. Z pomiarów wynika iż tylko dla kompilacji całego zapytania czas ten jest większy od 0 ms. Pomiary wykazały również opóźnienie względem starszej wersji silnika, gdyż otrzymane wartości wynosiły odpowiednio: dla nowego silnika 23,25 ms, dla wersji poprzedniej 27,12 ms, a dla zapytania wykonanego stacjonarnie 5,12 ms. Różnica pomiędzy wersjami silnika wyniosła aż 3,87 ms, wartość ta oczywiście wraz z rozrostem bazy danych najprawdopodobniej ulegnie zwiększeniu. 43

Rysunek 3 przedstawia przykładowy graf rozproszenia bazy danych. Wierzchołek DB traktowany jest głównym serwer zarządzający całą bazą, natomiast poszczególne węzły to części rozproszone bazy danych na innych serwerach. Jako zaciemniony wierzchołek na grafie został przedstawiony serwer ze starszym silnikiem bazodanowym oznaczona literą A, natomiast pozostałe silniki są w wersji nowszej oznaczone literą B. W tym przykładzie uwzględniony zostanie całkowity czas kompilacji zapytania rozproszonego. Zgodnie z przeprowadzonymi badaniami, jeżeli podczas przetwarzania zapytania, które wymaga wykorzystania danych znajdujących się na wszystkich baza danych, średni czas kompilacji zapytania na wierzchołku A wyniesie 27,12 ms, natomiast na pozostałych wierzchołkach średni czas będzie wynosił 23,25 ms. Złożenie zapytania na wierzchołku DB jest maksymalnym czasem wybranym ze wszystkich czasów kompilacji na pozostałych wierzchołkach. Rys. 3. Graf przedstawiający rozproszenie przykładowej bazy danych Można to zapisać według wzoru: gdzie: 44 ( A B) DB = max,, A, B czasy przetwarzania zapytania na poszczególnych wierzchołkach. Zatem otrzymana zostanie wartość najwyższa w tym wypadku 27,12 ms. Przy wykonaniu n zapytań strata czasu wynikająca z opóźnienia generowanego przez wierzchołek A będzie systematycznie rosła i może zostać opisana zależnością: gdzie: OP średni czas opóźnień, n - ilość wykonanych zapytań. ( ( A, B) min( A B) ) OP = n max,, n

6. Podsumowanie W pracy przedstawiono wyniki i interpretację badań przeprowadzonych na rozproszonych bazach danych uzależnionych od wersji silnika bazodanowego. Celem przeprowadzonych badań miało być potwierdzenie lub zaprzeczenie teorii, iż wszystkie używane silniki baz danych w jednej rozproszonej bazie danych muszą być tej samej generacji, jak również potwierdzenie, że ewolucja silników bazodanowych wpływa na czas przetwarzania zapytań w rozproszonych bazach danych. Otrzymane wyniki jednoznacznie potwierdziły postawione tezy. Należy zwrócić również uwagę iż rosnąca popularność baz danych wymusza konieczność stosowania ujednoliconych silników bazodanowych aby efekty pracy z tymi typami baz danych przynosiły oczekiwane korzyści. Literatura 1. Szeliga M., Transact-SQL. Czarna księga, Helion, Gliwice 2003. 2. TamerOzsu M., Valduriez P., Principles of Distributed Database Systems, Prentice Hall 2007. 45