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

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

Systemy rozproszonych baz danych 1

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

Bazy danych 2. Wykład 1

SZKOLENIE: Administrator baz danych. Cel szkolenia

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

Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa

Spis treści. Przedmowa

Bazy danych. Dr inż. Paweł Kasprowski

Oracle11g: Wprowadzenie do SQL

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

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

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

RELACYJNE BAZY DANYCH I ICH ZNACZENIE W SYSTEMACH INFORMACJI GEOGRAFICZNEJ

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

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

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

Architektury rozproszonych baz danych. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

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

Zarządzanie transakcjami

Wykład 2. Relacyjny model danych

Bazy danych i usługi sieciowe

Architektura i mechanizmy systemu

Wykład 8. SQL praca z tabelami 5

Politechnika Śląska, Instytut Informatyki

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

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Architektury i technologie integracji danych

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

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

1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) możemy określić do której grupy plików trafi

1 Instalowanie i uaktualnianie serwera SQL Server

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

Systemy rozproszonych baz danych 2

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

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

Bazy danych - wykład wstępny

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu:

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

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

Relacyjne bazy danych

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

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

Ogólne informacje o Systemie Archiwizacji ZEUS

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

Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca:

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

Alicja Marszałek Różne rodzaje baz danych

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

Wykład XII. optymalizacja w relacyjnych bazach danych

Systemy rozproszone System rozproszony

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

Hurtownie danych. 31 stycznia 2017

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

Programowanie obiektowe

Baza danych. Baza danych to:

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Bazy danych 2. dr inż. Tadeusz Jeleniewski

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

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Hurtownie danych wykład 5

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

Tadeusz Pankowski

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Fizyczna organizacja danych w bazie danych

Bazy danych. Dr inż. Paweł Kasprowski

Zasady transformacji modelu DOZ do projektu tabel bazy danych

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

Wprowadzenie do projektowania i wykorzystania baz danych Relacje i elementy projektowania baz

Architektura komputerów

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

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

Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe

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

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Hurtownie danych - przegląd technologii Robert Wrembel Politechnika Poznańska Instytut Informatyki Robert.Wrembel@cs.put.poznan.pl

Wrocławska Wyższa Szkoła Informatyki Stosowanej. Bazy danych. Dr hab. inż. Krzysztof Pieczarka.

Hurtownie danych - przegląd technologii

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

Ustawienie na poziomie sesji (działa do zmiany lub zakończenia sesji zamknięcia połączenia).

Bazy danych. Seminarium II.

Oracle PL/SQL. Paweł Rajba.

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

Wymagania dotyczące oprogramowania bazodanowego

Bazy danych i ich aplikacje

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

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

P o d s t a w y j ę z y k a S Q L

PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA

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

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

Technologia informacyjna

Baza danych. Modele danych

