Praktyczne porównanie mechanizmów 2PC i 3PC dla rozproszonych baz danych

Wielkość: px
Rozpocząć pokaz od strony:

Download "Praktyczne porównanie mechanizmów 2PC i 3PC dla rozproszonych baz danych"

Transkrypt

1 Praktyczne porównanie mechanizmów 2PC i 3PC dla rozproszonych baz danych Małgorzata Sikorska Wydział Inżynierii Mechanicznej i Informatyki Kierunek Informatyka, Rok V msikorska@vp.pl Streszczenie Artykuł przedstawia porównanie podstawowych protokołów niepodzielnego zatwierdzania 2PC oraz 3PC dla rozproszonych baz danych. Odgrywają one zasadniczą rolę w przetwarzaniu transakcji rozproszonych. W celu praktycznego porównania tych protokołów zaprojektowano interfejsy realizujące mechanizmy 2PC i 3PC w oparciu o model przetwarzania transakcyjnego DTP, a następnie zaimplementowano je w jednej z najpopularniejszych architektur rozproszenia wspomagających przetwarzanie transakcyjne architekturze trójwarstwowej. W pracy skupiono się na przedstawieniu idei protokołów niepodzielnego zatwierdzania oraz ich oceny na podstawie kryteriów, takich jak złożoność czasowa oraz złożoność pod względem komunikatów, pozwalających na określenie ich wydajności. 1 Wprowadzenie Przetwarzanie transakcyjne jest jednym z podstawowych elementów funkcjonalności systemów zarządzania bazami danych. Jest ono niezbędne wszędzie tam gdzie aplikacje wymagają jednoczesnego dostępu do danych, współdzielonych pomiędzy wiele aplikacji, celem wykonania na nich operacji bazodanowych, stanowiących koncepcyjnie logiczną całość. Taki spójny logicznie zestaw operacji wykonywanych na bazie danych określany jest terminem transakcja. Najczęściej transakcja obejmuje operacje na jednej bazie danych. W przypadku rozproszonej bazy danych (DDB ang. Distributed Database), transakcja wykorzystuje dane z wielu baz danych tzw. węzłów systemu rozproszonego. Transakcje wykonujące operacje na danych znajdujących się na wielu niezależnych serwerach baz danych, stanowiących logiczna całość, określane są mianem transakcji rozproszonej (globalnej). Natomiast operacje składowe, czyli lokalne części transakcji globalnej wykonywane na poszczególnych węzłach, są nazywane gałęziami transakcji (ang. transaction branch). Zarówno w przypadku systemu scentralizowanego, jak i rozproszonego transakcja powinna odnosić się do danych odtwarzalnych i być z założenia niepodzielna (ang. atomic). W sytuacji, gdy operacje transakcji zostaną poprawnie zakończone, mówimy wtedy, że transakcja zakończyła się powodzeniem i jej skutki mogą zostać zatwierdzone w bazie danych. W pozostałych przypadkach mówimy o niepowodzeniu transakcji i tym samym 1

2 skutki transakcji powinny być wycofane, a stan bazy danych powinien być przywrócony do stanu sprzed rozpoczęcia transakcji. Aby zagwarantować powyższe własności każda transakcja powinna spełniać postulaty zasady ACID (ang. atomictiy, consistency, isolation, durability), zaproponowane przez Haider a i Reutera [3]: Atomowość (ang. atomicity) określa regułę wszystko albo nic, oznaczającą, że zbiór operacji składowych transakcji musi być wykonany w całości albo wcale. Spójność (ang. consistency) transakcja powinna przekształcać system z jednego stanu spójnego w inny spójny stan. Izolacja (ang. isolation) każda transakcja powinna być wykonywana niezależnie od innych działających współbieżnie transakcji, przetwarzanych w tym samym środowisku. Skutki współbieżnego wykonania transakcji powinny być takie same, jak wówczas gdyby wykonywano je w sposób szeregowy. Trwałość (ang. durability) wyniki działania zatwierdzonych transakcji powinny być zachowane w pamięci trwałej. W systemie rozproszonym zagwarantowanie powyższych własności transakcji nie jest zadaniem łatwym, dlatego też wprowadzono specjalne mechanizmy ułatwiające przetwarzanie transakcji rozproszonych zapewniające własności ACID. Są nimi protokoły niepodzielnego zatwierdzania (ang. atomic commitment protocols ACP). 2 Zatwierdzanie rozproszone Protokół niepodzielnego zatwierdzania jest algorytmem wykonywanym w celu niepodzielnego zatwierdzenia transakcji rozproszonej przez współpracujące w tym celu procesy. Każdy proces może oddać dokładnie jeden z dwóch możliwych głosów (ang. votes) Yes lub No, co pozwala na podjęcie wspólnej decyzji: Zatwierdzenie (ang. Commit) lub Zaniechanie (ang. Abort) transakcji. ACP pozwala zadecydować, czy transakcje rozproszoną należy zatwierdzić, czy też nie [1]. Na podjęcie decyzji mają wpływ następujące kwestie: 1. AC1 Wszystkie procesy, które podejmują decyzje, podejmują tą samą decyzje. 2. AC2 Procesy te nie mogą unieważnić swojej decyzji po tym jak już ją podjęły. 3. AC3 Decyzja o zatwierdzeniu może być podjęta tylko wtedy, gdy wszystkie procesy głosowały za zatwierdzeniem transakcji (oddały głos Yes). 4. AC4 Jeżeli wszystkie procesy głosowały na Yes, wtedy decyzją będzie Zatwierdzenie. 5. AC5 Powinno się rozważyć wykonania algorytmu obejmujące różnego rodzaje niepowodzenia takie jak awarie czy utraty komunikatów, do tolerowania których algorytm został zaprojektowany. Jeżeli wszystkie zaistniałe awarie zostaną naprawione i nie występują dostatecznie długo nowe awarie, wszystkie procesy podejmą w końcu decyzje. 2

