Symulacyjna metoda badania procesu obsługi żądań dostępu do danych w OODB

Podobne dokumenty
XIII International PhD Workshop OWD 2011, October 2011 METODA REEINGINEERINGU ORGANIZACJI Z WYKORZYSTANIEM SYMULATORA PROCESÓW BIZNESOWYCH

Wykład I. Wprowadzenie do baz danych

Paweł Kurzawa, Delfina Kongo

Pojęcie bazy danych. Funkcje i możliwości.

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Bazy danych. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Wykład 3: Model związków encji.

XII International PhD Workshop OWD 2010, October Metodyka pozyskiwania i analizy wyników badań symulacyjnych ścieżek klinicznych

Bazy danych w sterowaniu

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

Bazy danych 2. Wykład 1

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

Zaawansowane Systemy Baz Danych

Hurtownie danych. Wstęp. Architektura hurtowni danych. CO TO JEST HURTOWNIA DANYCH

INFORMATYKA Pytania ogólne na egzamin dyplomowy

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Świat rzeczywisty i jego model

Baza danych. Baza danych to:

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

RELACYJNE BAZY DANYCH

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

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi

Baza danych. Modele danych

Modelowanie i analiza systemów informatycznych

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

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

Alicja Marszałek Różne rodzaje baz danych

Integracja systemu CAD/CAM Catia z bazą danych uchwytów obróbkowych MS Access za pomocą interfejsu API

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła

Tworzenie aplikacji bazodanowych

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Modelowanie danych, projektowanie systemu informatycznego

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

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

mail: strona: konsultacje: na stronie (po wcześniejszym umówieniu drogą mailową)

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl

EGZAMIN MATURALNY W ROKU SZKOLNYM 2017/2018 INFORMATYKA

Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Projektowanie Zorientowane na Dziedzinę. ang. Domain Driven Design

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

PRZEWODNIK PO PRZEDMIOCIE

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu

Programowanie MorphX Ax

Hurtownie danych. 31 stycznia 2017

Opisy efektów kształcenia dla modułu

Budowa systemu wspomagającego podejmowanie decyzji. Metodyka projektowo wdrożeniowa

TRANSFORMACJA MODELU ER DO MODELU RELACYJNEGO

Zestawy zagadnień na egzamin dyplomowy (inżynierski) dla kierunku INFORMATYKA (studia I stopnia)

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Grupy pytań na egzamin inżynierski na kierunku Informatyka

Technologia informacyjna

Modelowanie jako sposób opisu rzeczywistości. Katedra Mikroelektroniki i Technik Informatycznych Politechnika Łódzka

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Modelowanie danych. Model związków-encji

PL B1. ABB Sp. z o.o.,warszawa,pl BUP 26/01. Michał Orkisz,Kraków,PL Mirosław Bistroń,Jarosław,PL

Wykład 2. Relacyjny model danych

Programowanie obiektowe

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Zarządzanie pamięcią operacyjną

Tytuł kursu: Oracle 11g XE Administracja (kompleksowe)

Historia modeli programowania

Java Persistence API - zagadnienia zaawansowane

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

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

Zaawansowane programowanie obiektowe - wykład 5

Projektowanie logiki aplikacji

Rozdział 1 Wprowadzenie do baz danych. (c) Instytut Informatyki Politechniki Poznańskiej 1

MODELOWANIE I SYMULACJA Kościelisko, czerwca 2006r. Oddział Warszawski PTETiS Wydział Elektryczny Politechniki Warszawskiej Polska Sekcja IEEE

Wprowadzenie do technologii Business Intelligence i hurtowni danych

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

ORGANIZACJA ZAJĘĆ BAZY DANYCH PLAN WYKŁADU SCHEMAT SYSTEMU INFORMATYCZNEGO

Podstawy Programowania Obiektowego

SZKOLENIE: Administrator baz danych. Cel szkolenia

PODSTAWY BAZ DANYCH. 5. Modelowanie danych. 2009/ Notatki do wykładu "Podstawy baz danych"

Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.

Algorytm. a programowanie -

Zestawy zagadnień na egzamin dyplomowy (inżynierski) dla kierunku INFORMATYKA (studia I stopnia)

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Metody skrócenia czasu wykonywania fazy regeneracji krotek podczas realizacji złączeń w pamięci operacyjnej