Dr Michał Tanaś(

PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NOWYM SĄCZU SYLABUS PRZEDMIOTU. Obowiązuje od roku akademickiego: 2011/2012

SQL Server. Odtwarzanie baz danych.

Transkrypt:

Rozproszone bazy danych Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW

Scentralizowana baza danych Dane są przechowywane w jednym węźle sieci Można utrzymywać jeden centralny system kontroli danych Dobre rozwiązanie jeśli kierowane z węzłów sieci do bazy danych transakcje dotyczą wszystkich danych, np. ogólnokrajowe rejestry WADY: Potencjalnie długi czas oczekiwania na rezultaty z odległego węzła sieci Brak kontroli nad danymi specyficznymi dla danego miejsca Generowanie dużego ruchu w sieci

Scentralizowana baza danych - przykład

Rozproszona baz danych System rozproszonej bazy danych składa się z zestawu miejsc lub węzłów połączonych za pomocą sieci łączności takich, że w każdym węźle ulokowany jest samodzielny system bazy danych. Systemy te pracują razem, więc użytkownik w dowolnym miejscu sieci może mieć dostęp do danych dokładnie taki, jakby wszystkie dane były przechowywane w jego własnym węźle

Rozproszona baza danych - przykład

Rozłożenie danych do węzłów Fragment danych stanowi pewien podzbiór wszystkich danych całej bazy danych przechowywany w jednym węźle sieci. Replika danych stanowi kopię całości lub jakiejś części danych przechowywanych w innym miejscu w sieci niż oryginał. Są dwa typy fragmentacji: pionowa i pozioma. Fragment poziomy stanowi podzbiór wierszy w tabeli, np. dane z jednego rejonu kraju. Obliczenie fragmentu poziomego uzyskuje się przez wykonanie operatora selekcji na podstawowej tabeli. Fragment pionowy stanowi podzbiór kolumn w tabeli, np. identyfikator, data urodzenia i zarobki pracowników. Wymaga się aby wśród wybranych kolumn znajdowały się kolumny klucza głównego. Obliczenie fragmentu pionowego uzyskuje się z tabeli podstawowej przez wykonanie rzutu na podzbiór kolumn zawierający w sobie klucz główny.

Rodzaje przezroczystości Przezroczystość geograficzna. Użytkownicy nie muszą wiedzieć, w którym dokładnie węźle są przechowywane dane, które oglądają. Przezroczystość fragmentacji. Użytkownicy nie muszą wiedzieć, w jaki sposób dane są podzielone. Przezroczystość replikacji. Użytkownicy nie muszą wiedzieć, w jaki sposób dane są replikowane i z której repliki pochodzą dane, które oglądają.

Zalety rozpraszania bazy danych Odwzorowanie w bazie danych geograficznego podziału organizacji. Większą kontrolę nad danymi można uzyskać przechowując je w miejscu, gdzie są one potrzebne. Utrzymywanie replik danych zwiększa dostępność danych i niezawodność systemu. Działanie systemu może się istotnie poprawić, jeśli dokona się prawidłowego rozproszenia danych.

System zarządzania rozproszoną bazą danych Słownik danych (katalog systemowy) rozproszonej bazy danych jest znacznie bardziej złożony. Obejmuje on na przykład informacje o położeniu fragmentów i replik tabel bazowych. Problemy związane ze współbieżnością są zwielokrotnione w systemach rozproszonych. Propagowanie aktualizacji do szeregu różnych węzłów jest skomplikowane. Gdy jest wiele kopii tego samego obiektu, problemy mogą się pojawić z utrzymaniem spójności danych. Optymalizator zapytań w prawdziwym systemie rozproszonym powinien być w stanie użyć właściwości topologiczne sieci Aby zapewnić odporność na awarie, system zarządzania rozproszoną bazą danych nie powinien być ulokowany w jednym miejscu.

Postulaty C.J. Date a 1. Lokalna autonomia - na każdym węźle działa niezależny system zarządzania bazą danych. 2. Uniezależnienie od centralnego węzła wszystkie węzły są równorzędne. 3. Działanie ciągłe operacje na sieci węzłów nie powinny mieć wpływu na funkcjonowanie systemu (jak dodanie czy usunięcie węzła). 4. Niezależność lokalizacji - użytkownik nie powinien być świadomy fizycznego umiejscowienia danych (przezroczystość lokalizacji). 5. Niezależność fragmentacji - użytkownik nie powinien być świadomy istnienia fragmentów i ich lokalizacji, dostęp do każdego fragmentu jest jednakowy i nie zależy od lokalizacji. 6. Niezależność replikacji - użytkownik nie powinien być świadomy istnienia replik, ich lokalizacji i czy korzysta z nich.

Postulaty C.J. Date a 7. Niezależność sprzętowa na jakim komputerze znajduje się węzeł. 8. Niezależność od systemu operacyjnego wyniki jakie uzyskuje użytkownik nie powinny zależeć pod jakim systemem działa komputer węzła. 9. Niezależność od SZBD wyniki jakie uzyskuje użytkownik nie powinny zależeć jaki SZBD jest zainstalowany w węźle. 10. Niezależność od sieci wyniki jakie uzyskuje użytkownik nie powinny zależeć od architektur i protokołów sieciowych. 11. Rozproszone zarządzanie transakcjami zaimplementowane są aksjomaty ACID dla transakcji działających na całej sieci węzłów. 12. Rozproszone przetwarzanie zapytań instrukcje SQL działają na danych rozmieszczonych we wszystkich węzłach sieci.

Transakcje rozproszone Zapytanie odległe, transakcja odległa dane do realizacji znajdują się w jednym, odległym węźle sieci. Zapytanie rozproszone, transakcja rozproszona dane do realizacji znajdują się w różnych węzłach sieci. Do kosztu wykonywania zapytania dochodzi koszt przesłań danych między węzłami w sieci i właśnie ten koszt ma największy wpływ na czas wykonywania zapytania

Zapytanie rozproszone - przykład SELECT AVG(e.pensja) FROM Etaty e WHERE e.id_osoby > 100 AND e.id_osoby < 1000 Fragmentacja pozioma: Załóżmy, że wiersze z e.id_osoby < 500 są w Krakowie, natomiast z e.id_osoby >= 500 w Warszawie. Aby wykonać zapytanie, obliczamy osobno w obu węzłach SUM(e.pensja) i COUNT(e.pensja) Gdyby w warunku WHERE e.id_osoby > 600, wtedy wykonywanie zapytania odbywałoby się tylko w jednym węźle Fragmentacja pionowa: Załóżmy, że kolumna e.pensja jest w Warszawie, e.id_osoby w Krakowie, natomiast e.id_etatu w obu bazach. Najprostsza metoda polega na sprowadzeniu danych potrzebnych do wykonania zapytania do jednego węzła i zrekonstruowaniu za pomocą operacji złączenia potrzebny fragment tabeli, po czym wykonaniu obliczenia. Inna polega na wykonaniu najpierw selekcji na e.id_osoby w Krakowie, przesłaniu wyliczonych wartości e.id_etatu do Warszawy i tam wykonaniu obliczeń na e.pensja.

Optymalizacja rozproszonego zapytania Trzeba uwzględnić koszty komunikacji między węzłami - koszty przesyłania danych siecią mają decydujące znaczenie dla wydajności wykonania zapytania rozproszonego. Trzeba podjąć decyzję, którą replikę wybrać, jeśli te same dane są dostępne w różnych węzłach. Trzeba wziąć pod uwagę specyfikę każdego węzła lokalnego (np. inny rodzaj SZBD). Trzeba wziąć pod uwagę specyficzne metody rozproszonego złączenia. W szczególności, w trakcie złączania, nie opłaca się przesyłać pojedynczego wiersza, ale od razu całą ich kolekcję.

Odświeżanie replik Synchroniczna replikacja. Zanim modyfikująca transakcja zostanie zatwierdzona dokonuje się aktualizacji wszystkich replik (obejmuje zakładanie blokad, wymianę komunikatów w sieci). Wynik odczytywania danych tabeli jest zawsze taki sam dla każdej jej repliki. Asynchroniczna replikacja. Kopie zmodyfikowanej tabeli są tylko okresowo aktualizowane metoda znacznie tańsza; ale chwilowo repliki mogą być nie zsynchronizowane ze zmodyfikowaną tabelą. Wynik odczytywania danych tabeli nie musi być zawsze taki sam dla każdej jej repliki. To samo zapytanie w różnych węzłach może dać różne wyniki.

Modyfikacje przez repliki Do tej pory repliki były niemodyfikowalne co oznacza, że operacje INSERT, DELETE i UPDATE są wyłącznie wykonywane bezpośrednio na tabeli-oryginale. Replika modyfikowalna jest to replika przez którą można dokonywać zmian w tabeli oryginale wykonując instrukcje INSERT/DELETE/UPDATE. Przy dokonywaniu modyfikacji przez replikę mamy dwie możliwości: wykonywać zmianę danych na tabeli oryginale w ramach tej samej transakcji co zmiana danych w replice; wykonywać zmianę danych najpierw tylko na replice, a dopiero potem zgodnie z określonymi procedurami przekazywać je do wykonania na tabeli oryginale Dla replik możliwe jest zastosowanie modelu optymistycznych blokad. Gdy oryginał został w międzyczasie zmieniony i zmiany zostały zatwierdzone, aktualizacja na replice zostałaby wycofana.

Rozproszone zatwierdzanie i odtwarzanie Nowe problemy: Mamy do czynienia z nowymi rodzajami awarii, np. związanymi z połączeniami sieciowymi i odległymi węzłami. Gdy "pod-transakcje" jednej transakcji są wykonywane w różnych węzłach, wszystkie razem wykonują COMMIT albo żadna z nich. Potrzebny jest specjalny protokół zatwierdzania. W każdym węźle jest utrzymywany odrębny dziennik (log) wykonywanych akcji, tak jak w scentralizowanej bazie danych. W tym dzienniku są odnotowywane akcje protokołu zatwierdzania. Transakcja rozproszona jest realizowana przez zbiór węzłów w sieci. Jest jeden wyróżniony węzeł, który inicjuje i koordynuje transakcję jest nazywany koordynatorem transakcji.

Problem integracji informacji Powiązane dane istnieją w różnych miejscach i może zaistnieć potrzeba jednoczesnego ich użycia przez jedną aplikację. Bazy danych bądź źródła danych mogą się różnić: modelem (np. relacyjny, obiektowo-relacyjny, hierarchiczny, XML, pliki MS Excel), schematem (np. znormalizowany, nieznormalizowany), terminologią (np. czy konsultanci firmy są pracownikami, czy emerytowani pracownicy są pracownikami), konwencjami (np. stopnie Celsjusza lub Fahrenheita; mile lub kilometry).

Trzy podejścia do integracji Hurtownia danych (Tylko-do-odczytu). Skopiuj dane źródłowe do centralnej bazy danych dokonując ich transformacji do wspólnego schematu. Mediator (najczęściej tylko-do-odczytu). Utwórz perspektywę wszystkich źródeł danych, tak jakby były zintegrowane. Federacja baz danych. Każda baza danych stanowi osobny system mający własnych użytkowników. Do realizacji pewnych specjalnych wspólnych zadań bazy danych tworzą federację w oparciu o określony mechanizm integrujący. Transakcje lokalne działają na lokalnych bazach danych. Transakcje globalne działają na federacji baz danych i zwykle składają się z kilku lokalnych transakcji. Przykład: system kontroli opłat abonamentowych TVP, komponenty federacji to niezależne bazy danych: Urzędu Miasta - dane meldunkowe obywateli; sieci sprzedaży RTV - dane o sprzedaży odbiorników RTV; Urzędu Radiofonii i TV - dane o płaconych abonamentach.

Pytania?