3 3 Podstawowe protokoły niepodzielnego zatwierdzania Najczęściej stosowanym protokołem niepodzielnego zatwierdzania jest dwufazowy protokół zatwierdzania (ang. two-phase commit protocol), nazywany w skrócie protokołem 2PC [3]. Wykonanie protokołu 2PC rozpoczyna się w momencie rozpoczęcia zatwierdzania transakcji rozproszonej przez proces zwany koordynatorem na zlecenie klienta. Składa się z dwóch faz, w pierwszej fazie koordynator decyduje, kiedy rozpocząć zatwierdzanie transakcji rozproszonej. Jest to tzw. faza przygotowania (ang. prepare), każdy z uczestników transakcji przygotowuje się do lokalnego zatwierdzenia transakcji rozproszonej. Natomiast druga faza stanowi fazę rzeczywistego zatwierdzania (ang. commit) i rozpoczyna się w momencie, gdy każdy z uczestników transakcji rozproszonej wyraził gotowość do jej zatwierdzenia. Cały ten proces jest koordynowany przez zarządcę transakcji (ang. transaction manager), który może działać jako jeden z procesów systemu zarządzania jednej z rozproszonych baz danych lub może być zewnętrznym modułem wbudowanym w serwer aplikacji. Protokół 2PC jest w wielu przypadkach protokołem blokującym, ponieważ w wielu punktach wykonania tego protokołu procesy (są w stanie niepewności) oczekują na komunikaty, które mogą dotrzeć z dużym opóźnieniem lub nigdy, na skutek awarii lub innych okoliczności. W takich przypadkach procesy te mogą być czekać w nieskończoność, przez co są zablokowane. Na wypadek takich ewentualności stosuje się w protokole 2PC mechanizm anulowania zadań po upływie przewidzianego czasu (ang. timeout). Pozwala to uniknąć blokady procesów, gdyż oczekiwanie procesów jest przerywane przez po określonym czasie, po którym proces musi podjąć pewną akcję (ang. timeout action). W przypadku protokołu 3PC mamy do czynienia z dodatkową fazą (pre-commit), w której koordynator, po wyrażeniu gotowości przez każdego z uczestników transakcji do jej zatwierdzenia, wysyła do nich komunikat informujący o przygotowaniu się do zatwierdzenia transakcji i tym samym opuszczają oni stan niepewności. Dopiero po otrzymaniu koordynatora potwierdzenia otrzymania tego komunikatu przez wszystkich uczestników transakcji, następuje jej rzeczywiste zatwierdzenie. Zapewnia to większą niezawodność protokołu i odporność na awarie koordynatora [1]. 4 Projekt i realizacja mechanizmów 2PC i 3PC Istnieje wiele architektur rozproszenia, które wspomagają przetwarzanie transakcyjne. Obecnie stosuje się trójwarstwową architekturę rozproszoną opartą na oprogramowaniu pośredniczącym (ang. middleware), w której poszczególne węzły porozumiewają się za pomocą oprogramowania pośredniczącego, zakładający wspólny protokół komunikacyjny, przezroczysty dla użytkowników. W celu praktycznego porównania mechanizmy 2PC i 3PC zostały zrealizowane w postaci komponentów oprogramowania middleware na serwerze aplikacji, w oparciu o język Java i funkcjonalności sterownika JDBC [12]. Ponieważ technologie oprogramowania komponentowego, tworzą środowisko, które wymaga korzystania z ogólnie przyjętych modeli przetwarzania transakcyjnego, w niniejszej pracy aplikacja przetwarzająca transakcje rozproszone zbudowana została w oparciu o model przetwarzania transakcji rozproszonych standardu X/Open (ang. Distributed Transaction Processing Model DTP) [11]. Specyfikuje on m.in. komponenty, współpracujące ze sobą celem realizacji transakcji rozproszonej program aplikacyjny, za- 3

4 rządca transakcji, zarządcy zasobów. Określa także rodzaj interfejsów, jakie muszą być dostarczone przez system transakcyjny w celu zapewnienia atomowego wykonania transakcji globalnej. Interfejsy pomiędzy komponentami programowymi, a zarządcą transakcji (określony w specyfikacji X/Open jako interfejs TX) oraz pomiędzy zarządca transakcji, a zarządcą zasobów (zwany interfejsem XA). W niniejszej pracy funkcjonalność interfejsów TX i XA zastąpiono omówionym poniżej interfejsami zawartymi w pakietach dtp, transactions oraz tests. Poniżej omówione zostały komponenty programowe udostępniające te interfejsy zgodnie z modelem DTP. Komponent dtp.transactionmanager pełni funkcje zarządcy transakcji, jest kluczowym elementem budowanej architektury. Dostarcza on przede wszystkim interfejsów niezbędnych do tworzenia transakcji, przypisania jej identyfikatora, rozpoczęcia i kontroli protokołów niepodzielnego zatwierdzania. TID begintransaction() metoda pozwalająca na rozpoczęcie transakcji rozproszonej oraz zwrócenie wynikowego identyfikatora transakcji. boolean committransaction(transaction t) metoda wykonująca operację zatwierdzenia transakcji rozproszonej t. W tym celu realizuje niepodzielny protokół zatwierdzania ACP. Zwraca wartość TRUE, gdy transakcja globalna została zatwierdzona, w przeciwnym wypadku zwraca FALSE. void rollbacktransaction(transaction t) metoda wykonująca operacje zaniechania transakcji. void joinresourcemanager(resourcemanager participant) dodanie nowego uczestnika (zarządcy zasobów) transakcji rozproszonej (tzw. pozyskiwanie zasobów). Pozwala na zapamiętanie w spisie uczestników identyfikatora serwera pełniącego rolę zarządcy zasobów, który zarządza zasobami wykorzystywanymi w danej transakcji globalnej t. Komponent dtp.resorcemanager, pełni rolę zarządcy zasobów, który realizuje przydzieloną mu gałąź transakcji rozproszonej, bierze udział w protokole 2PC (3PC) celem niepodzielnego zatwierdzenia wszystkich gałęzi transakcji globalnej. Poniżej przestawione są interfejsy pozwalające na uczestnictwo w protokole 2PC (3PC): Boolean Prepare(TID tid) metoda wywoływana w pierwszej fazie protokołu 2PC (3PC). Wszyscy uczestnicy transakcji globalnej są poproszeni przez koordynatora (poprzez wywołane tej metody) o głosowanie za zatwierdzeniem tej transakcji lub jej zaniechaniem. Metoda zwraca głos (ang. vote) uczestnika, czyli TRUE, jeżeli uczestnik głosował za zatwierdzeniem transakcji, w przeciwnym wypadku zwraca FALSE. void Commit(TID tid) metoda zlecająca poszczególnym uczestnikom transakcji (określonej identyfikatorem tid) zatwierdzenie ich lokalnych części tej transakcji. Jest wywoływana w drugiej fazie protokołu 2PC lub odpowiednio w ostatniej fazie protokołu 3PC, tylko w przypadku, gdy wszyscy uczestnicy transakcji głosowali za zatwierdzeniem transakcji globalnej. void Abort(TID tid) metoda zlecająca poszczególnym uczestnikom transakcji (określonej identyfikatorem tid) zaniechanie ich lokalnych części tej transakcji. 4

5 Wywoływana w drugiej fazie protokołu 2PC (3PC), w momencie, gdy chociaż jeden z uczestników głosował za zaniechaniem transakcji lub faza ta nie powiodła się (ang. failed commit). W przypadku protokołu 3PC dodatkowo jest udostępniony interfejs: boolean PreCommit(TID tid) metoda wywoływana w drugiej fazie protokołu 3PC przez koordynatora po wykonaniu metody Prepare(). Jeżeli wszyscy uczestnicy głosowali YES, wysyła do nich komunikat PRE-COMMIT. Jest on informacją dla każdego z uczestników, że pozostali głosowali YES i tym samym opuszcza on stan niepewności. Metoda zwraca potwierdzenie odebrania komunikatu, czyli TRUE, w przeciwnym wypadku zwraca FALSE. Każdy z omówionych wyżej komponentów zapewnia rejestrację przebiegu transakcji rozproszonej w postaci wpisów w pliku rekonstrukcji znajdującego się w pamięci trwałej, co pozwala na przeprowadzenie procesu rekonstrukcji w przypadku awarii serwera. Komponent tests.generator klasa Java udostępniająca interfejs, który realizuje funkcjonalność programu aplikacyjnego (ang. Application Program AP) w modelu DTP. Definiuje on transakcję, określa jej granice oraz uzyskuje dostęp do zasobów, w celu wykonania na nich operacji. 5 Porównanie protokołów 2PC i 3PC W tej części przedstawione zostanie praktyczne porównanie protokołu 2PC z 3PC. Aby dokonać realnej oceny każdego z nich przeprowadzono odpowiednie testy wydajnościowe. W tym celu wyznaczono ich złożoność pod względem komunikatów oraz czasową. Omówione w poprzednim rozdziale protokoły 2PC i 3PC zostały zaimplementowane w celach przetestowania ich wydajności w rzeczywistym środowisku. Przeprowadzone eksperymenty pozwalają oszacować koszty ponoszone przy wykorzystaniu każdego z protokołów w aplikacjach trójwarstwowych (ang. three-tier applications). Obecnie największa wagę przy budowaniu aplikacji internetowych przykłada się do wydajności, co często jest decydującym czynnikiem wpływającym na utrzymaniu starych i pozyskiwaniu nowych klientów np. w systemach CRM. Dlatego też użyteczność protokołów 2PC oraz 3PC została określona na podstawie tego kryterium. Mechanizm 2PC (3PC) został zaimplementowany w technologi J2EE na serwerze aplikacji Apache Jakarta Tomcat na maszynie z zainstalowaną maszyną wirtualną Java (JVM) w wersji W celu przeprowadzenia testów pominięto maszyny klientów oraz implementację interakcji pomiędzy klientem (np. przeglądarka WWW), a użytkownikiem, ponieważ celem niniejszej pracy jest praktyczne porównanie obydwu protokołów, a nie ich pełna implementacja. Rolę komponentu aplikacyjnego pełni komponent JavaBean, który wykonuje operacje na zdalnych bazach danych poprzez oprogramowanie middleware. Działa on na tej samej maszynie, co serwer aplikacji. Funkcję zdalnych baz danych pełnią maszyny z zainstalowanym serwerem baz danych MySQLServer 5.0 oraz PostgreSQL 8.0. Komunikacja z warstwą danych się z nimi za pomocą sterownika JDBC w wersji 2.0. Wszystkie maszyny są fizycznie rozmieszczone w sieci lokalnej połączone siecią Ethernet. W pierwszym eksperymencie dokonano symulacji wymiany komunikatów pomiędzy poszczególnymi procesami, biorącymi udział w protokole niepodzielnego zatwierdzania, 5

