Systemy baz danych. Funkcje (programy) użytkownika FU System Zarządzania Bazą Danych SZBD



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

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

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

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

Politechnika Śląska, Instytut Informatyki

Bazy danych 2. Wykład 1

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

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

Wykład I. Wprowadzenie do baz danych

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

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

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

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

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

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

SZKOLENIE: Administrator baz danych. Cel szkolenia

Systemy baz danych. mgr inż. Sylwia Glińska

WPROWADZENIE DO BAZ DANYCH

Baza danych. Baza danych to:

Działanie komputera i sieci komputerowej.

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

Systemy GIS Systemy baz danych

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

Systemy rozproszonych baz danych 1

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Pojęcie systemu baz danych

Bazy danych - wykład wstępny

EXSO-CORE - specyfikacja

Wprowadzenie. Dariusz Wawrzyniak 1

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

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

PROGRAM PRAKTYKI ZAWODOWEJ. Technikum Zawód: technik informatyk

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

Systemy rozproszone System rozproszony

Oracle11g: Wprowadzenie do SQL

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

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

7. zainstalowane oprogramowanie zarządzane stacje robocze

Program kadrowo płacowy - wersja wielodostępna z bazą danych Oracle SQL Server 8 lub 9

Praca w sieci z serwerem

1. Zakres modernizacji Active Directory

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

1 Instalowanie i uaktualnianie serwera SQL Server

Zarządzanie transakcjami

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Systemy GIS Tworzenie zapytań w bazach danych

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Wykład 2. Relacyjny model danych

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Windows W celu dostępu do i konfiguracji firewall idź do Panelu sterowania -> System i zabezpieczenia -> Zapora systemu Windows.

2017/2018 WGGiOS AGH. LibreOffice Base

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

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

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Technologia informacyjna

Tworzenie bazy danych na przykładzie Access

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Projektowani Systemów Inf.

Leonard G. Lobel Eric D. Boyd. Azure SQL Database Krok po kroku. Microsoft. Przekład: Marek Włodarz. APN Promise, Warszawa 2014

William R. Stanek. Vademecum administratora. Microsoft. SQL Server Przekład: Krzysztof Szkudlarek

Administrowanie bazami danych Microsoft. SQL Server Training Kit. Egzamin Orin Thomas Peter Ward bob Taylor. Przekład: Marek Włodarz

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0

Program szkolenia KURS SPD i PD Administrator szkolnej pracowni internetowej Kurs MD1 Kurs MD2 Kurs MD3 (dla szkół ponadgimnazjalnych)

Laboratorium Systemów Operacyjnych

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

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

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Wykład XII. optymalizacja w relacyjnych bazach danych

Baza danych. Modele danych

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

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Sieciowa instalacja Sekafi 3 SQL

Hurtownie danych - przegląd technologii

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

Architektura i mechanizmy systemu

Middleware wprowadzenie października 2010

Pytania SO Oprogramowanie Biurowe. Pytania: Egzamin Zawodowy

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

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

Microsoft SQL Server Podstawy T-SQL

Administracja i programowanie pod Microsoft SQL Server 2000

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

Systemy rozproszonych baz danych 2

Middleware wprowadzenie października Dariusz Wawrzyniak (IIPP) 1

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie

Programowanie obiektowe

Część I Rozpoczęcie pracy z usługami Reporting Services

RELACYJNE BAZY DANYCH

T: Wbudowane i predefiniowane domenowe grupy lokalne i globalne.

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

PHP: bazy danych, SQL, AJAX i JSON

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Zmiany funkcjonalne i lista obsłużonych zgłoszeń Comarch DMS

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

Czujniki obiektowe Sterowniki przemysłowe

System automatycznego wysyłania SMSów SaldoSMS

FUNKCJE SZBD. ZSE - Systemy baz danych 1

Transkrypt:

Bazy rozproszone Maria Dems Systemy baz danych Komponenty SBD: Platforma sprzętowo-operacyjna SO Baza danych BD Funkcje (programy) użytkownika FU System Zarządzania Bazą Danych SZBD Warstwy Systemu baz danych: warstwa danych, warstwa Systemu Zarządzania Bazami Danych, warstwa oprogramowania użytkowego. 2

Architektura systemów baz danych W arianty rozwią zań : * Scentralizowana BD * Wielodostę pna BD * Sieć loka lna * Architektura klient/serwer * Sieć rozległa (rozproszona BD) Systemy jednostanowiskowe Układ warstw w systemie jednostanowiskowym 3 Systemy jednostanowiskowe baz danych BD, FU SO, SZBD użytkownikż użytkownik 2 użytkownik n Baza scentralizowana: sprzęt, oprogramowanie i użytkownik ==> w jednym miejscu Baza wielodostępna: sprzęt, oprogramowanie i użytkownicy ==> w jednym miejscu, dostęp dzielony 4