PODSTAWY BAZ DANYCH. 19. Perspektywy baz danych. 2009/2010 Notatki do wykładu "Podstawy baz danych"

PROJEKT Z BAZ DANYCH

Modelowanie i Programowanie Obiektowe

Wprowadzenie do Hurtowni Danych

Przykładowa baza danych BIBLIOTEKA

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000

Obiektowe bazy danych wybrane kierunki rozwoju

Bazy danych TERMINOLOGIA

Referat pracy dyplomowej

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Zaawansowane Modelowanie I Analiza Systemów Informatycznych

WPROWADZENIE DO BAZ DANYCH

2017/2018 WGGiOS AGH. LibreOffice Base

Tematy projektów Edycja 2014

PODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych

KARTA PRZEDMIOTU. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI Ogólne umiejętności posługiwania się komputerem

Modelowanie i obliczenia techniczne. dr inż. Paweł Pełczyński

Funkcjonalność relacyjnej i obiektowej bazy danych po usunięciu z modelu atrybutów przyjmujących wartości Null

Hurtownie danych a transakcyjne bazy danych

Systemy ekspertowe. Krzysztof Patan

Kurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501)

Obiektowe bazy danych

Transkrypt:

Symulacja w Badaniach i Rozwoju Vol. 4, No. 1/2013 Karol TOMASZEWSKI Instytut Systemów Informatycznych, Wydział Cybernetyki WAT ul. S. Kaliskiego 2, 00-908 Warszawa E mail: ktomaszewski@wat.edu.pl Symulacyjna metoda badania procesu obsługi żądań dostępu do danych w OODB 1 Wprowadzenie Obiektowe bazy danych wnoszą szereg nowych funkcjonalności do współczesnych systemów baz danych. Rozszerzenie możliwości baz obiektowych wynika między innymi ze złożoności modelu danych. Wpływa to jednak na zwiększenie złożoności całego systemu zarządzania bazą danych. Wiąże się to również ze zwiększonym zapotrzebowaniem na zasoby obliczeniowe potrzebne do przetwarzania operacji bazodanowych. Złożoność procesów przetwarzania obniża jednocześnie wydajność bazy danych w sensie czasu obsługi żądań napływających od użytkowników. Dlatego, uzasadnione jest badanie i poprawa technik wpływających na wydajność działania tych systemów. W literaturze można znaleźć opis wielu kierunków rozwoju technik mających na celu poprawę efektywności obiektowych bazy danych. W pracy [1] scharakteryzowane zostały wybrane zagadnienia, będące obecnie przedmiotem badań, między innymi klasteryzacja, replikacja czy współbieżność w obiektowych bazach danych. W dalszej części pracy rozważany jest proces materializacji obiektów, tzn. proces obsługi żądań dostępu do obiektów, realizowany przez system zarządzania bazą danych. Funkcjonalność obsługi żądań dostępu do obiektów stanowi fragment wszystkich funkcjonalności systemu zarządzania bazą danych. Na potrzeby tej pracy i dalszej analizy fragment ten zostanie uproszczony tak, aby logicznie odzwierciedlał realizowaną funkcjonalność, bez dokładnego odzwierciedlenia fizycznej implementacji. Umożliwi to sformułowanie abstrakcyjnego modelu symulacyjnego, wykorzystanego w dalszej analizie. 2 Proces obsługi żądań Jedną z cech charakterystycznych, wprowadzoną do obiektowych baz danych, jest nadanie obiektom tożsamości [2]. Jest to odejście od koncepcji powiązań relacyjnych, stosowanych dotychczas w systemach relacyjnych baz danych. W relacyjnym modelu danych powiązania między danymi realizowane są z wykorzystaniem relacji kluczy głównych (primary key) oraz kluczy obcych (foreign key). Z kolei w obiektowym modelu danych powiązania między danymi realizowane są poprzez atrybuty referencyjne w definicjach obiektów. Referencje z kolei oparte są na tzw. tożsamości obiektów. Tożsamość realizowana jest przez nadanie każdej instancji obiektu identyfikatora OID, unikalnego w obrębie całej bazy danych. W trakcie nawigacji 51