6 w celu porównania złożoności pod względem komunikatów protokołu 2PC z 3PC. Zakładamy, że złożoność pod względem komunikatów jest mierzona na podstawie liczby komunikatów użytych w protokole. W przeprowadzonym eksperymencie nie bierzemy pod uwagę długości tych komunikatów, ponieważ są one na tyle krótkie, że mają wpływu na tą złożoność. Przebieg eksperymentu był następujący: wygenerowano zbiór żądań req do koordynatora o zatwierdzenie transakcji rozproszonej. Niech n oznacza liczbę uczestników transakcji rozproszonej, tak więc łączna liczba procesów (z koordynatorem) wynosi (n + 1). Rozpoczęto symulację z parametrem n = 2. Dla każdego późniejszego pojedynczego wywołania procedury testującej wartość parametru została zwiększana o 1. Podczas trwania eksperymentu komunikacja pomiędzy procesami przebiegała w następujący sposób: klient składa żądanie do serwera aplikacji warstwy pośredniej. Następnie oprogramowanie warstwy pośredniej przetwarza to żądanie poprzez wykonanie transakcji na odpowiednim serwerze bazy danych. Rzeczywista manipulacja na zasobach udostępnionych przez rozproszoną bazę danych jest taka sama w obydwu przypadkach. Przy realizacji protokołu niepodzielnego zatwierdzania przez oprogramowanie warstwy pośredniej w przypadku protokołu 3PC wymagana jest większa liczba komunikatów niezbędnych do zatwierdzenia transakcji rozproszonej. Po tym procesie, middleware zawraca wynik wykonania operacji SQL do klienta. Analizując wyniki powyższego eksperymentu można wywnioskować, że w przypadku pojedynczego wykonania protokołu 2PC, w każdej rundzie jego wykonania, wysłane zostaje n komunikatów. Zatem przy braku awarii, protokół używa łącznie 3n komunikatów. Jest to nieduża liczba w porównaniu z protokołem 3PC, w przypadku którego przeprowadzone badania wykazały, że wymaga on łącznie około 5n komunikatów. Eksperyment wykazał, że koszt liczony w komunikatach jest wprost proporcjonalny do 3n dla protokołu 2PC, natomiast dla protokołu 3PC jest on wprost proporcjonalny do 5n. Dla pojedynczego wywołania jest to niewielka różnica, natomiast w przypadku dużej liczby żądań zatwierdzenia kolejnych transakcji rozproszonych wykonywanych na wielu serwerach, staje się ona istotnym parametrem wpływającym na wydajności każdego z protokołów. Celem zmierzenia złożoności czasowej protokołu 2PC i 3PC wyliczona została liczba obiegów wymiany komunikatów (ang. message exchange round) potrzebnych przez działające serwery do podjęcia decyzji w najgorszym przypadku. Przez pojęcie obiegu rozumiemy maksymalny czas potrzebny komunikatowi na dotarcie do miejsca przeznaczenia [1]. W przeprowadzonych eksperymentach uwzględniono również czas potrzebny na przetworzenie komunikatów oraz czas pochłaniany przez dostęp do pamięci trwałej w celu zapisania, bądź odczytania informacji zapisanych w plikach rekonstrukcji. Maksymalna liczba obiegów komunikatów (w protokole 2PC) potrzebna działającym procesom do podjęcia decyzji wynosi trzy obiegi: (1) koordynator rozgłasza komunikat VOTE-REQs, (2) uczestnicy odpowiadają poprzez głosowanie, (3) koordynator rozgłasza decyzję. Ma to miejsce podczas bezawaryjnego wykonania protokołu 2PC, w sytuacji, gdy transakcja globalna zostaje zatwierdzona. Poszczególne czasy opóźnienia dla protokołu 2PC przedstawiono w tabeli 1, gdzie: t t całkowity czas opóźnienia, na który jest sumą opóźnień spowodowanych przez obiegi, dostępy do pamięci trwałej oraz rozgłaszanie komunikatów: t r oznacza czas rozgłaszania komunikatu VOTE-REQs (1); 6

7 t g oznacza czas potrzebny na głosowanie (2). t d czas potrzebny na rozgłoszenie decyzji (3). Tab. 1: Złożoność czasowa protokołu 2PC. n t r t g t d t t Złożoność czasowa protokołu 3PC w przypadku braku awarii sprowadza się od co najwyżej pięciu rund komunikatów: (1) rozgłoszenie VOTE-REQs, (2) dostarczenie głosów, (3) rozprowadzenie PRE-COMMITS, (4) potwierdzenie PRE-COMMIT, (5) rozprowadzenie COMMIT. Również ma to miejsce przy bezwaryjnym wykonaniu protokołu 3PC przy zatwierdzeniu transakcji globalnej. Poszczególne czasy opóźnienia dla protokołu 3PC przedstawiono w tabeli 2, gdzie: t t całkowity czas opóźnienia. t r oznacza czas rozgłaszania komunikatu VOTE-REQs (1); t g oznacza czas potrzebny na głosowanie (2). t p przeprowadzenie dodatkowej fazy pre-commit (3), (4). t d czas potrzebny na rozgłoszenie decyzji (5). Tab. 2: Złożoność czasowa protokołu 3PC. n t r t g t p t d t t Porównując wyniki eksperymentów z tabeli 1 z tabelą 2 łatwo wywnioskować, że każdy dodatkowy obieg komunikatów opóźnia proces zatwierdzania transakcji rozproszonej. W przypadku protokołu 3PC opóźnienie to jest spowodowane przez dwa dodatkowe obiegi komunikatów (3), (4). Im większa liczba wezłów biorących udział w transakcji, tym większy jest koszt wykonania dodatkowych obiegów komunikatów oraz dostępów do pamięci trwałej, co skutkuje znacznym opóźnieniem procesu przetwarzania transakcji. Dodatkowy czas musi zostać poświęcony na zapewnienie niepodzielności zatwierdzania transakcji rozproszonej. W przypadku protkołu 2PC czas ten waha się od 38ms dla n = 1 do 198ms dla n = 5. Dla protokołu 3PC są to 54ms dla n = 1 do 273ms dla n = 5. Jak widać różnica w czasie opóźnienia spowodawanym przez protokół 3PC, w prównaniu z protokołem 2PC, zwiększa się wraz z liczbą uczestników. 7