Systemy sieciowe BD Podział warstw systemu: warstwa danych znajduje się na wydzielonym komputerze (serwer plików), warstwa SZBD i oprogramowania użytkowego - na każdym komputerze z oprogramowaniem bazy danych Układ warstw w systemie sieciowym 5 Systemy sieciowe BD SO BD SZBD, FU SZBD, FU Baza w sieci lokalnej - BD, SO ==> w jednym miejscu, SZBD, programy, użytkownicy oddzieleni SO, SZBD BD FU FU FU Architektura klient/serwer: rozdzielenie programów od pozostałych elementów 6

Architektura klient - serwer Klient - komputer lub stacja robocza włączona do sieci, która pozwala na dostępdobd Serwer - komputer (superkomputer, minikomputer, stacja robocza, zasoby LAN) udostępniający zasoby sieci (serwery transakcji i serwery danych) Korzyści stosowania architektury K/S: dostęp do elementów sieci otwarta architektura indywidualizacja przetwarzania klientów integracja zasobów i BD rozwiązywanie problemów komunikacyjnych w ramach architektury K/S (przetwarzanie jedno-, i wielotorowe, serwery równoległe) 7 Architektura klient - serwer Klient Program aplikacyjny (FU) Zdalnie dostępny interfejs BD Interfejs sieci Serwer Pamięć dzielona Serwer BD (SZBD+BD) Interfejs sieci 8

Rozproszona baza danych SO, SZBD SO, SZBD, BD, FU BD, FU SO, SZBD, BD, FU Rozproszone BD: Wiele baz połączonych ze sobą 9 Rozproszona baza danych Wrocław Warszawa BD BD Sieć komunikacyjna Szczecin Kraków BD BD Przykład R*BD 10

Pojęcie rozproszonych baz danych Rozproszona BD (ang. Distributed Database) - SBD, w którym wiele węzłów przetwarzania połączono w sieć i istnieje możliwość dostępu z dowolnego miejsca do całej BD Przesłanki realizacji Rozproszonej Bazy Danych: rozproszenie systemu informacyjnego rozwój teleprzetwarzania hierarchizacja przetwarzania danych poprawa parametrów eksploatacyjnych Bazy rozproszone dzielimy na: jednorodne - homogeniczne, niejednorodne - heterogeniczne i federacyjne 11 Zasady rozpraszania BD wg Date a 0. Fundamentalna (Rozproszona BD jak zwykła BD) 1. 1Lkl Lokalna autonomia węzła ł (local l autonomy) 2. Równorzędność wszystkich węzłów (no reliance on a central site) 3. Ciągłość przetwarzania (continuous operation) 4. Niezależność lokalizacji danych w BD (location independence) 5. Niezależność fragmentacji BD (fragmentation independence) 6. Niezależność replikacji BD (replication independence) 12

Zasady rozpraszania BD wg Date a 7. Rozproszone przetwarzanie zapytań (distributed query processing) 8. Rozproszone zarządzanie transakcjami (distributed transaction management) 9. Niezależność sprzętowa BD (hardware independence) 10. Niezależność operacyjna BD (operation system independence) 11. Niezależność sieci komputerowej BD (network indepenedence) 12. Niezależność SZBD (DBMS independence) 13 Właściwości Rozproszonej BD Rozproszona BD stanowi kolekcję logicznie powiązanych i współużytkowanych danych BD jest podzielona na szereg fragmentów Fragmenty mogą być replikowane Fragment/repliki są alokowane w węzłach Węzły są połączone w sieć o uzgodnionych zasadach współpracy Dane w każdym węźle są pod kontrolą SZBD (autonomia) Przetwarzania Rozproszonej BD odbywa się na dwóch poziomach: globalnym i lokalnym Każdy SZBD w Rozproszonej BD uczestniczy przynajmniej w jednej globalnej aplikacji 14

Rozłożenie danych w rozproszonym systemie BD W systemach rozproszonych rozróżniamy dwa modele danych: dane rozproszone oszone i dane replikowane. Dane rozproszone pomiędzybazylokalnemogą być rozłożone poprzez fragmentaryzację.rozróżnia się: fragmentaryzację pionową - podzbiory kolumn w tabeli, fragmentaryzację poziomą - podzbiory wierszy w tabeli. Działanie Fragmentaryzacja pozioma Fragmentaryzacja pionowa Rozkład danych Selekcja Rzut na podzbiór kolumn zawierający klucz główny Scalenie danych Suma (UNION) Złączenie naturalne w oparciu o wartość klucza głównego 15 Dane rozproszone Każdy serwer w systemie rozproszonym odpowiada za swoje dane. Dostęp do danych jest możliwy z wielu miejsc pp poprzez sieć. W systemie istnieje tylko jedna kopia każdej z danych. Czas odpowiedzi dla operacji na lokalnych danych jest krótki. Gdy jedno ze zdalnych stanowisk jest niedostępne, można korzystać z danych z innych serwerów. Częste korzystanie ze zdalnych danych wiąże się ze spadkiem efektywności ee przetwarzania. a a. W wypadku awarii jednego ego ze stanowisk, zakończenie transakcji może nie być możliwe do chwili usunięcia uszkodzenia. Model jest odpowiedni gdy przeważająca część przetwarzania dotyczydanychlokalnych,aodwołania do innych serwerów są stosunkowo rzadkie. 16

