Integracja systemów transakcyjnych



Podobne dokumenty
SYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią

Hurtownie danych - przegląd technologii Robert Wrembel Politechnika Poznańska Instytut Informatyki

Architektury i technologie integracji danych

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Distributed Hash Tables i ich zastosowania

Optymalizacja poleceń SQL Statystyki

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

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

Optymalizacja poleceń SQL

Rozproszone bazy danych. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW

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

Optymalizacja. Przeszukiwanie lokalne

Plan wykładu. Architektura systemów komputerowych. Strategie zapisu. Cezary Bolek

Oracle11g: Wprowadzenie do SQL

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

Systemy informatyczne dla Z(zwirtualizowanego)KSE

Macierzowe algorytmy równoległe

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

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

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;

Optymalizacja wydajności SZBD

1 Instalowanie i uaktualnianie serwera SQL Server

AKADEMIA GÓRNICZO-HUTNICZA. Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki KATEDRA INFORMATYKI. SyncFile

Replikacje. dr inż. Dziwiński Piotr Katedra Inżynierii Komputerowej. Kontakt:

Od czego zacząć przy budowaniu środowisk wysokiej dostępności?

Podstawowe wiadomości o systemach plików.

wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK

Algorytm. Krótka historia algorytmów

Optymalizacja poleceń SQL Wprowadzenie

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Dyski. Mechanizmy składowania

Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

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

Struktury systemów operacyjnych

Metoda list prostych Wykład II. Agnieszka Nowak - Brzezińska

Wydajny Linux. Jakub Woźniak KN Sieci Komputerowych i Systemów Rozproszonych Tenesys

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Administracja i programowanie pod Microsoft SQL Server 2000

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

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Hurtownie danych i business intelligence - wykład II. Zagadnienia do omówienia. Miejsce i rola HD w firmie

technologii informacyjnych kształtowanie , procesów informacyjnych kreowanie metod dostosowania odpowiednich do tego celu środków technicznych.

Laboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Monitorowanie sieci (w oparciu o Protokoły SNMP i RMON W. Stallings) Architektura monitorowania sieci

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

Architektura komputerów

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

Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010

pulsebec163 impulsowy regulator napięcia

Optymalizacja. Przeszukiwanie tabu

Projektowanie algorytmów równoległych. Zbigniew Koza Wrocław 2012

Algorytmy i struktury danych

E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze

Bezpieczeństwo informacji w systemach komputerowych

Multi-wyszukiwarki. Mediacyjne Systemy Zapytań wprowadzenie. Architektury i technologie integracji danych Systemy Mediacyjne

Optymalizacja. Plan wykonania polecenia SQL (1) Plan wykonania polecenia SQL (2) Rozdział 19 Wprowadzenie do optymalizacji poleceń SQL

Cel odtwarzania. Transakcyjne odtwarzanie bazy danych. Modele awarii. Efektywność odtwarzania MTTF

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Spis treści WSTĘP... 9

Statystyki (1) Optymalizacja poleceń SQL Część 2. Statystyki (2) Statystyki (3) Informacje, opisujące dane i struktury obiektów bazy danych.

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

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

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

Programowanie współbieżne Wykład 2. Iwona Kochańska

Architektura komputerów

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

Magistrala systemowa (System Bus)

NETBEANS PROFILER TOMASZ ŁUKASZUK

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

III. Lista prawdopodobnych przyczyn usterek systemu komputerowego wynikających z zadania i załączników

Sortowanie. Kolejki priorytetowe i algorytm Heapsort Dynamiczny problem sortowania:

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

Haszowanie (adresowanie rozpraszające, mieszające)

Bazy danych. Dr inż. Paweł Kasprowski

Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.

Sektor. Systemy Operacyjne

Bazy danych Access KWERENDY

Politechnika Śląska, Instytut Informatyki

Szkolenie obejmuje zagadnienia związane z tworzeniem i zarządzaniem bazą danych Oracle, jej zasobami i dostępem do danych.

Instrukcja do instalacji/aktualizacji systemu KS-FKW

Rozwiązania wspomagające przetwarzanie wielkich zbiorów danych (VLDB) we współczesnych systemach zarządzania bazami danych

Integracja systemów transakcyjnych

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

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

Hurtownie danych. Ładowanie, integracja i aktualizacja danych. INTEGRACJA DANYCH ETL