8 6 Podsumowanie W pracy przedstawione wstępne wyniki porównania protokołu 2PC z 3PC. Przeprowadzone eksperymenty wykazały, że protokół 3PC powoduje większe narzuty na wydajność przetwarzania transakcji rozproszonej niż protokół 2PC. W porównaniu z protokołem 2PC wymaga on większej liczby komunikatów do przeprowadzenia procesu zatwierdzania roszproszonego, która rośnie wraz z liczbą uczestników transakcji. Wraz ze wzrostem liczby komunikatów rośnie również czas potrzebny na ich rozsyłanie i przetworzenie. Nie należy również zapominać o czasie pochłanianym przez dostęp do informacji zapisanych w dziennikach transakcji w pamięci trwałej. Takie przymusowe dostępy w pamięci trwałej są dosyć czasochłonne. Koszty te mogą spowodować, że przetwarzanie zatwierdzania transakcji rozproszonej może przyczynić się do wzrostu czasu przetwarzania całej transakcji. Ponieważ w protokołe 2PC liczba i złożoność komunikatów jest o mniejsza, jego wydajność jest większa. Literatura [1] P.A. Bernstein, V. Hadzilacos, N. Goodman, Concurrency control and recovery in database systems, ADDISON-WESLEY PUBLISHING COMPANY, [2] L. Banachowski, K. Stencel, Bazy danych. Projektowanie aplikacji na serwerze, Wydawnictwo Exit, [3] G.Coulouris, J. Dollimore, T. Kindberg, Systemy rozproszone podstawy i projektowanie, Wydawnictwo Naukowo Techniczne, [4] H. Garcia-Molina, J.D. Ullman, J. Widom, Implementacja systemów baz danych, Wydawnictwo Naukowo Techniczne, [5] R. Elmasri S.B. Navath, Wprowadzenie do systemów baz danych, Helion, [6] S. Allamaraju, Nuts and Bolts of Transaction Processing, [7] M. Stróżańki, Systemy rozproszone Konsekwencje wyboru architektury systemu, [8] M. Wojciechowski, M. Zakrzewicz, Obsługa transakcji rozproszonych w języku Java, [9] S. Frolund, S. R. Guerraoui, Exactly-Once Transactions, HP Software Technology Laboratory,1999. [10] R. Gupta, J. Harista, K. Ramamritham, Revisiting Commit Processing In Distributed Database Systems, University of Utah Mathematics Department Software, [11] Distributed Transaction Processing: The XA Specification, [12] JDBC Technology, 8

Obsługa transakcji rozproszonych Java. Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska

Obsługa transakcji rozproszonych Java. Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska Obsługa transakcji rozproszonych w języku j Java Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska Plan prezentacji Transakcje i ich własności Proste transakcje w JDBC

Bardziej szczegółowo

PRZEGLĄD DOSTĘPNYCH IMPLEMENTACJI STANDARDÓW PRZETWARZANIA TRANS- AKCJI ROZPROSZONYCH (DTP) XA ORAZ TX

PRZEGLĄD DOSTĘPNYCH IMPLEMENTACJI STANDARDÓW PRZETWARZANIA TRANS- AKCJI ROZPROSZONYCH (DTP) XA ORAZ TX MAREK IWANIAK WŁODZIMIERZ KHADZHYNOV E-mail: marek.iwaniak@tu.koszalin.pl, hadginov@ie.tu.koszalin.pl Wydział Elektroniki i Informatyki, Politechnika Koszalińska Śniadeckich 2, 75-453 Koszalin PRZEGLĄD

Bardziej szczegółowo

Plan wykładu. Przykład. Wprowadzenie BAZY DANYCH. Transakcje Hurtownie danych

Plan wykładu. Przykład. Wprowadzenie BAZY DANYCH. Transakcje Hurtownie danych Plan wykładu 2 BAZY DANYCH Wykład 5: Transakcje. Hurtownie danych. Transakcje Hurtownie danych Małgorzata Krętowska Wydział Informatyki Politechnika Białostocka Wprowadzenie Przykład Zmiany zachodzące

Bardziej szczegółowo

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Jerzy Brzeziński, Anna Kobusińska, Dariusz Wawrzyniak Instytut Informatyki Politechnika Poznańska Plan prezentacji 1 Architektura

Bardziej szczegółowo

Bazy danych. Dr Henryk Telega. BD 10/11 Wykład 1 1

Bazy danych. Dr Henryk Telega. BD 10/11 Wykład 1 1 Bazy danych Dr Henryk Telega BD 10/11 Wykład 1 1 R. Elmasri, S.B. Navathe Wprowadzenie do systemów baz danych, wydanie 1, Helion 2005, seria Kanon Informatyki tłumaczenie wydania 4: R. Elmasri, S.B. Navathe

Bardziej szczegółowo

I. Techniki wielowersyjne sterowania współbieżnością

I. Techniki wielowersyjne sterowania współbieżnością I. Techniki wielowersyjne sterowania współbieżnością Techniki wielowersyjne multiversion concurrency control. Technika wielowersyjna oparta na znacznikach czasu Dla każdej wersji X i elementu X przechowywane

Bardziej szczegółowo

Pojęcie systemu baz danych

Pojęcie systemu baz danych Pojęcie systemu baz danych System baz danych- skomputeryzowany system przechowywania danych/informacji zorganizowanych w pliki. Składa się z zasadniczych elementów: 1) Danych 2) Sprzętu 3) Programów 4)

Bardziej szczegółowo

Bazy danych. Andrzej Łachwa, UJ, /15

Bazy danych. Andrzej Łachwa, UJ, /15 Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 12/15 WSPÓŁBIEŻNOŚĆ Serwer bazodanowy nie może obsługiwać klientów sekwencyjnie: wszyscy musieli by czekać

Bardziej szczegółowo

Zarządzanie transakcjami

Zarządzanie transakcjami Zarządzanie transakcjami Właściwości ACID Przyjmuje się, że transakcje i protokoły zarządzania transakcjami powinny posiadać właściwości ACID: Atomowość (atomicity) każda transakcja stanowi pojedynczą

Bardziej szczegółowo

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Akademia Techniczno-Humanistyczna w Bielsku-Białej Akademia Techniczno-Humanistyczna w Bielsku-Białej Wydział Budowy Maszyn i Informatyki Laboratorium z sieci komputerowych Ćwiczenie numer: 9 Temat ćwiczenia: Aplikacje klient-serwer. 1. Wstęp teoretyczny.

Bardziej szczegółowo

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

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu. Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową..

Bardziej szczegółowo

Wprowadzenie. Dariusz Wawrzyniak 1

Wprowadzenie. Dariusz Wawrzyniak 1 Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 2 (CW, pok. 5) 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl Dariusz.Wawrzyniak@put.edu.pl www.cs.put.poznan.pl/dwawrzyniak

Bardziej szczegółowo

IO - Plan testów. M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak. 5 czerwca 2006

IO - Plan testów. M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak. 5 czerwca 2006 IO - Plan testów M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak 5 czerwca 2006 1 SPIS TREŚCI 2 Spis treści 1 Historia zmian 3 2 Zakres testów 3 2.1 Integration testing - Testy spójnosci.............. 3 2.2

Bardziej szczegółowo

Bazy danych 2. Wykład 1

Bazy danych 2. Wykład 1 Bazy danych 2 Wykład 1 Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi E-mail: standardowy ajasi@math.uni.opole.pl Sprawy organizacyjne Program wykładu

Bardziej szczegółowo

Transakcje. (c) Instytut Informatyki Politechniki Poznańskiej

Transakcje. (c) Instytut Informatyki Politechniki Poznańskiej ransakcje Definicja i własności transakcji, zatwierdzanie i wycofywanie, punkty bezpieczeństwa, spójność, anomalie współbieżnego dostępu do danych, poziomy izolacji transakcji, blokady, zakleszczenie Definicja