Dane replikowane Każde stanowisko posiada kopie wszystkich potrzebnych na tym stanowisku danych, w związku z czym te same dane są powielone w kilku miejscach. Model ten wymaga większej liczby zasobów i jest odpowiedni gdy te same dane są wykorzystywane na wielu różnych stanowiskach. Replikacjap j danych poprawia p efektywność wykonywania zapytań oraz zwiększa dostępność danych i odporność na awarie. 17 Właściwości Rozproszonej BD Podstawowe własności rozproszonej bazy danych są następujące: przezroczystość geograficzna użytkownik nie musi wiedzieć, w którym miejscu są przechowywane dane, przezroczystość fragmentaryzacji -użytkownik nie musi wiedzieć, w jaki sposób są podzielone dane, przezroczystośće roc replikacji - użytkownik nie musi wiedzieć, wjakisposóbsą replikowane dane, jakie i w ilu bazach składowych. 18

Właściwości Rozproszonej BD Niezależność fragmentacji danych Pracownik PIN Wydział Płaca 123 W1 2000 234 W2 2400 456 W2 1800 567 W3 1900 789 W3 2500 Wrocław Kraków PIN Wydział Płaca PIN Wydział Płaca 123 W1 2000 456 W2 1800 234 W2 2400 567 W3 1900 789 W3 2500 19 Właściwości rozproszonej BD Niezależność replikacji danych Wrocław Kraków PIN Wydzia Płaca PIN Wydział Płaca ł 123 W1 2000 456 W2 1800 234 W2 2400 567 W3 1900 789 W3 2500 PIN Wydzia Płaca PIN Wydzia Płaca ł ł 456 W2 1800 123 W1 2000 567 W3 1900 234 W2 2400 789 W3 2500 20

Komponenty rozproszonej BD Globalny katalog systemowy SZR*BD Moduł komunika- cyjny Węzeł 1 Sieć komputerowa Węzeł 2 SZR*BD Moduł komunikacyjny Globalny katalog systemowy SZBD BD 21 Zalety i wady rozproszonej BD Za lepsza obsługa struktur organizacyjnych wspólny dostęp i lokalna autonomia węzłów poprawa dostępności BD poprawa wiarygodności BD zwiększenie i k i wydajności ś przetwarzania lepszy wskaźnik efektykoszty modularyzacja rozwoju BD Przeciw duża złożoność wyższe koszty utrzymania obniżenie bezpieczeństwa trudniejsze sterowanie poprawnością niedostatek standardów i doświadczeń bardziej złożone projektowanie problemy związane z wydajnością sieci rozległych 22

Reguły Rozproszonej BD Autonomia lokalnych BD: Lokalne dane powinny podlegać lokalnym regułom własności i powinny być zarządzane lokalnie. Brak podporządkowania p pz przetwarzaniaz do konkretnego miejsca: Spełnienie tej reguły umożliwia uniknięcie wąskich gardeł, dzięki decentralizacji wszystkich funkcji rozproszonego SZBD. Ciągłość funkcjonowania: Przestoje w wykonywaniu operacji nie powinny być skutkiem dodania nowych miejsc lub ich usunięcia Niezależność od lokalizacji: Użytkownicy lub aplikacje nie muszą wiedzieć, gdzie dane są fizycznie przechowywane. Niezależność od rozczłonkowania: Fragmenty jednego zbioru danych mogą być przechowywane i zarządzane przez rozproszony SZBD jako jedna całość Niezależność od replikacji: Pojawienie się replik danych nie powinno wpływać na postępowanie użytkowników ani na konieczność przeróbek aplikacji. 23 Reguły Rozproszonej BD Rozproszone przetwarzanie zapytań: System powinien zapewniać sprawne przetwarzanie rozproszonych zapytań umożliwiające zredukowanie zarówno czasu przetwarzania, jak i obciążenia sieci transmisji danych. Zarządzanie rozproszonymi transakcjami: Zasady zarządzania transakcjami oraz sterowania współbieżnością powinny obowiązywać dla operacji w rozproszonej bazie danych. Niezależność od sprzętu i systemu operacyjnego: Dowolne oprogramowanie rozproszonego SZBD powinno pracować na różnych platformach. Niezależność od sieci: Aplikacje działające na rozproszonej bazie danych nie powinny być uzależnione od protokołów sieciowych. Niezależność od SZBD: Powinno być możliwe przyłączenie do rozproszonej bazy danych lokalnej bazy danych zarządzanej 24 przez dowolny lokalny SZBD.