Karol TOMASZEWSKI obiektowej wykorzystywane są atrybuty referencyjne obiektów, odwołujące się do kolejnych instancji na podstawie referencji (identyfikatora OID) [2]. Praca z danymi zorganizowanymi obiektowo powoduje napływanie do obiektowej bazy danych szeregu odwołań do kolejnych obiektów, według ich tożsamości. Typowa architektura systemów bazodanowych zakłada składowanie danych w pamięci zasadniczej (np. w pamięci dyskowej) oraz istnienie bufora, jako mniejszego obszaru w pamięci operacyjnej, odpowiadającego za obsługę bieżących żądań [3]. Rys. 1. Model pamięć podręczna-pamięć zasadnicza Fig. 1. Model buffer memory -main memory Każde napływające żądanie dostępu do obiektu powoduje sprawdzenie, czy żądany obiekt jest przechowywany w pamięci podręcznej - buforze. Jeżeli tak, obiekt jest udostępniany na potrzeby realizacji bieżącej transakcji. Jeżeli obiekt nie został wcześniej załadowany do pamięci podręcznej, następuje załadowanie obiektu z pamięci zasadniczej do bufora (rys. 1). Inną istotną cechą składowania danych w systemach bazodanowych jest zgrupowanie danych w większe jednostki logiczne stronice [4]. Podczas obsługi żądania dostępu do wybranego obiektu ładowana jest do pamięci podręcznej cała jednostka logiczna (stronica), w której obiekt był zawarty. Wiąże się to również z koniecznością algorytmicznego ustalenia innej stronicy, podlegającej usunięciu z pamięci podręcznej, oraz zastąpienie jej nową [5]. Od tego momentu żądany obiekt oraz wszystkie obiekty w obrębie tej samej stronicy są dostępne w pamięci podręcznej. 3 Rola klasteryzacji Klasteryzacja to szeroki zakres wiedzy, wyprzedzający powstanie pierwszych komputerów. Współczesne definicje klasteryzacji nawiązują najczęściej do zagadnień analizy skupień oraz skutecznego wyznaczania zgrupowań bytów tematycznie ze sobą powiązanych. Analiza skupień opiera się z kolei na algorytmach klasyfikacji 52

Symulacyjna metoda badania procesu obsługi żądań dostępu do danych w OODB statystycznej (bezwzorcowej), które przyporządkowują obserwacje statystyczne do zidentyfikowanych klas, bazując na atrybutach (cechach) tych obserwacji. Wspomniana specyfika składowania obiektów, zgrupowanych w większe jednostki logiczne, umożliwia rozważenie wykorzystania informacji z analizy skupisk w celu poprawy działania procesu obsługi żądań dostępu do obiektów. Każde odwołanie do obiektu, który nie znajduje się aktualnie w buforze, wiąże się z dodatkowym kosztem obliczeniowym i czasowym. Koszt ten wynika z szeregu operacji wykonywanych podczas ładowania obiektu z pamięci zasadniczej. Jest to między innymi odszukanie stronicy z żądanym obiektem, proces usunięcia stronicy aktualnie znajdującej się w buforze (w tym aktualizacja zmian) oraz załadowanie nowej stronicy do bufora [6]. Rozważanym problemem jest takie rozmieszczenie obiektów w stronicach, aby zminimalizować ilość odwołań do kolejnych stronic. Inaczej mówiąc, należy dążyć do zminimalizowania liczby operacji wymiany stronic wykorzystywanych do obsługi napływających zapytań. W tym celu można rozważyć wykorzystanie wybranych metod klasteryzacji w organizacji bazy danych. 4 Symulacja Do obserwacji pracy mechanizmu bufora można wykorzystać symulację komputerową. W symulacji takiej można rozważyć dane wejściowe jako strumień żądań dostępu do obiektów. Rolą symulowanego systemu zarządzania bazą danych jest zapewnienie dostępu do obiektu w ramach obsługi żądania. Symulowany system powinien być zorientowany według wspomnianego wcześniej modelu pamięć podręczna-pamięć zasadnicza. W ramach obsługi żądania obiekt jest udostępniany, jeżeli znajduje się w danej chwili w pamięci podręcznej. W przeciwnym wypadku udostępnienie obiektu wymaga odwołania do pamięci zasadniczej oraz wymiany stron w buforze [6]. Symulacja powinna uwzględniać takie charakterystyki systemów rzeczywistych, jak czas przeszukiwania zbiorów danych w pamięci podręcznej oraz czas dostępu i przeszukiwania zbiorów danych w pamięci zasadniczej. W trakcie symulacji powinny zostać zaobserwowane takie charakterystyki, jak całkowita liczba obsłużonych żądań dostępu, liczba żądań obsłużonych tylko z wykorzystaniem pamięci podręcznej, liczba odwołań do pamięci zasadniczej oraz symulacyjny czas obsługi żądań. Eksperyment symulacyjny można przeprowadzić, badając wykorzystanie różnych metod klasteryzacji. Różna organizacja danych w bazie powinna powodować różną trafność odwołań do pamięci. Wymienione wyżej charakterystyki powinny pozwalać ocenić i porównać wpływ wybranych metod klasteryzacji na efektywność obsługi żądań w sensie złożoności przetwarzania (liczba zdarzeń), jak i czasu przetwarzania żądań dostępu. 53