Niezawodne usługi outsourcingowe na przykładzie usług kampusowych i Krajowego Magazynu Danych w sieci PIONIER

Bazy danych 2. Wykład 1

Algorytm Grovera. Kwantowe przeszukiwanie zbiorów. Robert Nowotniak

Sortowanie zewnętrzne

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

Zaawansowane funkcje systemów plików. Ewa Przybyłowicz

Dane bezpieczne w chmurze

Kodowanie transformacyjne. Plan 1. Zasada 2. Rodzaje transformacji 3. Standard JPEG

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer

Algorytmy i struktury danych

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

Transkrypt:

Integracja systemów transakcyjnych Robert Wrembel Politechnika Poznańska Instytut Informatyki Robert.Wrembel@cs.put.poznan.pl www.cs.put.poznan.pl/rwrembel Alokacja danych Alokacja danych umieszczanie danych w węzłach rozproszonej BD Wykorzystuje fragmentację replikację Uwzględnia obciąŝenie węzłów odczyty danych dane powinny być "blisko" uŝytkownika modyfikacje danych naleŝy synchronizować repliki

Alokacja danych Wywodzi się z problemu alokacji plików w sieci komputerowej Problem jest NP-zupełny n fragmentów, m węzłów: ( m ) n Zysk z alokacji zaleŝy od "jakości alokacji" moŝliwości optymalizatora zapytań Algorytm Best Fit Podejście intuicyjne Fragment Fi pamiętamy na stanowisku Sj, na którym liczba referencji odczytu i modyfikacji Fi jest największa Ograniczenie: fragment alokuje się tylko w jednym węźle brak replikacji Przykład charakterystyka przetwarzania z węzłów S i S4 jest realizowany dostęp do F i F z częstością F: odczyty i modyfikacja F: odczyty 4

Best Fit - Przykład Charakterystyka przetwarzania 5 Best Fit - Przykład S5 S S4 F S F S F 6

Best Fit Algorytm prosty obliczeniowo Nie uwzględnia replikacji Mała "dokładność" uwzględnia tylko częstości odwołań do fragmentów 7 Algorytm optymalizacji zysku Algorytm określa wszystkie węzły, na których opłaca się umieścić fragment wykorzystanie replik Fragment umieszczany w tych węzłach, dla których zysk z umieszczenia fragmentu jest większy niŝ koszt przechowywania i aktualizowania tego fragmentu Fragment Fi pamiętamy w węźle Sj, w którym koszt odczytu jest większy niŝ koszt zapisu Fi z dowolnego węzła w systemie 8 4

Algorytm optymalizacji zysku Koszt utrzymywania dodatkowej kopii fragmentu Fi w węźle Sj: sumaryczny czas wszystkich lokalnych aktualizacji fragmentu Fi przez transakcje inicjowane w węźle Sj plus sumaryczny czas wszystkich zdalnych aktualizacji fragmentu Fi przez transakcje inicjowane w pozostałych węzłach SRBD Zysk z utworzenia dodatkowej kopii fragmentu Fi w węźle Sj: róŝnica między czasem wykonania zapytania zdalnego (bez replikacji) a czasem wykonania zapytania lokalnego pomnoŝona przez częstość zapytania do fragmentu Fi z węzła Sj 9 Charakterystyki przetwarzania Przykład Koszty modyfikacji dla schematów alokacji fragmentu F F alokowany kolejno w S, S,, S5 5

Charakterystyki przetwarzania Przykład Koszty modyfikacji dla schematów alokacji fragmentu F F alokowany kolejno w S, S,, S5 Charakterystyki przetwarzania Przykład Koszty modyfikacji dla schematów alokacji fragmentu F F alokowany kolejno w S, S,, S5 6

Charakterystyki przetwarzania Przykład Zysk dla schematów alokacji fragmentu F Charakterystyki przetwarzania Przykład Zysk dla schematów alokacji fragmentu F 4 7

Charakterystyki przetwarzania Przykład Zysk dla schematów alokacji fragmentu F 5 Przykład Uzyskany schemat alokacji fragment Fi jest alokowany we wszystkich węzłach dla których zysk>koszt S5 S F, F F S4 F, F S F, F S F, F 6 8