System Zarządzania Rozproszoną Bazą Danych SZRBD posiada pełną funkcjonalność scentralizowanego SZBD. Umożliwia połączenie rozproszonych zasobów w jedną całość, Utrzymuje spójność tych zasobów, Udostępnia zasoby użytkownikom, Ukrywa rozproszenie zasobów. 25 System Zarządzania Rozproszoną Bazą Danych Ze względu na awarie, SZBD nie powinien się znajdować w jednym miejscu, lecz zarówno dane jak i oprogramowanie powinny być rozproszone. Katalog systemowy rozproszonej bazy danych powinien zawierać informacje o położeniu fragmentów i replikacji. W systemie rozproszonym optymalizator zapytań powinien móc użyć informacji topologicznych o sieci, przy podejmowaniu decyzji, jak najlepiej wykonać dane zapytanie Zwielokrotnienie problemów związanych ze współbieżnością oraz problemów propagowania aktualizacji do szeregu różnych węzłów. 26

Funkcje Systemu Zarządzania Rozproszoną Bazą Danych Powinny być dostępne wszystkie funkcje SZBD obsługującego bazę scentralizowaną,tzn.: tzn.: Obsługa komunikacji zapewniającej dostęp do zasobów Rozproszonej BD Administrowanie poszerzonym katalogiem systemu zawierającym szczegóły rozpraszania BD Rozproszone p przetwarzanie zapytań (z optymalizacją) Poszerzona obsługa współbieżnego przetwarzania zapewniająca spójność replikowanych danych Poszerzona obsługa funkcji odtwarzania Rozproszonej BD przeciwdziałająca uszkodzeniom węzłów i połączeń sieciowych 27 Klasyfikacja rozproszonychbd Systemy wielu baz danych (multidatabases) Niefederacyjne rozproszone BD Federacyjne BD Jednorodne BD Rozproszone BD z globalnym schematem Słabo skojarzone (loosely coupled) Ściśle skojarzone (tightly coupled) Pojedyncze Niefederacyjne RBD: brak autonomii. federacje Słabo skojarzone FBD: brak federacyjnego (pojedynczy schematu i zarządzania, operacje schemat) w zależności od aplikacji. Ściśle skojarzone FBD: FSZBD jest odpowiedzialny za zarządzanie całością federacji. Wielokrotne federacje (wiele schematów) 28

Federacyjna Baza Danych Jest to kolekcja heterogenicznych, autonomicznych baz danych, połączonych ą siecią ą komputerową, ą zarządzana ą Federacyjnym y Systemem Zarządzania Bazą Danych (FSZBD). Może włączać dziesiątki, setki, tysiące lub więcej lokalnych baz danych. 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. FSZBD zapewnia warunki pracy twórców aplikacji globalnych określane jako przezroczystość i niezależność danych. FSZBD może być zainstalowany w wielu węzłach sieci, umożliwiając tworzenie aplikacji globalnych w wielu miejscach geograficznych. Poszczególne FSZBD współpracują ze sobą celem zapewnienia spójności i integralności przetwarzania. 29 Architektura federacyjnej BD Aplikacje globalne FSZBD 1 Przestrzeń robocza Schemat FBD... Aplikacje globalne FSZBD m Przestrzeń robocza Schemat FBD Sieć komputerowa Sh Schemat eksportowy 1 Osłona 1 API 1 Lokalny SZBD 1 BD 1 Sh Schemat eksportowy 2 Sh Schemat eksportowy n Osłona 2... Osłona n API 2 API n Lokalny Lokalny SZBD 2 BD 2 SZBD n BD n Aplikacje lokalne Aplikacje lokalne Aplikacje lokalne 30

Przyczyny heteregoniczności FBD Niezależność działania: twórcy systemów nie uzgadniają między sobą ich cech. Standardy są spóźnione i niekompletne Konkurencja Różne rozwiązanie dla złożonego problemu. Różne zespoły znajdują różne rozwiązania, bazujące często na odmiennych celach i założeniach. Efektywność finansowa i kompromisy: Wytwórcy oferują produkty o różnej cenie, funkcjonalności i jakości Systemy spadkowe (legacy): Systemy, które dawno zostały wdrożone i działają efektywnie, nie mogą być z tego działania wyłączone. Nie jest możliwe (lub jest bardzo kosztowne) zastąpienie ich nowymi systemami. Nowe systemy, o podobnym przeznaczeniu, posiadają inne założenia, cechy i funkcjonalności 31 Autonomia lokalnej BD Autonomia lokalnej bazy danych w federacji baz danych oznacza: Lokalne dane podlegają lokalnym priorytetom, regułom własności, autoryzacji dostępu, bezpieczeństwa, itd. Lokalna baza danych może odrzucić zlecenia przychodzace z federacji, o ile naruszają one lokalne ograniczenia lub zbytnio obciażają czas procesora lub inne lokalne zasoby. Lokalna baza danych może udostępniać aplikacjom działającym na federacji baz danych tylko określoną część swoich danych i usług. Programiści tych aplikacji nie mają jakichkolwiek środków dostępu do pozostałych danych i usług. Włączenie lokalnej bazy danych do federacji nie może powodować konieczności zmiany programów aplikacyjnych działających na lokalnej BD. 32