Karol TOMASZEWSKI Rys. 2. Diagram aktywności modelu symulacyjnego Fig. 2. Simulation model activity diagram 5 Model Symulacyjny Model symulacyjny powinien odzwierciedlać cechy procesu udostępniania danych w systemach baz obiektowych. W szczególności powinny zostać odwzorowane zdarzenia wpływające na wydajność obsługi napływających żądań, takie jak dostęp do danych w buforze oraz wczytywanie danych z pamięci zasadniczej. Można zidentyfikować następujące encje (uczestników) wraz z zadaniami, za które 54

Symulacyjna metoda badania procesu obsługi żądań dostępu do danych w OODB odpowiadają (rys. 2). Encja User jest to encja odpowiadająca za generację żądań dostępu do obiektów. Symuluje ona zdarzenie żądania dostępu do systemu bazy danych, z rozróżnieniem operacji tylko do odczytu, oraz operacji modyfikacji danych. Przyjęte żądanie jest przekazywane do encji Buffer Managera. Jest to podstawowa encja, odpowiadająca za obsługę zgłoszenia. Po przyjęciu żądania następuje tu sprawdzenie, czy stronica zawierająca obiekt jest aktualnie załadowana do pamięci podręcznej. Jeżeli tak, następuje tu ekstrakcja obiektu ze stronnicy, na której obiekt ten się znajduje. Jeżeli pamięć podręczna nie zawiera stronicy z żądanym obiektem, następuje odwołanie do kolejnej encji, tj. Storage Managera. Encja ta akceptuje żądania załadowania stronnicy z pamięci zasadniczej. Żądana stronica jest zwracana w ramach odpowiedzi na żądanie. Po zwróceniu stronnicy Buffer Manager przyjmuje nową stronicę, ustalając jednocześnie, która z bieżących stronic w pamięci podręcznej podlegać będzie usunięciu. W tym momencie następuje sprawdzenie, czy obiekty na stronie, podlegającej usunięciu z pamięci podręcznej uległy modyfikacji. Jeżeli tak, zostaje wygenerowane żądanie do encji Storage Managera, o zaktualizowanie stanu stronnicy w pamięci zasadniczej. Bieżąca stronica zostaje zastąpiona w pamięci podręcznej nową stronicą. Gdy potrzebne dane znajdują się już w buforze, następuje ekstrakcja obiektu z nowowczytanej stronicy. W kolejnym kroku encja Transaction Managera przejmuje zarządzanie blokowaniem i dostępem do obiektu. Encja ta, po uzyskaniu dostępu do obiektu, podejmuje próbę zablokowania tego dostępu na potrzeby bieżącej transakcji. Jeżeli obiekt jest wykorzystywany w ramach innej transakcji, bieżąca aktywność zostaje zatrzymana w oczekiwaniu na zwolnienie blokady. Gdy to możliwe, bieżąca transakcja dokonuje blokady obiektu na potrzeby własnej realizacji, a następnie symulowane jest zdarzenie właściwej operacji na obiekcie. W trakcie tego zdarzenia może zostać zaznaczona flaga modyfikacji dla stronnicy, na której znajduje się obiekt. Zależy to od typu operacji w obsługiwanym żądaniu. Po tej operacji następuje zwolnienie blokady na obiekcie, po czym bieżąca transakcja jest zakończona. Zdarzenie to kończy proces obsługi bieżącego żądania. 6 Podsumowanie W pracy tej poruszony został problem rosnącej złożoności przetwarzania, wynikającej z nowych funkcjonalności obiektowych baz danych. Rosnąca złożoność obniża efektywność przetwarzania. W artykule zaproponowana została symulacyjna metoda weryfikacji metod klasteryzacji danych na etapie poprzedzającym implementację w rzeczywistych systemach bazodanowych. Na potrzeby eksperymentu symulacyjnego zaproponowany został również model symulacyjny odzwierciedlający rzeczywisty fragment takiego systemu bazodanowego. Omawiany model ograniczony został do wybranego obszaru zainteresowań, tzn. do procesu materializacji referencji, w ramach obsługi żądań dostępu do obiektów. Model został zorientowany zdarzeniowo, odwzorowując kolejne zdarzenia procesu obsługi. Tak sformułowany model symulacyjny może pozwolić na obserwację wpływu metod klasteryzacji na działanie bufora w modelu pamięć podręczna-pamięć zasadnicza. Zastosowanie metod symulacyjnych pozwala na przeprowadzenie badań porównawczych i ocenę wybranych metod klasteryzacji. Można również rozważyć wykorzystanie takiego modelu symulacyjnego do badania innych technik efektywnościowych w bazach danych. Badanie zasadności metod na etapie poprzedzającym właściwą implementację 55