Bardziej szczegółowo

Obs³uga transakcji rozproszonych w jêzyku Java

Obs³uga transakcji rozproszonych w jêzyku Java VII Seminarium PLOUG Warszawa Marzec 2003 Obs³uga transakcji rozproszonych w jêzyku Java Marek Wojciechowski, Maciej Zakrzewicz marek, mzakrz}@cs.put.poznan.pl Politechnika Poznañska, Instytut Informatyki

Bardziej szczegółowo

Bazy danych w sterowaniu

Bazy danych w sterowaniu Bazy danych w sterowaniu systemy transakcyjne sterowanie dostępem współbieżnym Stan spójny bazy danych zgodność z możliwym stanem reprezentowanego fragmentu świata rzeczywistego; spełnione są wszystkie

Bardziej szczegółowo

Virtual Grid Resource Management System with Virtualization Technology

Virtual Grid Resource Management System with Virtualization Technology Virtual Grid Resource Management System with Virtualization Technology System zarządzania zasobami wirtualnego Gridu z wykorzystaniem technik wirtualizacji Joanna Kosińska Jacek Kosiński Krzysztof Zieliński

Bardziej szczegółowo

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej Wybrane działy Informatyki Stosowanej Java Enterprise Edition WebServices Serwer aplikacji GlassFish Dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki Aplikacje

Bardziej szczegółowo

Hbase, Hive i BigSQL

Hbase, Hive i BigSQL Hbase, Hive i BigSQL str. 1 Agenda 1. NOSQL a HBase 2. Architektura HBase 3. Demo HBase 4. Po co Hive? 5. Apache Hive 6. Demo hive 7. BigSQL 1 HBase Jest to rozproszona trwała posortowana wielowymiarowa

Bardziej szczegółowo

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

Rozdział 1 Wprowadzenie do baz danych. (c) Instytut Informatyki Politechniki Poznańskiej 1 Rozdział 1 Wprowadzenie do baz danych 1 Model danych 2 Funkcje systemu zarządzania bazą danych Wymagania spójność bazy danych po awarii trwałość danych wielodostęp poufność danych wydajność rozproszenie

Bardziej szczegółowo

Kopie bezpieczeństwa NAPRAWA BAZ DANYCH

Kopie bezpieczeństwa NAPRAWA BAZ DANYCH Kopie bezpieczeństwa NAPRAWA BAZ DANYCH Sprawdzanie spójności bazy danych Jednym z podstawowych działań administratora jest zapewnienie bezpieczeństwa danych przez tworzenie ich kopii. Przed wykonaniem

Bardziej szczegółowo

BAZY DANYCH. Transakcje. opracowanie: Michał Lech

BAZY DANYCH. Transakcje. opracowanie: Michał Lech BAZY DANYCH Transakcje opracowanie: Michał Lech Plan wykładu 1. Transakcje - co to jest? 2. Mechanizmy transakcji 3. Reguły ACID 4. Niekorzystne zjawiska 5. Poziomy izolacji 6. Polecenia PostgreSQL transakcji

Bardziej szczegółowo

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

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki ) LITERATURA C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki ) H. Garcia Molina, Jeffrey D. Ullman, Jennifer Widom; Systemy baz danych. Kompletny podręcznik

Bardziej szczegółowo

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy Dokumentacja techniczna Młodzieżowe Pośrednictwo Pracy Spis Treści 1. Widok ogólny architektury MPP... 3 2. Warstwy systemu... 5 3. Struktura systemu/komponentów... 7 3.1 Aplikacje... 7 3.2 Biblioteki...

Bardziej szczegółowo

Systemy rozproszone System rozproszony

Systemy rozproszone System rozproszony Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową.

Bardziej szczegółowo

współbieżność - zdolność do przetwarzania wielu zadań jednocześnie

współbieżność - zdolność do przetwarzania wielu zadań jednocześnie Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową.

Bardziej szczegółowo

1 Przetwarzanie transakcyjne Cechy transakcji Rozpoczęcie i zakończenie Punkty bezpieczeństwa... 3

1 Przetwarzanie transakcyjne Cechy transakcji Rozpoczęcie i zakończenie Punkty bezpieczeństwa... 3 Plan wykładu Spis treści 1 Przetwarzanie transakcyjne 1 1.1 Cechy transakcji................................. 2 1.2 Rozpoczęcie i zakończenie........................... 3 1.3 Punkty bezpieczeństwa.............................

Bardziej szczegółowo

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

Pojęcie bazy danych. Funkcje i możliwości. Pojęcie bazy danych. Funkcje i możliwości. Pojęcie bazy danych Baza danych to: zbiór informacji zapisanych według ściśle określonych reguł, w strukturach odpowiadających założonemu modelowi danych, zbiór

Bardziej szczegółowo

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium

Bardziej szczegółowo

Referat pracy dyplomowej

Referat pracy dyplomowej Referat pracy dyplomowej Temat pracy: Wdrożenie intranetowej platformy zapewniającej organizację danych w dużej firmie na bazie oprogramowania Microsoft SharePoint Autor: Bartosz Lipiec Promotor: dr inż.

Bardziej szczegółowo

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

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000 Bazy Danych LITERATURA C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000 J. D. Ullman, Systemy baz danych, WNT - W-wa, 1998 J. D. Ullman, J. Widom, Podstawowy

Bardziej szczegółowo

Plan Testów Systemu SOS

Plan Testów Systemu SOS Plan Testów Systemu SOS Marcin Suszczewicz Michał Woźniak Krzysztof Kostałkowicz Piotr Kuśka 5 czerwca 2006 1 Spis treści 1 Wprowadzenie 4 1.1 Cel tego dokumentu................................. 4 1.2

Bardziej szczegółowo

Middleware wprowadzenie października 2010

Middleware wprowadzenie października 2010 Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 2 (CW, pok. 5) 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl Dariusz.Wawrzyniak@put.edu.pl www.cs.put.poznan.pl/dwawrzyniak/middleware

Bardziej szczegółowo

Spis treści. 1 Wprowadzenie. 1.1 Podstawowe pojęcia. 1 Wprowadzenie Podstawowe pojęcia Sieci komunikacyjne... 3

Spis treści. 1 Wprowadzenie. 1.1 Podstawowe pojęcia. 1 Wprowadzenie Podstawowe pojęcia Sieci komunikacyjne... 3 Spis treści 1 Wprowadzenie 1 1.1 Podstawowe pojęcia............................................ 1 1.2 Sieci komunikacyjne........................................... 3 2 Problemy systemów rozproszonych

Bardziej szczegółowo

Automatyzacja procesów biznesowych Andrzej Sobecki. ESB Enterprise service bus

Automatyzacja procesów biznesowych Andrzej Sobecki. ESB Enterprise service bus Automatyzacja procesów biznesowych Andrzej Sobecki ESB Enterprise service bus Plan prezentacji Zdefiniowanie problemu Możliwe rozwiązania Cechy ESB JBI Normalizacja wiadomości w JBI Agile ESB Apache ServiceMix

Bardziej szczegółowo

Middleware wprowadzenie października Dariusz Wawrzyniak (IIPP) 1

Middleware wprowadzenie października Dariusz Wawrzyniak (IIPP) 1 Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 2 (CW, pok. 5) 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl poznan pl Dariusz.Wawrzyniak@put.edu.pl www.cs.put.poznan.pl/dwawrzyniak/middleware

Bardziej szczegółowo

Zdalne wywołanie procedur. Krzysztof Banaś Systemy rozproszone 1

Zdalne wywołanie procedur. Krzysztof Banaś Systemy rozproszone 1 Zdalne wywołanie procedur Krzysztof Banaś Systemy rozproszone 1 RPC Komunikacja za pomocą gniazd jest wydajna, gdyż korzystamy z funkcji systemowych niewygodna, gdyż musimy wyrażać ją za pomocą jawnego