Autonomia lokalnej BD Federacja może przetwarzać lokalne zasoby tylko poprzez interfejs programowania aplikacji (API) specyficzny y dla lokalnego systemu. Inne metody (np. bezpośredni dostęp do plików) są niedozwolone. Federacja nie może żądać od lokalnej bazy danych zmiany/rozszerzenia jej usług (np. udostępnienia lokalnego dziennika transakcji). Federacyjną bazę danych powinna charakteryzować: przezroczystość niezależność danych 33 Przezroczystość lokacji i dostępu : te same metody działania na wszystkich bazach danych objętych federacją, programy aplikacyjnych są zwolnione z konieczności uwzględniania informacji o położeniu danych. Przezroczystość implementacji danych: zwolnienie programów aplikacyjnych z konieczności uwzględniania informacji o implementacji i organizacji danych. Przezroczystość protokołów komunikacyjnych: zwolnienie programów aplikacyjnych z konieczności uwzględniania aktualnych protokołów komunikacyjnych. Przezroczystość współbieżności: umożliwienie jednoczesnej pracy wielu programów aplikacyjnych y bez utraty spójności i integralności danych. Przezroczystość skalowania: umożliwienie dodawania/usuwania baz danych do/z federacji bez wpływu na postać programów aplikacyjnych. Przezroczystość awarii: minimalizacja skutków awarii węzłów 34 lub linii komunikacyjnych dla programów aplikacyjnych.

Niezależność danych Możliwość działań na danych niezależnie od programów, które na nich operują. Nie ma potrzeby zmiany kodu programów aplikacyjnych mimo zmian organizacji lub schematów danych. Fizyczna niezależność danych: ukrycie detali organizacji fizycznej i technik dostępu, dzięki czemu możliwa jest ich zmiana bez wpływu na kod aplikacji. Logiczna niezależność danych: umożliwienie niektórych zmian schematu logicznego bez wpływu na kod aplikacji, np. dodanie atrybutów do relacji, zmiana kolejności atrybutów, zmiana ich typów, utworzenie nowych relacji, itd. Ewolucja schematu (schema evolution): umożliwienie daleko idących zmian schematu danych przy jednoczesnym utworzeniu perspektyw (views) zachowujących stary schemat. 35 Hurtownie danych Hurtownie danych służą do do składowania i przetwarzania dużych ilości danych pochodzących z różnych źródeł, najczęściej heterogenicznych ht h i rozproszonych oraz do tworzenia i przechowywanie kopii bezpieczeństwa danych strategicznych. Zkażdym z heterogenicznych źródeł informacji związana jest warstwa oprogramowania konwerter/monitor, integrator. Zadaniem modułu konwertera jest transformowanie danych z formatu wykorzystywanego w źródle do formatu stosowanego w hurtowni. Zadaniem modułu monitora jest wykrywanie zmian w danych źródłowych i ich przekazywanie do warstwy oprogramowania integratora (po konwersji do modelu danych hurtowni). Zadaniem modułu integratora jest uaktualnianie danych w hurtowni. 36

Problemy budowy i eksploatacji Rozproszonej BD Niezawodność połączeń komunikacyjnych Sterowanie współbieżnością - blokowanie Obsługa katalogu zawartości BD - powielanie Aktualizacja kopii BD - kopia pierwotna Optymalizacja zapytań - lokalna i globalna Budowa RBD dla baz istniejących polega na: rozpraszaniu centralnych BD integracji istniejących lokalnych BD re-projektowaniu BD Budowa nowej BD: - ==> projektowanie RBD 37 Fazy projektowania RBD Koncepcja projektowania Koncepcja projektowania top-down Analiza potrzeb Cele Projektowanie schematu globalnego Projektowanie podschematów zewnętrznych Projekt RBD 38

Fazy projektowania RBD Problemy zasadnicze: decyzje dotyczące lokalizacji: ==> SZRBD, SO ==> BD, aplikacji projekt i parametry sieci Problemy szczegółowe: dlaczego fragmentować RBD, co i jak fragmentować. jak testować poprawność fragmentowanej BD, czy i jak replikować BD. jak alokować zasoby Rozproszonej BD. jakie są czynniki istotne dla projektowania. 39 Fazy projektowania RBD Metodyka projektowania Zaprojektowanie schematu globalnego Dekompozycja p y j schematu globalnego g na schematy lokalne (projekty relacji + schemat fragmentacji) Projektowanie schematu alokacji BD Projekt lokalnych schematów BD integracja baz lokalnych Zalety fragmentacji: użytkowość efektywność współbieżność bezpieczeństwo Wady fragmentacji: wydajność integralność 40

Fazy projektowania RBD Techniki fragmentacji Pozioma (HF) ==> Pierwotna fragmentacja pozioma (PHF) ==> Wtórna fragmentacja pozioma (WHF) Pionowa (VF) ==> Trudniejsza w realizacji (więcej alternatyw) ==> Podejścia: grupowanie (atrybuty do fragmentów) dzielenie (relacja do fragmentów) Mieszana (MF) Relacja lub fragment jest dzielona przynajmniej na dwie części, które są różnie przetwarzane, przynajmniej przez jedną aplikację 41 Fazy projektowania RBD Fragmentacja mieszana R HF HF R1 R2 VF VF VF VF VF R11 R12 R21 R22 R23 42