Sformułowanie owanie problemu Dane charakterystyki i rozkłady zapytań charakterystyki i rozkłady operacji DML węzły sieci przepustowość połączeń pomiędzy węzłami moc przetwarzania w węzłach Poszukiwane schemat rozmieszczenia fragmentów w węzłach (moŝliwe redundancje), tak by pewna funkcja kosztu była minimalna / maksymalna 7 Niezbędne dane Fragmenty F = {F, F,, F j } rozmiar kaŝdego fragmentu (F j ) musi być określony koszt komunikacji sieciowej Transakcje T = {T, T,, T i } rodzaje (odczyt, zapis) częstotliwość uruchamiania podzbiory adresowanych danych Węzły pojemność dysków charakterystyka I/O CPU, Sieć komputerowa S = {S, S,, S k } przepustowość 8 9

Informacje o transakcjach RM (Retrieval Matrix) T T T T4 F F F F4 UM (Update Matrix) T T T T4 F F F F4 9 Informacje o transakcjach Nie wszystkie rekordy muszą być odczytywane lub modyfikowane (Selectivity Matrix) Częstotliwość odwołań (Frequency Matrix) SEL:(%) F T. T. T T4.5 FRQ: F.. 5 F. F4..5. 4 T T T T4 S S S 4 S4

Informacje o sieci komputerowej Węzły połączone medium komunikacyjnym o określonej przepustowości (Communication Cost Matrix) Uproszczenie: macierz komunikacji jest symetryczna CCM S S S S4 S..48.6 S..64. S.48.64.64 S4.6..64 Koszt Koszt moŝe uwzględniać liczbę operacji I/O (rozmiar danych) czas procesora koszt komunikacji sieciowej (przesyłania danych) rozmiar bufora danych (cache)

Koszt Minimalizacja kosztu moŝe dotyczyć kosztu przechowywania kaŝdego fragmentu Fj w węźle Sk kosztu wykonywania zapytań Fj w węźle Sk kosztu modyfikowania Fj we wszystkich węzłach, gdzie Fj jest przechowywany kosztu komunikacji sieciowej Kryteria optymalizacji minimalizacja czasu odpowiedzi maksymalizacja przepustowości kaŝdego węzła Algorytmy statyczne Uruchamiane w czasie bezczynności systemu Wykonywane okresowo ZłoŜone obliczeniowo O(jk i) j - liczba fragmentów tabeli k - liczba węzłów SRBD, w których są alokowane dane i - liczba transakcji 4

Przykładowy algorytm Cel optymalizacji rozmieszczenie fragmentów w węzłach w ten sposób, by koszt był minimalny min(cc transfer + CC transakcji ) CC transfer koszt transferu danych CC transakcji koszt wykonania transakcji Dane wejściowe RM(Ti, Fj) Retrieval matrix UM(Ti, Fj) Update matrix SEL(Ti, Fj) Selectivity matrix FRQ(Ti, Sk) Frequency matrix CCM(Sk, Sm) Communication cost matrix Dane wyjściowe FAT(Fj, Sk) Fragment Allocation Table 5 Przykładowy algorytm Inicjalizacja macierzy FAT (Fragment Allocation Table) Algorytm - krok dla kaŝdej transakcji Ti, fragmentu Fj, węzła Sk wykonaj: jeŝeli liczba dostępów transakcji Ti do Fj w Sk i częstotliwość wywołania transakcji Ti w węźle Sk > to pozostaw kopię fragmentu Fj w węźle Sk 6

Przykładowy algorytm Krok For Ti in T, Fj in F, Sk in S do if (RM(Ti,Fj) * FREQ(Ti,Sk) > ) FAT(Fj,Sk) := RM T T T T4 F F F F4 FREQ: S T T T T4 S S 4 S4 FAT - krok F F S S S S4 F F4 7 Przykładowy algorytm Usunięcie kopii zaalokowanych fragmentów w celu redukcji kosztów odświeŝania usunięcie kopii dla których zysk < koszt Algorytm - krok dla kaŝdego Fj zaalokowanego w więcej niŝ węźle, procedura usuwania jest powtarzana dopóki dla kaŝdego fragmentu zysk > koszt lub pozostanie tylko kopia Fj w SRBD jeŝeli zysk < koszt we wszystkich węzłach to Fj jest pozostawiany w tym węźle, w którym zysk-koszt jest największa Krok For Fj in F do While (NumFragCopy(Fj) > ) begin Let Sk be the site with FAT(Fj,Sk)= and a minimum value of (Benefit(Fj,Sk)-Cost(Fj,Sk)); if ((Benefit(Fj,Sk) - Cost(Fj,Sk)) < ) FAT(Fj,Sk) = end; 8 4