Bardziej szczegółowo

Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego. Przetwarzanie współbieżne, równoległe i rozproszone

Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego. Przetwarzanie współbieżne, równoległe i rozproszone Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego 1 Historia i pojęcia wstępne Przetwarzanie współbieżne realizacja wielu programów (procesów) w taki sposób, że ich

Bardziej szczegółowo

Bazy danych 6a. Transakcje. P. F. Góra

Bazy danych 6a. Transakcje. P. F. Góra Bazy danych 6a. Transakcje P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2018 Transakcje Pojedynczy użytkownik ochrona szczególnie wrażliwych fragmentów. Transakcja wykonuje się albo w całości, albo

Bardziej szczegółowo

Zaawansowane narzędzia programowania rozproszonego

Zaawansowane narzędzia programowania rozproszonego Zaawansowane narzędzia programowania rozproszonego Karol Gołąb karol.golab@tls-technologies.com 28 listopada 2001 1 Streszczenie Omówienie i porównanie popularnych standardów mechanizmów komunikacyjnych:

Bardziej szczegółowo

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

JDBC w LoXiMie. Interfejs Java Database Connectivity dla systemu LoXiM. Adam Michalik 2008 JDBC w LoXiMie Interfejs Java Database Connectivity dla systemu LoXiM Adam Michalik 2008 Sterownik JDBC co to jest? Sterownik JDBC to zbiór klas implementujących interfejsy opisane w specyfikacji JDBC

Bardziej szczegółowo

Wykład I. Wprowadzenie do baz danych

Wykład I. Wprowadzenie do baz danych Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles

Bardziej szczegółowo

Wrocławska Wyższa Szkoła Informatyki Stosowanej. Bazy danych. Dr hab. inż. Krzysztof Pieczarka. Email: krzysztof.pieczarka@gmail.

Wrocławska Wyższa Szkoła Informatyki Stosowanej. Bazy danych. Dr hab. inż. Krzysztof Pieczarka. Email: krzysztof.pieczarka@gmail. Wrocławska Wyższa Szkoła Informatyki Stosowanej Bazy danych Dr hab. inż. Krzysztof Pieczarka Email: krzysztof.pieczarka@gmail.com Literatura: Connoly T., Begg C., Systemy baz danych Praktyczne metody projektowania,

Bardziej szczegółowo

Overlord - specyfikacja uzupełniająca. Jakub Gołębiowski Adam Kawa Piotr Krewski Tomasz Weksej

Overlord - specyfikacja uzupełniająca. Jakub Gołębiowski Adam Kawa Piotr Krewski Tomasz Weksej Overlord - specyfikacja uzupełniająca Jakub Gołębiowski Adam Kawa Piotr Krewski Tomasz Weksej 25 kwietnia 2006 Spis treści 1 Historia zmian 3 2 Wprowadzenie 3 3 Funkcjonalność 3 3.1 Log.........................................

Bardziej szczegółowo

Bazy danych. Dr inż. Paweł Kasprowski

Bazy danych. Dr inż. Paweł Kasprowski Plan wykładu Bazy danych Architektura systemów zarządzania bazami danych Realizacja zapytań algebra relacji Wielodostęp do danych - transakcje Dr inż. Paweł Kasprowski pawel@kasprowski.pl Aplkacja przechowująca

Bardziej szczegółowo

5. Model komunikujących się procesów, komunikaty

5. Model komunikujących się procesów, komunikaty Jędrzej Ułasiewicz str. 1 5. Model komunikujących się procesów, komunikaty Obecnie stosuje się następujące modele przetwarzania: Model procesów i komunikatów Model procesów komunikujących się poprzez pamięć

Bardziej szczegółowo

Deduplikacja danych. Zarządzanie jakością danych podstawowych

Deduplikacja danych. Zarządzanie jakością danych podstawowych Deduplikacja danych Zarządzanie jakością danych podstawowych normalizacja i standaryzacja adresów standaryzacja i walidacja identyfikatorów podstawowa standaryzacja nazw firm deduplikacja danych Deduplication

Bardziej szczegółowo

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

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL Podstawy baz danych: Rysunek 1. Tradycyjne systemy danych 1- Obsługa wejścia 2- Przechowywanie danych 3- Funkcje użytkowe 4- Obsługa wyjścia Ewolucja baz danych: Fragment świata rzeczywistego System przetwarzania

Bardziej szczegółowo

Systemy GIS Systemy baz danych

Systemy GIS Systemy baz danych Systemy GIS Systemy baz danych Wykład nr 5 System baz danych Skomputeryzowany system przechowywania danych/informacji zorganizowanych w pliki Użytkownik ma do dyspozycji narzędzia do wykonywania różnych

Bardziej szczegółowo

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34 Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34 Projektowanie oprogramowania cd. 2/34 Modelowanie CRC Modelowanie CRC (class-responsibility-collaborator) Metoda identyfikowania poszczególnych

Bardziej szczegółowo

Szczegółowy harmonogram rzeczowy realizacji prac systemu B2B

Szczegółowy harmonogram rzeczowy realizacji prac systemu B2B Szczegółowy harmonogram rzeczowy realizacji prac systemu B2B NAZWA ZADANIA ZADANIE CZĄSTKOWE TECHNOLOGIA ILOŚĆ OSÓB ILOŚĆ GODZIN TERMIN REALIZACJI 1 2 4 5 6 7 Zadanie 1 - wersji alfa 1 systemu B2B 3 723

Bardziej szczegółowo

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych Plan wykładu Bazy danych Cechy rozproszonej bazy danych Implementacja rozproszonej bazy Wykład 15: Rozproszone bazy danych Małgorzata Krętowska, Agnieszka Oniśko Wydział Informatyki PB Bazy danych (studia

Bardziej szczegółowo

Systemy Rozproszone. Zagadnienia do egzaminu.

Systemy Rozproszone. Zagadnienia do egzaminu. Systemy Rozproszone. Zagadnienia do egzaminu. 1. Definicje systemu rozproszonego i podstawowe pojęcia związane z takim systemem: węzeł, klient, serwer, peer, zasób, usługa. 2. Główne wyzwania związane

Bardziej szczegółowo

Szczegółowy opis przedmiotu umowy. 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów:

Szczegółowy opis przedmiotu umowy. 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów: Rozdział I Szczegółowy opis przedmiotu umowy Załącznik nr 1 do Umowy Architektura środowisk SharePoint UMWD 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów: a) Środowisko

Bardziej szczegółowo

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

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 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 Wydział Matematyki i Informatyki Instytut Informatyki i

Bardziej szczegółowo

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Instalacja SQL Server Express. Logowanie na stronie Microsoftu Instalacja SQL Server Express Logowanie na stronie Microsoftu Wybór wersji do pobrania Pobieranie startuje, przechodzimy do strony z poradami. Wypakowujemy pobrany plik. Otwiera się okno instalacji. Wybieramy

Bardziej szczegółowo

Rozproszone i obiektowe systemy baz danych

Rozproszone i obiektowe systemy baz danych Rozproszone i obiektowe systemy baz danych Dr inż. Robert Wójcik Wykład 7. Transakcje i zapytania rozproszone 7.1. Transakcje rozproszone 7.2. Zapytania rozproszone 7.1. Transakcje rozproszone W systemach

Bardziej szczegółowo

Maciej Oleksy Zenon Matuszyk

Maciej Oleksy Zenon Matuszyk Maciej Oleksy Zenon Matuszyk Jest to proces związany z wytwarzaniem oprogramowania. Jest on jednym z procesów kontroli jakości oprogramowania. Weryfikacja oprogramowania - testowanie zgodności systemu