Fazy projektowania RBD Kryteria poprawności fragmentacji kompletność odtwarzalność rozłączność Replikacje w rozproszonej BD Replikacja - proces generowania i utrzymywania kopii danych w jednym bądź wielu węzłach przetwarzania Korzyści ś replikacji: poprawa wydajności przetwarzania wzrost wiarygodności i dostępności do danych wspomaganie hurtowni danych i przetwarzania przenośnego równoważenie obciążeń Możliwe rozwiązania rozproszonej bazy danych: nie-replikowana (rozdzielona) - każdy fragment BD umieszczony jest w jednym węźle częściowa replikacja - wybrane fragmenty w określonych węzłach pełna replikacja - każdy fragment w każdym węźle 44

Rodzaje replikacji w rozproszonych BD Rodzaje replikacji: - synchroniczna - asynchroniczna Dodatkowe funkcje replikacji: skalowanie, transformowanie danych, obsługa obiektów BD, mechanizmy subskrypcji i inicjacji Warianty replikacji: pełna i częściowa (migawka), Zestaw replik składa się z wzorca (utworzonego onego z BD) i replik poszczególnych użytkowników Modele własności danych: - nadrzędny/podrzędny, - przekazywany, - swobodny. 45 Synteza projektowania rozproszonej bazy danych Relacje globalne FRAGMENTACJA REPLIKACJA Relacje fragmentowane Relacje replikowane ALOKACJA Relacje lokalne 46

Projektowanie alokacji w rozproszonej bazie danych F={F1, F2,...F3} W={W1, W2,... W3} Z={Z1, Z2,...Z3} fragmenty węzły zapytania (aplikacje) fragmenty nie są indywidualnymi relacjami dostęp do bazy bardziej złożony konieczność rozważenia kosztów integralności konieczność rozważenia kosztów współbieżności ==> Optymalizacja: * minimalny koszt (komunikacja, pamięć, przetwarzanie) * wykonanie (czas reakcji) * ograniczenia (węzły, pamięć, przetwarzanie) 47 Projektowanie alokacji w rozproszonej bazie danych W procedurze alokacji istotne informacje to: BD: selektywność i rozmiar fragmentów aplikacja: typ i liczba dostępów, lokalizacja dostępu węzeł: koszt pamiętania i przetwarzania fragmentu w węźle Ograniczenia przy projektowaniu alokacji są następujące: koszt przetwarzania zapytania koszt i zakres przesyłania danych przepustowość: suma zapytań ładowanych do węzła <= wydajność węzła czas reakcji: czas realizacji zapytania <= max. dopuszczalnego czasu pamięć: wymagana suma pamięci dla fragmentów <= dostępnej pamięci. 48

Katalog systemowy rozproszonej bazy danych Zawartość katalogu systemowego (KSRBD): dane o strukturach i użytkownikach BD (schemat i podschematy BD, indeksy, użytkownicy itp.) dane dotyczące przetwarzania rozproszonego (fragmentacja, alokacja, replikacja) Warianty przechowywania KSRBD: Scentralizowany (cały katalog w wybranym węźle) Powielony (cały katalog w każdym węźle) Podzielony (każdy węzeł utrzymuje katalog dla własnych obiektów; cały katalog jest sumą wszystkich katalogów lokalnych) Mieszany (1+3; utrzymywanie własnego katalogu, kopie przechowywane w węźle centralnym) 49 Zapytania równoległe Zapytania równoległe występują, jeśli w komputerze jest więcej niż jeden procesor. SQL Server identyfikuje zapytania, które mogłyby być wykonywane równolegle, za pomocą kilku wątków systemu operacyjnego i wstawia do planu wykonania tzw. operatory wymiany. Operatory wymiany zarządzają procesem redystrybucji danych i sterowaniem przepływu jest to tak zwany plan wykonania zapytań równoległych. Może on korzystać z więcej niż jednego wątku, przy czym liczbę wątków nazywamy stopniem nierównoległości. SQL Server sam ustala optymalna liczbę wątków przy każdym uruchomieniu zapytania. 50