56 Karol TOMASZEWSKI ogranicza czas i koszty prac projektowych. Pozwala również na identyfikację i wykluczanie ewentualnych błędów koncepcyjnych, niewychwyconych na etapie projektowania. Na tym etapie możliwe jest dokonywanie wyboru właściwych rozwiązań do dalszej implementacji. Literatura 1. Tomaszewski K.: Obiektowe bazy danych wybrane kierunki rozwoju. Biuletyn Instytutu Systemów Informatycznych, nr 10, 53-61, 2012 2. Barry D., Cattell R.: The Object Data Standard: ODMG 3.0. Morgan Kaufmann Publishers, 2000 3. Johnson T., Shasha D.: 2Q: A Low Overhead High Performance Buffer Management Replacement Algorithm. Proceedings of the International Conference on Very Large Databases, 439 450, 1994 4. Wang Q., Maier D., Shapiro L.: The Hybrid Technique for Reference Materialization in Object Query Processing. Proceedings of the 2000 International Symposium on Database Engineering & Applications, 37-46, 2000 5. He Z., Marquez A.: Path and cache conscious prefetching (PCCP). The VLDB Journal The International Journal on Very Large Data Bases, nr 16, 235-249, 2007 6. Darmont J., Schneider M.: VOODB: A Generic Discrete-Event Random Simulation Model To Evaluate the Performances of OODBs. Proceedings of the 25th International Conference on Very Large Data Bases, 254-265, 1999 Streszczenie W artykule omówiona została symulacyjna metoda badania wydajności procesu obsługi żądań dostępu w obiektowych bazach danych. Zaproponowany został model symulacyjny umożliwiający badanie wpływu metod klasteryzacji na efektywność omawianego procesu. Rozpatrywana jest organizacja danych w modelu pamięć podręczna-pamięć zasadnicza. Eksperyment symulacyjny może posłużyć do porównania wybranych metod klasteryzacji na etapie projektowania rozwiązań. Wyniki badań mogą być wykorzystane przy podejmowaniu decyzji o implementacji metod w rzeczywistych systemach bazodanowych. Słowa kluczowe: obiektowe bazy danych, symulacja zdarzeniowa, model obsługi żądań dostępu Simulation method for analyzing the process of handling data access requests in OODB Summary This article presents the simulation method for the efficiency evaluation of the serving access-requests process in object databases. Simulation model has been proposed, capable to investigate the impact of the clustering method on the efficiency of this process. The presented approach assumes organisation of data in the cache memorymain memory model. Simulation experiment may be used for a comparision of chosen

Symulacyjna metoda badania procesu obsługi żądań dostępu do danych w OODB clustering methods, at the early stage of designing the final solution. The results can be considered while making decisions about implementation of methods in the real database systems. Keywords: object-oriented database, discrete-event simulation, model of the serving access-requests 57

Symulacja w Badaniach i Rozwoju Vol. 4, No. 1/2013 58