Bardziej szczegółowo

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej Wybrane działy Informatyki Stosowanej Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki 2017 APLIKACJE SIECIOWE Definicja Architektura aplikacji sieciowych Programowanie

Bardziej szczegółowo

Wykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe

Wykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe N, Wykład 4: Protokoły TCP/UDP i usługi sieciowe 1 Adres aplikacji: numer portu Protokoły w. łącza danych (np. Ethernet) oraz w. sieciowej (IP) pozwalają tylko na zaadresowanie komputera (interfejsu sieciowego),

Bardziej szczegółowo

Bazy danych - ciągłość działania, spójność danych i disaster recovery. Daniel Polek-Pawlak Jarosław Zdebik

Bazy danych - ciągłość działania, spójność danych i disaster recovery. Daniel Polek-Pawlak Jarosław Zdebik Bazy danych - ciągłość działania, spójność danych i disaster recovery Daniel Polek-Pawlak Jarosław Zdebik Plan Prezentacji Wprowadzenie - podstawy. Co oznacza utrata danych dla niedużego sklepu. Czy dostępność

Bardziej szczegółowo

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

K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU (pieczęć wydziału) KARTA PRZEDMIOTU 1. Nazwa przedmiotu: BAZY DANYCH 2. Kod przedmiotu: 3. Karta przedmiotu ważna od roku akademickiego: 2014/2015 4. Forma kształcenia: studia pierwszego stopnia 5. Forma

Bardziej szczegółowo

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski Technologie dla aplikacji klasy enterprise Wprowadzenie Marek Wojciechowski Co oznacza enterprise-ready? Bezpieczeństwo Skalowalność Stabilność Kompatybilność wstecz Wsparcie Dokumentacja Łatwość integracji

Bardziej szczegółowo

Komunikacja i wymiana danych

Komunikacja i wymiana danych Budowa i oprogramowanie komputerowych systemów sterowania Wykład 10 Komunikacja i wymiana danych Metody wymiany danych Lokalne Pliki txt, csv, xls, xml Biblioteki LIB / DLL DDE, FastDDE OLE, COM, ActiveX

Bardziej szczegółowo

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010 System kontroli wersji - wprowadzenie Rzeszów,2 XII 2010 System kontroli wersji System kontroli wersji (ang. version/revision control system) służy do śledzenia zmian głównie w kodzie źródłowym oraz pomocy

Bardziej szczegółowo

Galileo - encyklopedia internetowa Plan testów

Galileo - encyklopedia internetowa Plan testów Galileo - encyklopedia internetowa Plan testów Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Matek Sobierajski 5 czerwca 2006 1 Spis treści 1 Wprowadzenie 3 1.1 Cel..........................................

Bardziej szczegółowo

Wypożyczalnia VIDEO. Technologie obiektowe

Wypożyczalnia VIDEO. Technologie obiektowe Wypożyczalnia VIDEO Jest to program do obsługi wypożyczalni i wypożyczeń klientów. Głównym zadaniem programu jest zarządzanie wypożyczeniami i drukowanie potwierdzenia wypożyczenia oraz naliczenie punktów

Bardziej szczegółowo

070 TRANSAKCJE. Prof. dr hab. Marek Wisła

070 TRANSAKCJE. Prof. dr hab. Marek Wisła 070 TRANSAKCJE Prof. dr hab. Marek Wisła Transakcja - definicja Transakcja jest sekwencją logicznie powiązanych operacji na bazie danych, przeprowadzających bazę danych z jednego stanu spójnego w inny

Bardziej szczegółowo

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

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ (INT) Inżynieria internetowa 1. Tryby komunikacji między procesami w standardzie Message Passing Interface 2. HTML DOM i XHTML cel i charakterystyka 3. Asynchroniczna komunikacja serwerem HTTP w technologii

Bardziej szczegółowo

INFORMATYKA Pytania ogólne na egzamin dyplomowy

INFORMATYKA Pytania ogólne na egzamin dyplomowy INFORMATYKA Pytania ogólne na egzamin dyplomowy 1. Wyjaśnić pojęcia problem, algorytm. 2. Podać definicję złożoności czasowej. 3. Podać definicję złożoności pamięciowej. 4. Typy danych w języku C. 5. Instrukcja

Bardziej szczegółowo

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7 AUREA BPM Oracle TECNA Sp. z o.o. Strona 1 z 7 ORACLE DATABASE System zarządzania bazą danych firmy Oracle jest jednym z najlepszych i najpopularniejszych rozwiązań tego typu na rynku. Oracle Database

Bardziej szczegółowo

Sposoby klastrowania aplikacji webowych w oparciu o rozwiązania OpenSource. Piotr Klimek. piko@piko.homelinux.net

Sposoby klastrowania aplikacji webowych w oparciu o rozwiązania OpenSource. Piotr Klimek. piko@piko.homelinux.net Sposoby klastrowania aplikacji webowych w oparciu o rozwiązania OpenSource Piotr Klimek piko@piko.homelinux.net Agenda Wstęp Po co to wszystko? Warstwa WWW Warstwa SQL Warstwa zasobów dyskowych Podsumowanie

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma

Bardziej szczegółowo

Serwery Statefull i Stateless

Serwery Statefull i Stateless Serwery Statefull i Stateless Wszystkie serwery aplikacji są określone jako stateless podczas projektowania. Te aplikacje nie przetrzymują stałego połączenia z klientem. Wysyłają one pakiety danych na

Bardziej szczegółowo

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone Typy przetwarzania Przetwarzanie zcentralizowane Systemy typu mainfame Przetwarzanie rozproszone Architektura klient serwer Architektura jednowarstwowa Architektura dwuwarstwowa Architektura trójwarstwowa

Bardziej szczegółowo

Przypadki testowe. Spis treści. Plan testów. From Sęp. Wstęp. 2 Plan testów

Przypadki testowe. Spis treści. Plan testów. From Sęp. Wstęp. 2 Plan testów Przypadki testowe From Sęp Spis treści 1 Wstęp 2 Plan testów 3 Testy bazy danych 4 Testy serwera 5 Testy aplikacji klienckiej 6 Testy interfejsu webowego 7 Testy integracyjne 8 Testy wydajności 8.1 Baza

Bardziej szczegółowo

DLA SEKTORA INFORMATYCZNEGO W POLSCE

DLA SEKTORA INFORMATYCZNEGO W POLSCE DLA SEKTORA INFORMATYCZNEGO W POLSCE SRK IT obejmuje kompetencje najważniejsze i specyficzne dla samego IT są: programowanie i zarządzanie systemami informatycznymi. Z rozwiązań IT korzysta się w każdej

Bardziej szczegółowo

Rozproszone bazy danych 2

Rozproszone bazy danych 2 Rozproszone bazy danych 2 Zarządzanie transakcjami rozproszonymi Laboratorium przygotował: Robert Wrembel ZSBD laboratorium 2 (1) 1 Plan laboratorium Transakcja rozproszona - podstawowe cechy Uczestnicy

Bardziej szczegółowo

Wykłady z przedmiotu Podstawy baz danych Transakcje dr hab. prof. nadzw. Tadeusz Antczak. Transakcje

Wykłady z przedmiotu Podstawy baz danych Transakcje dr hab. prof. nadzw. Tadeusz Antczak. Transakcje Transakcje Pojęcie transakcji Pojęcie transakcji stało się centralnym elementem w wielu współczesnych zastosowaniach baz danych. Jest kluczowym pojęciem pozwalającym zrozumieć zarówno kontrolę wielodostępu,

Bardziej szczegółowo

Czym jest jpalio? jpalio jpalio jpalio jpalio jpalio jpalio jpalio jpalio