Przykładowy algorytm Cost(Fj,Sk) F S S 6 S 4 S4 Benefit(Fj,Sk) F S S 4 S 7 S4 9 FAT z kroku F F S S S S4 F F4 FAT - krok F S S S S4 9 Przykładowy algorytm Sprawdzenie czy wszystkie fragmenty zostały zaalokowane Algorytm - krok jeŝeli któryś z fragmentów nie został jeszcze zaalokowany, ale są na nim wykonywane modyfikacje, to jako węzeł przechowywania naleŝy wybrać ten z najmniejszym kosztem wykonania operacji For Fj in F do if (NumFragCopy(Fj) = and UM(Ti,Fj) > ) begin Sk = MinOperCost(Fj); FAT(Fj,Sk) = ; end; 5

Przykładowy algorytm UM F F F F4 T T T T4 FREQ: S S S S4 T T T T4 4 suma: 7 FAT - krok F S S S S4 FAT - krok F S S S S4 Przykładowy algorytm - modyfikacja Kroki i są takie same jak w poprzednim algorytmie Krok - usuwanie fragmentów przejrzenie wszystkich fragmentów z kroku w porządku malejących wag waga jest wyliczana na podstawie liczby aktualizacji zrealizowanych przez transakcje pochodzące z innych węzłów kopia jest usuwana z węzła na podstawie wag (więcej aktualizacji fragment szybciej usunięty z węzła) 6

Algorytmy dynamiczne Rozkład obciąŝenia węzłów i charakterystyki dostępu do danych zmieniają się w czasie algorytmy statyczne zmniejszają wydajność baz danych konieczność relokacji fragmentów algorytmy dynamiczne Simple Counter Load Sensitive Counter Simple Counter Jeden dedykowany węzeł SRBD utrzymuje liczniki dostępów z kaŝdego węzła do kaŝdego fragmentu (bloku danych) Proces systemowy okresowo sprawdza liczniki dla kaŝdego fragmentu (bloku danych) w regularnych odstępach czasowych Relokacja rekordów ma miejsce, gdy węzeł z najwyŝszą wartością licznika jest inny niŝ ten, gdzie dane są aktualnie składowane 4 7

Simple Counter Proces systemowy gromadzi statystyki takie jak: przepustowość, średni czas odpowiedzi, liczba transakcji wymagających dostępu do danych Okres sprawdzania liczników musi zapewnić szybką reakcję na zmieniające się obciąŝenie musi zapewnić relokację danych po ustabilizowaniu się zmian obciąŝenia 5 Simple Counter Zalety: zapewnia zadowalający schemat alokacji, gdy obciąŝenie systemu jest niskie węzły są w miarę równomiernie obciąŝone zmiany obciąŝenia stabilizują się w czasie Wady: jeŝeli większość zapytań pochodzi z jednego węzła, to wszystkie rekordy mogą znaleźć się w tym węźle przeciąŝenie węzła 6 8

Load Sensitive Counter Monitoruje obciąŝenie systemu i częstotliwość dostępu do danych Relokacja danych wykonywana jest jako Simple Counter Algorithm Relokacja wykonywana jest jeśli tylko nie powoduje przekroczenia pewnego poziomu obciąŝenia węzła Parametry algorytmu maksymalny procent danych przechowywanych w węźle maksymalny poziom obciąŝenia 7 Algorytmy dynamiczne Cechy nieefektywne, gdy częstotliwość sprawdzania liczników jest za duŝa lub gdy obciąŝenie systemu zmienia się szybko najgorsza wydajność, gdy algorytm próbuje nadąŝyć za zmieniającym się obciąŝeniem (duŝo relokacji danych) 8 9

Bibliografia M. T. Özsu, P. Valduriez, Distributed and Parallell Database Systems, ACM Computing Surveys, vol. 8, no., 996, pp.5-8 Y-F. Huang, J-H. Chen, Fragment Allocation in Distributed Database Design, July, pp. 49-56 A. Brunstrom, S. T. Leutenegger, R. Simha, Experimental Evaluation of Dynamic Data Allocation Strategies in a Distributed Database With Changing Workloads, no. TR-95-, 995, pp. -5 P. M. G. Apers, Data Allocation in Distributed Database Systems, ACM Transactions on Database Systems, vol., no., September 988, pp. 6-4 9