Politechnika Śląska, Instytut Informatyki Minimalizacja kosztu dostępu do danych zapisanych w rozproszonej bazie danych poprzez obsługę żądań SQL w architekturze DRDA za pośrednictwem serwera DB2 Connect
6. Federacyjne bazy danych Plan prezentacji 1. Definicja podstawowych pojęć 2. DB2 Connect przepływ danych cechy DB2 Connect 3. Architektura DRDA 4. Techniki zestawiania i koncentracji połączeń 5. Zarządzanie informacjami o połączeniach z bazą danych
Definicja podstawowych pojęć Architektura DRDA Distributed Relational Database Architecture to zestaw protokołów, pozwalających na wspólną pracę wielu systemów baz danych oraz programów aplikacji
DB2 Connect przepływ danych DB2 for iseries DB2 for zseries TCP/IP DB2 Connect udostępnia pośrednią łączność, która pozwala klientom na dostęp do hosta i serwerów System i DB2 przez bramę DB2 Connect Server DB2 Connect Klient DB2 Klient DB2
DB2 Connect Architektura DRDA stacja robocza DB2 Connect serwer iseries DB2
DB2 Connect Wykorzystywane techniki zestawianie połączeń koncentracja połączeń utrzymywanie otwartych połączeń z bazą danych w łatwo dostępnej puli utrzymywanie połączenia bez wykorzystywania żadnych zasobów serwera DB2 na hoście
DB2 Connect Zestawianie połączeń 1/3 Wykonanie transakcji WWW wykonanie instrukcji SQL nawiązanie połączenia z bazą danych zakończenie połączenia
DB2 Connect Zestawianie połączeń 2/3 Nawiązanie połączenia z bazą danych 1. Utworzenie agenta DB2 Connect. 2. Nawiązanie połączenia sieciowego pomiędzy agentem i serwerem DB2. 3. Utworzenie wątku DB2 na serwerze.
DB2 Connect Zestawianie połączeń 3/3 Tworzenie puli połączeń 1. Uruchamiana jest instancja DB2 Connect. 2. Tworzona jest pula agentów koordynujących. 3. Każdemu połączeniu przypisywany jest agent, który nawiązuje połączenie z serwerem DB2 i tworzy wątek. 4. Żądanie rozłączenia nadchodzące od aplikacji nie jest przekazywane do serwera. 5. Agent jest zwracany do puli, ale wciąż dysponuje połączeniem i wątkiem.
DB2 Connect Koncentracja połączeń 1/2 Agent logiczny reprezentuje połączenie aplikacji; jest potrzebny podczas nawiązywania połączenia z hostem koordynujący jest właścicielem połączenia DB2 i wątku oraz wykonuje żądania aplikacji COMMIT lub ROLLBACK
DB2 Connect Koncentracja połączeń 2/2 Aplikacja 1 Aplikacja 2 Aplikacja 3 Aplikacja n
DB2 Connect Inf. o połączeniach z bazą d. Zarządzanie informacjami o połączeniach 1. Katalog systemowy bazy danych Informacje o uwierzytelnianiu i nazwach węzłów wszystkich baz danych 2. Katalog węzłów Informacje o adresach sieciowych i protokołach komunikacyjnych wszystkich hostów i serwerów 3. Katalog dostępu do b.d. (DCS) Informacje dotyczące baz danych na hostach i serwerach
DB2 Connect Inf. o połączeniach z bazą d. Zarządzanie informacjami o połączeniach 1. Katalog systemowy bazy danych Informacje o adresach sieciowych i 2. Katalog węzłów protokołach komunikacyjnych wszystkich 3. Katalog dostępu do b.d. (DCS) Informacje o uwierzytelnianiu i nazwach węzłów wszystkich baz danych db2 catalog dcs db x as y authentication server parms \,,,,,,LOCALDATE=\ \ YYMMDD\ \ \ Nazwa lokalnej bazy danych: x Nazwa docelowej bazy danych: y Typ uwierzytelniania: Parametry DCS: server hostów i serwerów Informacje dotyczące baz danych na,,,,,,localdate= YYMMDD hostach i serwerach
DB2 Connect Typy uwierzytelnienia 1. CLIENT poprawność nazwy użytkownika i hasła sprawdzana po stronie klienta 2. SERVER przed wysłaniem, hasła są szyfrowane po stronie We wpisie katalogu klienta bazy jest typ uwierzytelnienia, 3. SERVER_ENCRYPT który przesłania typ zapisany po stronie klienta 4. DATA_ENCRYPT dane są szyfrowane podczas komunikacji klient-serwer 5. KERBEROS klient loguje się na serwerze za pomocą uwierzyt. Kerberos (zamiast id/hasło)
DB2 Connect Typy uwierzytelnienia 1. CLIENT 2. SERVER poprawność nazwy użytkownika i hasła sprawdzana po stronie klienta przed wysłaniem hasła są szyfrowane po stronie klienta 3. SERVER_ENCRYPT 4. DATA_ENCRYPT dane są szyfrowane podczas komunikacji klient-serwer 5. KERBEROS klient loguje się na serwerze za pomocą uwierzyt. Kerberos (zamiast id/hasło)
DB2 Connect Typy uwierzytelnienia 1. CLIENT poprawność nazwy użytkownika i hasła sprawdzana po stronie klienta 2. SERVER przed wysłaniem hasła są szyfrowane po stronie We wpisie katalogu klienta bazy jest typ uwierzytelnienia, 3. SERVER_ENCRYPT który przesłania typ zapisany po stronie klienta 4. DATA_ENCRYPT dane są szyfrowane podczas komunikacji klient-serwer 5. KERBEROS klient loguje się na serwerze za pomocą uwierzytelnienia Kerberos (zamiast id/hasło)
Kreator konfiguracji systemu rozproszonego
Kreator konfiguracji systemu rozproszonego
Kreator konfiguracji systemu rozproszonego CREATE WRAPPER DRDA LIBRARY 'db2drda.dll'; CREATE SERVER TOOLSDB TYPE DB2/UDB VERSION '9.1' WRAPPER DRDA AUTHID "ola" PASSWORD "*****" OPTIONS( ADD DBNAME 'TOOLSDB');
Postać hierarchii obiektów przykładowej bazy danych
Zmiana wartości parametrów
Politechnika Śląska, Instytut Informatyki Wydajność przetwarzania zapytań w architekturze sfederowanych baz danych
Definicja podstawowych pojęć Sfederowana baza danych Zbiór danych rozmieszczonych w wielu węzłach sieci komputerowej lokalnej lub rozległej Federacja oznacza centralne repozytorium zawierające dane, do których są dowiązane dane z innych źródeł
Rozproszone bazy danych Klasyfikacja Systemy wielu baz danych Niefederacyjne rozproszone bazy danych brak autonomii Federacyjne bazy danych Jednorodne bazy danych Rozproszone z globalnym schematem słabo skojarzone ściśle skojarzone FSZBD brak jest odpowiedzialny federacyjnego schematu za zarządzanie i zarządzania całością federacji pojedyncze federacje
Sfederowany system baz danych Przykład System kontroli opłat abonamentowych TVP. sieć MediaMarkt dane meldunkowe obywateli klienci Urząd Miasta płatnicy abonamentu Urząd Radiofonii i TV Firma handlowa.
Sfederowana baza danych Definicja FSZBD umożliwia tworzenie aplikacji globalnych, działających na całości federacyjnej bazy danych. Jest ona zdefiniowana schematem federacyjnym, będącym sumą schematów eksportowych lokalnych baz danych. Sfederowana baza danych jest to kolekcja heterogenicznych, autonomicznych baz danych, połączonych siecią komputerową, zarządzana specjalnym systemem określanym jako Federacyjny System Zarządzania Bazą Danych (FSZBD).
Sfederowane bazy danych
Federacyjna baza danych Cechy Federacja może przetwarzać lokalne zasoby tylko poprzez API specyficzny dla lokalnego systemu. Włączenie lokalnej bazy danych do federacji nie może powodować konieczności zmiany programów aplikacyjnych działających na lokalnej bazy danych. Lokalna baza danych w federacji baz danych jest autonomiczna. Lokalne dane podlegają lokalnym priorytetom, regułom własności, autoryzacji dostępu, bezpieczeństwa, itd. Lokalne dane podlegają lokalnym priorytetom, regułom własności, autoryzacji dostępu, bezpieczeństwa, itd.
Sfederowane bazy danych
Federacyjna baza danych DB2 ESE Oracle Server TCP/IP DB2 Connect udostępnia pośrednią łączność, która pozwala klientom na dostęp do hosta i/lub serwerów baz danych przez bramę DB2 Connect Server DB2 Connect Klient 1 Klient n
Federacyjna baza danych Zapytania Dekompozycja zapytania na pewne podzapytania kierowane do lokalnych baz danych SELECT FROM WHERE Aplikacja... from T1, T2 API JDBC ODBC T1.a1, T2.a2 T1, T2 T1.id = T2.id AND T1.a1= wartość1 AND T2.a2 = wartość2 SELECT T1.a1 FROM T1 WHERE T1.a1 = wartość1 Sfederowana baza danych opakowanie T1 dane zdalne T2 dane lokalne
Optymalizator Federacyjna baza danych Realizacja zapytań Zdalne źródła danych Synonim Synonim Opakowanie nierelacyjne API SQL Klient natywny Opakowanie relacyjne Klient natywny DB2
Federacyjna baza danych Konfiguracja środowiska 1. Uruchomienie instancji DB2 Connect. 2. Utworzenie monitora przetwarzania transakcyjnego TM. 3. Zdefiniowanie opakowań (ang. wrappers). 4. Utworzenie definicji serwerów. 5. Utworzenie aliasów (nicknames) do tabel zdalnych. Przed punktem 5 powinno mieć miejsce ustawienie zmiennej FEDERATED: UPDATE DBM CFG USING FEDERATED YES; oraz restart instancji.
Federacyjna baza danych Konfiguracja środowiska 2. Utworzenie monitora przetwarzania transakcyjnego TM. 3. Zdefiniowanie opakowań.
Federacyjna baza danych Konfiguracja środowiska 4. Utworzenie definicji serwerów.
Federacyjna baza danych Konfiguracja środowiska 5. Utworzenie aliasów (nicknames) do tabel zdalnych.
Federacyjna baza danych Plan wykonania zapytania DB2_MAXIMAL_ PUSHDOWN = Y Optymalizator zapytań wybiera taki plan dostępu, który przewiduje przekazanie największej liczby operacji do źródła danych. W zapytaniach stowarzyszonych część zapytania, która dotyczy danych lokalnych, jest uruchamiana równolegle (lokalne części zapytania mogą być wykonywane przez wiele procesorów), a część dotycząca pseudonimu szeregowo.
Federacyjna baza danych Paralelizm między partycjami Partycjonowane dane lokalne Dane zdalne partycja koordynująca dane pseudonimu partycja 3 partycja 2 partycja 1
Federacyjna baza danych Paralelizm między partycjami Baza danych rozprowadza dane pseudonimu na partycjach systemu lokalnego w celu przetwarzania równoległego Partycjonowane dane lokalne Dane zdalne W przypadku łączeń między dwoma pseudonimami plan wykonania, w którym dane są rozprowadzane między wszystkimi partycjami obliczeniowej grupy partycji, może być korzystny, o ile obejmuje dużą ilość danych. partycja koordynująca dane pseudonimu Optymalizator może zdecydować o zaniechaniu wykonania bezpośrednio w zdalnym źródle, jeśli okaże się to nieekonomiczne. partycja 3 partycja 2 partycja 1