Czym jest jpalio? jpalio jpalio jpalio jpalio jpalio jpalio jpalio jpalio Czym jest jpalio? jpalio to unikalna platforma technologiczna pozwalająca na stworzenie szeregu produktów dostosowanych do indywidualnych preferencji klienta. W naszej ofercie znajduje się m.in. system

Bardziej szczegółowo

Praca dyplomowa. Program do monitorowania i diagnostyki działania sieci CAN. Temat pracy: Temat Gdańsk Autor: Łukasz Olejarz

Praca dyplomowa. Program do monitorowania i diagnostyki działania sieci CAN. Temat pracy: Temat Gdańsk Autor: Łukasz Olejarz Temat Gdańsk 30.06.2006 1 Praca dyplomowa Temat pracy: Program do monitorowania i diagnostyki działania sieci CAN. Autor: Łukasz Olejarz Opiekun: dr inż. M. Porzeziński Recenzent: dr inż. J. Zawalich Gdańsk

Bardziej szczegółowo

Dokument Detaliczny Projektu

Dokument Detaliczny Projektu Dokument Detaliczny Projektu Dla Biblioteki miejskiej Wersja 1.0 Streszczenie Niniejszy dokument detaliczny projektu(ddp) przedstawia szczegóły pracy zespołu projektowego, nad stworzeniem aplikacji bazodanowej

Bardziej szczegółowo

Program wykładu. zastosowanie w aplikacjach i PL/SQL;

Program wykładu. zastosowanie w aplikacjach i PL/SQL; Program wykładu 1 Model relacyjny (10 godz.): podstawowe pojęcia, języki zapytań (algebra relacji, relacyjny rachunek krotek, relacyjny rachunek dziedzin), zależności funkcyjne i postaci normalne (BCNF,

Bardziej szczegółowo

Referat pracy dyplomowej

Referat pracy dyplomowej Referat pracy dyplomowej Temat pracy: Projekt i implementacja oprogramowania dla salonu kosmetycznego. Autor: Wojciech Rubiniec Promotor: dr inż. Roman Simiński Kategorie: Oprogramowanie użytkowe Słowa

Bardziej szczegółowo

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej Wybrane działy Informatyki Stosowanej Java Enterprise Edition. WebServices. Język XML. Serwer aplikacji GlassFish. Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki

Bardziej szczegółowo

przykłady problemów; realizacja dostaw części od producenta do klienta:

przykłady problemów; realizacja dostaw części od producenta do klienta: Przetwarzanie transakcyjne Transakcja zestaw operacji pod szczególną kontrolą transakcja to sekwencja operacji, która musi zakończyć się sukcesem w całości - w przeciwnym wypadku musi powrócić stan początkowy

Bardziej szczegółowo

Zapewnienie wysokiej dostępności baz danych. Marcin Szeliga MVP SQL Server MCT

Zapewnienie wysokiej dostępności baz danych. Marcin Szeliga MVP SQL Server MCT Zapewnienie wysokiej dostępności baz Marcin Szeliga MVP SQL Server MCT Agenda Techniki zapewniania wysokiej dostępności baz Zasada działania mirroringu baz Wdrożenie mirroringu Planowanie Konfiguracja

Bardziej szczegółowo

W grze bierze udział dwóch graczy. Każdy uczestnik rozpoczyna rozgrywkę z sumą

W grze bierze udział dwóch graczy. Każdy uczestnik rozpoczyna rozgrywkę z sumą 2.4 QuestionGame QuestionGame jest grą z celem zaprojektowaną do gromadzenia pytań zadawanych przez ludzi podczas prób rozpoznawania ras psów. Program ma charakter aplikacji internetowej. W rozgrywcę mogą

Bardziej szczegółowo

2010-10-06 ORGANIZACJA ZAJĘĆ BAZY DANYCH PLAN WYKŁADU SCHEMAT SYSTEMU INFORMATYCZNEGO

2010-10-06 ORGANIZACJA ZAJĘĆ BAZY DANYCH PLAN WYKŁADU SCHEMAT SYSTEMU INFORMATYCZNEGO ORGANIZACJA ZAJĘĆ Wykładowca dr inż. Agnieszka Bołtuć, pokój 304, e-mail: aboltuc@ii.uwb.edu.pl Liczba godzin i forma zajęć: 30 godzin wykładu oraz 30 godzin laboratorium Konsultacje: czwartek 10:15-12:00

Bardziej szczegółowo

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych Projektowanie architektury systemu rozproszonego Jarosław Kuchta Zagadnienia Typy architektury systemu Rozproszone przetwarzanie obiektowe Problemy globalizacji Problemy ochrony Projektowanie architektury

Bardziej szczegółowo

Opis Architektury Systemu Galileo

Opis Architektury Systemu Galileo Opis Architektury Systemu Galileo Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Marek Sobierajski 5 czerwca 2006 1 Spis treści 1 Wprowadzenie 5 1.1 Cel.......................................... 5 1.2 Zakres........................................

Bardziej szczegółowo

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja ZPKSoft WDoradca 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja 1. Wstęp ZPKSoft WDoradca jest technologią dostępu przeglądarkowego do zasobów systemu ZPKSoft Doradca.

Bardziej szczegółowo

Zespół: Agata Chrobak Kornel Jakubczyk Tomek Klukowski Przemek Kosiak. Projekt SZOP Plan testów

Zespół: Agata Chrobak Kornel Jakubczyk Tomek Klukowski Przemek Kosiak. Projekt SZOP Plan testów Zespół: Agata Chrobak Kornel Jakubczyk Tomek Klukowski Przemek Kosiak Projekt SZOP Plan testów Spis treści 1 Wprowadzenie 3 1.1 Cel.......................................... 3 1.2 Zakres........................................

Bardziej szczegółowo

ZAPYTANIE OFERTOWE. Zamawiający. Przedmiot zapytania ofertowego. Wrocław, dnia 23.03.2015 r.

ZAPYTANIE OFERTOWE. Zamawiający. Przedmiot zapytania ofertowego. Wrocław, dnia 23.03.2015 r. ZAPYTANIE OFERTOWE Wrocław, dnia 23.03.2015 r. W związku z realizacją przez Nova Telecom spółka z ograniczoną odpowiedzialnością, projektu pn.: Wdrożenie zintegrowanego systemu klasy B2B, umożliwiającego

Bardziej szczegółowo

Bazy danych 9. SQL Klucze obce Transakcje

Bazy danych 9. SQL Klucze obce Transakcje Bazy danych 9. SQL Klucze obce Transakcje P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Klucze obce Klucze obce powiazanie indeksowanej kolumny jakiejś tabeli z indeksowana kolumna

Bardziej szczegółowo

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Infomatyki Stosowanej Piotr Benetkiewicz Nr albumu: 168455 Praca magisterska na kierunku Informatyka

Bardziej szczegółowo

Rozwiązanie Compuware Data Center - Real User Monitoring

Rozwiązanie Compuware Data Center - Real User Monitoring Rozwiązanie Compuware Data Center - Real User Monitoring COMPUWARE DATA CENTER REAL USER MONITORING... 3 2 COMPUWARE DATA CENTER REAL USER MONITORING Sercem narzędzia Compuware Data Center Real User Monitoring

Bardziej szczegółowo

System Obsługi Wniosków

System Obsługi Wniosków System Obsługi Wniosków Wersja 2.0 1 System Obsługi Wniosków wersja 2.0 System Obsługi Wniosków to nowoczesne rozwiązanie wspierające proces obsługi wniosków o produkty bankowe. Pozwala na przyjmowanie,

Bardziej szczegółowo

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż. Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej Wstęp Programowanie w Javie 2 mgr inż. Michał Misiak Agenda Założenia do wykładu Zasady zaliczeń Ramowy program wykładu

Bardziej szczegółowo