Zapytania rozproszone Zapytania rozproszone umożliwiają: dostęp do danych na tym samym lub innych komputerach, dostęp do rozproszonych danych przechowywanych na wielu komputerach z uruchomionym SQL Serverem, dostęp do niejednorodnych danych z różnych relacyjnych i nierelacyjnych baz danych, jak również do danych przechowywanych w nierelacyjnych źródłach, takich jak arkusze kalkulacyjne czy pliki tekstowe. Wymagają one obecności albo dostawcy OLE DB, implementującego niezbędne interfejsy OLE DB (API), albo sterownika ODBC. Jeśli korzystamy z dostawcy OLE DB, możemy posługiwać się instrukcjami Transact-SQL, które są takie same jak instrukcje dla normalnej tabeli SQL Servera. 51 Zapytania rozproszone Zapytania rozproszone są podobne do mechanizmu tabel połączonych w MS Access. Mechanizm ten jest wbudowany w SQL Serverze poprzez OLE DB, jak interfejs do danych zewnętrznych. Aby uzyskać dostęp do źródła danych zewnętrznych OLE DB z serwera SQL trzeba podać: nazwę dostawcy OLE DB, informacje wymagane przez OLE DB do zlokalizowania źródła danych, identyfikatory logowania dla źródła danych, nazwę obiektu (zdalnej tabeli) lub zapytania, które spowoduje udostępnienie zestawu rekordów przez dostawcę OLE DB. 52

Zapytania rozproszone Stosowane są techniki: Kwerenda ad hoc, wykorzystująca funkcję OPENROWSET. Należy podać potrzebne informacje do połączenia ze eźródłem danych OLE DB, oraz nazwę ę obiektu lub zapytania generującego zestaw rekordów - stosowana, przy dorywczym korzystaniu z danych. Kwerenda serwera połączonego, umożliwiająca stały dostęp do źródła danych OLE DB, stosowana przy częstym korzystaniu z zapytań rozproszonych. W celu uzyskania stałego dostępu do danych można użyć nazwy dołączonego serwera, zdefiniowanej za pomocą procedury przechowywanej sp_addlinkedserver. Serwer połączony jest ze źródłem danych OLE DB, które jest wstępnie rejestrowane na lokalnym serwerze SQL, a więc, przy odwołaniu lokalny serwer zna lokalizację zdalnych danych. 53 Wykonywanie zapytań Jawne zapytania (Ad Hoc) Wydzielenie Rozwiązanie istotnych danych Parse Optymalizacja Kompilacja Wykonanie Parse Parse Ukryte zapytania Pierwsze wykonanie Wydzielenie y informacji Rozwiązanie Optymalizacja Kompilacja Wykonanie istotnych Parse Parse Parse Kolejne wykonanie Procedura ukrycia Wykonanie 54

Zapytania rozproszone Kwerendy rozproszone mogą być przetwarzane: na lokalnym serwerze, na zdalnym serwerze, będącym źródłem danych OLE DB, za pośrednictwem kwerendy przekazującej OPENQUERY Za pomocą zapytań rozproszonych nie można tworzyć nowych tabel, ani modyfikować już istniejących. Dane w zdalnej tabeli można aktualizować lub usuwać tylko wtedy, gdy ma ona unikatowy indeks. 55 Wykonywanie kwerendy ad hoc na zdalnym źródle danych Funkcji OPENROWSET należy używać w przypadku, gdy nie jest przewidywany stały dostęp do źródła danych Funkcji OPENROWSET należy używać przy dostępie do danych zdalnych bez ustawiania serwera połączonego OPENROWSET ( nazwa_dostawcy { źródło_danych ; id_uzytkownika ; hasło ciąg_dostawcy }, {[katalog.][schemat.]obiekt kwerenda }) SELECT a.* FROM OPENROWSET('SQLOLEDB', 'LONDON1'; 'newcustomer';'mypassword', 'SELECT productid, unitprice FROM northwind.dbo.products ORDER BY unitprice') AS a 56

Konfigurowanie środowiska serwerów Lokalny serwer SQL Serwer SQL pozwala na dostęp do innych źródeł danych Serwery zdalne muszą być połączone z lokalnym komputerem, na którym znajduje się serwer SQL połączonych Zdalny serwer SQL Zdalny serwer SQL Inne źródła danych Serwer połączony jest źródłem danych OLE DB, 57 Konfigurowanie środowiska serwerów połaczonych Polega na ustanowienia połączenia ze zdalnym źródłem danych i ustanowieniu zabezpieczeń pomiędzy serwerami Łączenie i ze zdalnym serwerem SQL Sp_addlinkedserver { serwer, nazwa_produktu, nazwa_dostawcy, źródło_danych, lokalizacja, ciąg_dostawcy } EXEC sp_addlinkedserver @server = 'AccountingServer', @product_name = 'SQL Server' Łączenie ze źródłem danych OLE DB EXEC sp_addlinkedserver @server = 'OracleFinance', @product_name = 'Oracle', @provider_name = 'MSDAORA', @data_source = 'OracleDB' 58

Ustanawianie zabezpieczeń dla serwerów połączonych Przy wykonywaniu kwerendy rozproszonej lokalny serwer musi zalogować się do zdalnego serwera w imieniu użytkownika Jeżeli konto logowania użytkownika istnieje na obu serwerach, można go użyć do zalogowania się do zdalnego serwera Przy użyciu procedury sp_addlinkedsrvlogin można mapować konta logowania i hasła pomiędzy serwerami Bez delegowania bezpieczeństwa, należy mapować lokalne konto logowania na konto logowania serwera połączonego Sp_addlinkedsrvlogin { nazwazdalserw } [, użyjwłasn [,lokalnekonto [, zdalużytkownik [, zdalhasło ] ] ] ] EXEC sp_addlinkedsrvlogin @rmtsrvname = AccountingServer, @useself = false, @locallogin = 'Accountwriter', @rmtuser = 'rmtaccountwriter', @rmtpassword = 'financepass' 59 Informacje o serwerach połączonych Systemowa procedura przechowywana sp_linkedservers sp_catalogs sp_indexes sp_primarykeys sp_foreignkeys sp_tables_ex sp_columns_ex Zwraca Listę serwerów połączonych zdefiniowanych na lokalnym serwerze Listę katalogów i opisów dla określonego serwera połączonego Informacje o indeksach dla określonej zdalnej tabeli Kolumny klucza podstawowego dla określonej tabeli, jeden wiersz na kolumnę Klucz obcy zdefiniowany dla określonej zdalnej tabeli Informacje dotyczące tabel z określonego serwera połączonego Informacje dotyczące kolumn dla tabeli połączonej, dla wszystkich kolumn lub określonej kolumny 60

Praca z serwerami połączonymi Podczas wykonywania kwerend rozproszonych należy odwołać się do obiektów na serwerach połączonych, za pomocą czteroczęściowej nazwy w postaci: nazwa_serwera_połączonego.nazwa_katalogu. ł nazwa_schematu.nazwa_obiektu Dozwolone instrukcje języka Transact-SQL SELECT z klauzulą WHERE lub JOIN, INSERT, UPDATE, DELETE Niedozwolone instrukcje języka Transact-SQL CREATE, ALTER, DROP ORDER BY dla zdalnych tabel zawierających duże obiekty READTEXT, WRITETEXT, UPDATETEXT Kwerendy serwera połączonego są przetwarzane lokalnie 61 Wykonywanie kwerend na serwerze połączonym Aby wykonać kwerendę przekazującą na serwerze połączonym, należy wykonać funkcję OPENQUERY W miejscu nazwy tabeli w instrukcji SELECT można użyć funkcji OPENQUERY Jako tabeli docelowej instrukcji INSERT, UPDATE lub DELETE można użyć wyniku funkcji OPENQUERY SELECT companyname FROM AccountingServer.northwindremote.dbo.suppliersnorthwindremote dbo SELECT * FROM OPENQUERY (AsiaServer, 'SELECT productid, royalty FROM Northwind.dbo.ProductInfo') 62

Wykonywanie procedury przechowywanej na serwerze połączonym Serwer lokalny Wywołanie procedury przechowywanej Serwer zdalny Parametry i wyniki Przetwarzanie zdalnych procedur Klient połączony z jednym serwerem SQL może wykonywać procedury przechowywane na innym serwerze SQL bez potrzeby ustanowienia połączenia z tym serwerem Użytkownik EXEC accounting.master.dbo.sp_helpntgroup EXECUTE nazwa_serwera.nazwadb.właściciel.nazwa_procedury 63 Modyfikowanie danych na serwerze połączonym Transakcję rozproszoną można rozpocząć przez: Wykonanie instrukcji BEGIN DISTRIBUTED TRANSACTION -LUB- Wywołanie funkcji API z klienta Należy rozważyć następujące fakty: Instrukcje BEGIN DISTRIBUTED TRANSACTION nie mogą być zagnieżdżone Instrukcja ROLLBACK TRANSACTION anuluje całą transakcję rozproszoną Punkty kontrolne zapisu nie są obsługiwane. Jeśli serwer SQL anuluje transakcję rozproszoną, to jest ona cała anulowana od początku Pomiędzy serwerami połączonymi należy ustawić opcję sesji XACT_ABORT - wtedy w przypadku niepowodzenia transakcja zostanie anulowana. W przeciwnym przypadku anulowana będzie tylko jedna instrukcja. 64

Dystrybucja danych MS DTC Replikacja AKTUALIZACJA AKTUALIZACJA AKTUALIZACJA Replikacja Program MS Distributed Transaction Coordinator kontroluje transakcje rozproszone i zapewnia ich integralność i zgodność aktualizacji danych 65 Replikacja danych Replikacja danych jest to generowanie i utrzymywanie kopii danych w jednym bądź więcej węzłach przetwarzania i ich automatyczna synchronizacja. Zastosowania replikacji są następujące: Zarządzanieą wielokrotnymi kopiami danych w różnych lokalizacjach. Przenoszenie informacji bliżej użytkowników, którzy ich potrzebują. Większa autonomia punktów aktualizujących dane. Udział w strategii bezpieczeństwa. Wsparcie dla systemów wspomagania decyzji oraz hurtowni danych. Można wykonać replikację między bazą źródłową (source database) i bazą docelową (destination database), w przypadku gdy obie bazy są na tym samym serwerze sieciowym, jak również na różnych serwerach, połączonych siecią LAN, WAN lub poprzez Internet. 66