Konstrukcja system - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

Konstrukcja system

Description:

Konstrukcja system w obiektowych i rozproszonych Wyk ad 9: Wprowadzenie do rozproszonych baz danych (1) Wyk adowca: Kazimierz Subieta Polsko-Japo ska Wy sza Szko a – PowerPoint PPT presentation

Number of Views:88
Avg rating:3.0/5.0
Slides: 21
Provided by: subi7
Category:

less

Transcript and Presenter's Notes

Title: Konstrukcja system


1
Konstrukcja systemów obiektowych i rozproszonych
Wyklad 9 Wprowadzenie do rozproszonych baz
danych (1)
Wykladowca Kazimierz Subieta Polsko-Japonska
Wyzsza Szkola Technik Komputerowych,
Warszawa subieta_at_pjwstk.edu.pl Instytut Podstaw
Informatyki PAN, Warszawa subieta_at_ipipan.waw.pl
2
Co to jest system rozproszony?
  • Systemem rozproszonym nazywamy taki system, w
    którym przetwarzanie informacji odbywa sie na
    wielu komputerach, czesto znacznie oddalonych
    geograficznie (od kilku metrów do dziesiatków
    tysiecy kilometrów).
  • Przeciwienstwem jest system izolowany lub
    scentralizowany.
  • Obecnie wlasciwie wszystkie systemy sa
    rozproszone.
  • Ogromnym katalizatorem rozproszenia systemów jest
    Internet.
  • Projektowanie i wlasnosci systemów rozproszonych
    w duzej mierze sa takie same jak systemów
    scentralizowanych, ale istnieja takze istotne
    róznice, który specjalista inzynierii
    oprogramowania musi byc swiadomy.
  • Tendencja do budowy systemów rozproszonych jest
    pochodna rozbudowy tanich, szybkich,
    uniwersalnych i niezawodnych sieci komputerowych.
  • Przyklady systemów rozproszonych siec
    bankomatów, system rezerwacji biletów, system
    pracy grupowej, itd.
  • Nowa jakosc do tematu systemów rozproszonych
    wnosza sieci P2P (Peer-To-Peer) oraz technologie
    gridowe (grid computing).

3
Zalety systemów rozproszonych (1)
  • Podzial zasobów system rozproszony pozwala
    dzielic zasoby sprzetowe i programowe pomiedzy
    wielu uzytkowników pracujacych na róznych
    komputerach pracujacych w sieci.
  • Otwartosc jest ona definiowana jako zdolnosc
    systemu do dolaczania nowego sprzetu,
    oprogramowania i uslug.
  • Najlepiej na platformach sprzetowych i systemach
    operacyjnych dostarczanych przez róznych
    dostawców.
  • Wspólbieznosc w systemie rozproszonym wiele
    procesów moze dzialac w tym samym czasie na
    róznych komputerach w sieci.
  • Procesy te moga komunikowac sie podczas swego
    dzialania.
  • Skalowalnosc Moc i mozliwosci przetwarzania moze
    wzrastac w miare dodawania do systemu nowych
    zasobów, w szczególnosci komputerów.
  • W praktyce skalowalnosc jest czesto ograniczona
    poprzez przepustowosc sieci oraz (niekiedy)
    poprzez np. specyficzne protokoly wymiany
    informacji.
  • Niemniej skalowalnosc systemu rozproszonego jest
    nieporównywalnie lepsza w stosunku do systemu
    scentralizowanego.

4
Zalety systemów rozproszonych (2)
  • Tolerancja bledów Dostepnosc wielu komputerów
    oraz umozliwienie zdublowania informacji
    (replikacje) oznacza, ze rozproszony system jest
    tolerancyjny w stosunku do pewnych bledów zarówno
    sprzetowych jak i programowych.
  • Np. awaria wezla komunikacyjnego powoduje
    wygenerowanie innej trasy przeplywu informacji.
  • Przezroczystosc Oznacza ukrycie przed
    uzytkownikiem szczególów rozproszenia, np. gdzie
    ulokowane sa zasoby lub jak sa one fizycznie
    zaimplementowane, pod jakim systemem pracuja,
    itd.
  • Przezroczystosc ma zasadnicze znaczenie dla
    komfortu dzialania uzytkownika oraz dla
    niezawodnosci budowanego oprogramowania.
  • Niekiedy, np. dla celów optymalizacyjnych,
    uzytkownik moze zrezygnowac z pelnej
    przezroczystosci.
  • Przykladem przezroczystosci jest Internet
    klikajac w aktywne pole na stronie WWW nie
    interesujemy sie, gdzie znajduje sie
    odpowiadajaca mu strona, oraz jak i na czym jest
    zaimplementowana.

5
Wady systemów rozproszonych
  • Zlozonosc systemy rozproszone sa trudniejsze do
    zaprogramowania i do administrowania niz systemy
    scentralizowane.
  • Zaleza od wlasnosci sieci, np. jej przepustowosci
    i czasu transmisji, co utrudnia zaprojektowanie i
    zrealizowanie wielu algorytmów i procesów
    przetwarzania.
  • Ochrona Dla systemu scentralizowanego wystarcza
    w zasadzie straznik z karabinem. System
    rozproszony nie moze byc chroniony w ten sposób,
    przez co moze byc narazony na róznorodne ataki
    (wlamania, wirusy, sabotaz, odmowa platnosci,
    itd.) z wielu stron, które trudno zidentyfikowac.
  • Zdolnosc do zarzadzania jest ona utrudniona
    wskutek tego, ze konsekwencje róznych dzialan
    administracyjnych w systemie rozproszonym sa
    trudniejsze do zidentyfikowania.
  • Podobnie z przyczynami sytuacji anormalnych, w
    szczególnosci awarii.
  • Nieprzewidywalnosc system rozproszony jest
    nieprzewidywalny w swoim dzialaniu, poniewaz
    zaklócenia moga byc powodowane przez wiele
    przyczyn mala przepustowosc i awarie laczy,
    awarie komputerów, zbyt duze obciazenie danego
    serwera, lokalne decyzje administracji serwera,
    itd. patrz WWW.

6
Krytyczne zagadnienia projektowe dla systemów
rozproszonych
  • Identyfikacja zasobów zasoby sa podzielone
    pomiedzy wiele komputerów, w zwiazku z czym
    schematy ich nazywania musza byc zaprojektowane
    tak, aby uzytkownicy mogli zidentyfikowac
    interesujace ich zasoby.
  • Przykladem takiego schematu jest URL znany z WWW.
  • Komunikacja moze byc zaprojektowana w sposób
    uniwersalny, na bazie np. protokolu internetowego
    TCP/IP.
  • Niektóre wymagania dotyczace szybkosci, kosztu,
    niezawodnosci lub bezpieczenstwa moga prowadzic
    do specjalnych technik komunikacyjnych.
  • Jakosc obslugi odzwierciedla wydajnosc systemu,
    jego dostepnosc i niezawodnosc.
  • Podlega ona wielu czynnikom, w szczególnosci,
    przypisaniu zadan do procesorów, optymalnosci
    geograficznego podzialu danych, itd.
  • Architektura oprogramowania opisuje ona w jaki
    sposób funkcjonalnosci systemu sa przypisane do
    logicznych i fizycznych komponentów systemu.
    Wybór dobrej architektury przesadza o spelnieniu
    kryterium jakosci obslugi.

7
Popularne architektury rozproszenia
  • Klient-serwer rozproszony system ma wyrózniony
    wezel zwany serwerem, oraz szereg podlaczonych do
    niego wezlów zwanych klientami.
  • Zwiazek nie jest symetryczny serwer wykonuje
    uslugi zlecane przez klientów, nie moze im
    odmówic i nie moze im zlecic wykonanie uslug.
  • Klient-multi-serwer podobnie jak dla
    architektury klient-serwer, ale istnieje wiele
    serwerów, np. WWW.
  • Kolezenska (peer-to-peer, P2P) wiele wezlów
    swiadczy sobie wzajemne uslugi poprzez
    bezposrednie polaczenie nie ma wyraznego
    podzialu na uslugodawców i uslugobiorców.
  • Np. Gnutella, NXOR, Napster, Kazaa JXTA jako
    narzedzie do P2P.
  • Komercyjny buzz dookola P2P.
  • Architektura oparta na oprogramowaniu
    posredniczacym (middleware) nie wystepuje
    podzial na klientów i serwery, np. CORBA i
    WebServices.
  • Architektury gridowe wirtualny komputer sumujacy
    zasoby wielu komputerów w sposób przezroczysty
    dla uzytkowników.

8
Co to jest rozproszona baza danych?
distributed database
  • Termin ten jest powtarzany w wielu kontekstach,
    czesto bez przypisywania mu konkretnego,
    technicznego znaczenia.
  • Czy to, ze z pewnego systemu mozna dostac sie do
    danych innego odleglego systemu jest
    wystarczajacym wyróznikiem rozproszonej bazy
    danych?
  • Dla wielu zastosowan cecha ta jest istotna, ale
  • Rozproszona baza danych musi spelniac okreslone
    kryteria dotyczace spójnosci, bezpieczenstwa,
    zintegrowania i wygody uzytkowników.
  • Mozliwosc dostania sie do danych innego systemu
    (np. poprzez pakiety oparte o technologie ODBC,
    JDBC, .NET, CORBA, J2EE, WebServices) oznacza
    wylacznie ustanowienie niezbednej bazy
    technicznej.
  • Fakt ten nie przesadza jednak o tym, czy zachodza
    dostateczne warunki dla sprawnego, efektywnego
    oraz niezawodnego wykorzystywania danych.

9
Podstawowe pojecia zwiazane z rozproszeniem
  • Rozproszona baza danych zbiór skladajacy sie z
    wielu logicznie ze soba powiazanych elementów
    bazy danych, oddalonych geograficznie i
    polaczonych ze soba poprzez siec komputerowa.
  • System zarzadzania rozproszona baza danych
    (SZRBD) oprogramowanie umozliwiajace polaczenie
    rozproszonych zasobów w jedna calosc, utrzymanie
    spójnosc zasobów oraz udostepnianie ich
    uzytkownikom przy zalozeniu przezroczystosci
    rozproszenia.
  • Dane sa przechowywane w wielu miejscach - wezlach
    sieci.
  • Rozproszona baza danych jest baza danych, a nie
    kolekcja plików, które moga byc indywidualnie
    przechowywane w kazdym wezle sieci komputerowej.
  • SZRBD posiada pelna funkcjonalnosc systemu
    zarzadzania scentralizowana BD.
  • Nie jest to system zarzadzania rozproszonymi
    plikami, ani tez wylacznie system przetwarzania
    transakcji.

10
Przyklad rozproszonej bazy danych
  • Rozproszona baza danych dla linii lotniczych
    (biuro obslugi klienta w Warszawie moze dostac
    sie do danych linii lotniczych w Sydney, Tokio,
    Paryzu, i setkach innych miast).
  • Jezeli w kazdym miejscu organizacja bazy danych,
    srodki manipulacji, reguly dostepu, itd. bylyby
    inne, to praca bylaby bardzo utrudniona, o ile w
    ogóle mozliwa.
  • Zatem konieczne sa
  • standardy w zakresie polaczenia (protokoly),
  • standardy w zakresie organizacji danych i dostepu
    do danych,
  • moduly dla odwzorowania pewnej specyficznej bazy
    danych na format oczekiwany przez danego klienta,
  • przezroczystosc rozproszenia (a la CORBA),
  • zabezpieczenia przed niepowolanym dostepem.

11
Tematy zwiazane z rozproszonymi BD (1)
  • Architektury rozproszonego przetwarzania bazy
    danych oparte o architekture klient-serwer, bazy
    danych oparte o schemat globalny.
  • Federacyjne bazy danych - (przezroczyste)
    polaczenie wielu (relewantnych czesci)
    heterogenicznych i autonomicznych baz danych w
    jedna calosc.
  • Przetwarzanie transakcji w rozproszonych bazach
    danych globalne transakcje, lokalne transakcje,
    dwufazowe i trójfazowe potwierdzenie (two-phase
    commit, 2PC).
  • Dlugie transakcje, wymagajace oslabienia poziomu
    izolacji i minimalizujace ryzyku utraty juz
    wykonanej pracy.
  • Wspóldzialanie heterogenicznych, autonomicznych,
    rozproszonych (Heterogeneous, Autonomous,
    Distributed, HAD) baz danych (okreslane takze
    jako wspóldzialanie multi baz danych,
    multidatabase interoperability).
  • Replikacje, czyli utrzymywanie kopii danych w
    wielu miejscach w rozproszonych bazach danych.

12
Tematy zwiazane z rozproszonymi BD (2)
  • Rozproszone przetwarzanie zapytan optymalizacja
    zapytan w sytuacji rozproszenia zasobów.
  • Mediatory, oslony, adaptery, perspektywy baz
    danych.
  • Systemy operacyjne dla podtrzymywania
    rozproszenia OSF DCE i inne systemy oparte o
    wolanie odleglej procedury (Remote Procedure
    Call, RPC).
  • Podtrzymywanie róznych form niewidocznosci
    rozproszenia (distribution transparency) dla
    programistów i klientów baz danych.
  • Standardy w zakresie rozproszenia OMG CORBA,
    DCOM firmy Microsoft, RMI i Java Beans, OpenDoc,
    ActiveX, WebServices.
  • Posrednicy (broker, ORB) wg standardu CORBA, np.
    Orbix, Visibroker.
  • Sieci Peer-To-Peer (P2).
  • Technologie gridowe.

13
Tematy zwiazane z rozproszonymi BD (3)
  • Srodki wspomagajace rozproszenie bazy danych i
    rozproszone przetwarzanie zrealizowane w
    konkretnych systemach relacyjnych (Oracle,
    Sybase, Ingres, i inne), post-relacyjnych lub
    obiektowo-relacyjnych (Informix Universal Server,
    DB2 Universal Database, Oracle8, UniSQL/X, OSMOS,
    OpenIngres, Sybase Adaptive Server i inne) oraz
    obiektowych (Gemstone, Versant, O2,
    Objectivity/DB, ObjectStore i inne).
  • Niezawodnosc, spójnosc, bezpieczenstwo i
    prywatnosc w rozproszonych bazach danych.
  • Rozproszone bazy danych w sieciach Internet oraz
    Intranet.
  • Rozproszenie danych i przetwarzania w systemach
    pracy grupowej oraz systemach zarzadzania
    przeplywem pracy.

14
Rozproszone BD relacyjne czy obiektowe?
  • Prace prowadzone nad rozproszonymi BD (w ciagu
    ostatnich 20-tu lat), byly oparte glównie o
    relacyjny model danych.
  • czesc tych badan nie uzyskala sukcesu, np.
    przetwarzanie zapytan.
  • Zaletami modelu relacyjnego jest prosta,
    ujednolicona struktura danych oraz prosta
    organizacja katalogów bazy danych.
  • W ostatnich latach obserwuje sie odchodzenie od
    modelu relacyjnego w strone modeli obiektowych.
  • Zlozonosc samego problemu rozproszenia danych
    jest prawdopodobnie niezalezna od modelu danych.
  • Niektóre metody systemów relacyjnych zwiazane z
    rozproszeniem daja sie przeniesc na grunt
    systemów obiektowych.
  • Problemy nowe metamodel (ontologia),
    przetwarzanie zapytan.
  • W przeciagu najblizszych 10-ciu lat obiektowosc
    bedzie prawdopodobnie odgrywac glówna role w
    rozwijaniu koncepcji rozproszonych baz danych, w
    róznych wariantach, np. XML/RDF.

15
Reguly rozproszonych baz danych (1)
  • 12 regul w praktyce spelnienie wszystkich jest
    trudne lub niemozliwe. Jest to spekulacyjny
    ideal.
  • Autonomia lokalnych BD lokalne dane powinny
    podlegac lokalnym regulom wlasnosci i powinny byc
    zarzadzane lokalnie. Dotyczy to funkcji
    zwiazanych z bezpieczenstwem, integralnoscia i
    reprezentacja wewnatrz pamieci. Wyjatki dotycza
    sytuacji, kiedy wiezy integralnosci musza
    obejmowac jednoczesnie wiele miejsc oraz
    sytuacji, kiedy rozproszone transakcje musza byc
    sterowane przez pewne zewnetrzne miejsce.
  • Brak podporzadkowania przetwarzania do
    konkretnego miejsca unikniecie waskich gardel
    dzieki decentralizacji wszystkich funkcji
    rozproszonego SZBD.
  • Ciaglosc funkcjonowania Przestoje w wykonywaniu
    operacji nie powinny byc skutkiem dodania nowych
    miejsc, ich usuniecia ze srodowiska rozproszonej
    BD, dokonania zmian w meta-informacji lub
    unowoczesnienia wersji SZBD w pewnym
    indywidualnym miejscu.

16
Reguly rozproszonych baz danych (2)
  • Niezaleznosc od lokalizacji Uzytkownicy lub
    programy aplikacyjne nie musza wiedziec, gdzie
    dane sa fizycznie przechowywane.
  • Niezaleznosc od fragmentacji Fragmenty jednego
    zbioru danych moga byc przechowywane i zarzadzane
    przez rozproszony SZBD jako jedna calosc, bez
    uswiadamiania uzytkowników lub aplikacji o
    sposobie ich rozczlonkowania.
  • Pozadana wlasnoscia rozproszonego SZBD jest to,
    aby w sposób automatyczny unikal przetwarzania
    nierelewantnych fragmentów.
  • Np. jezeli grupa obiektów jest podzielona
    geograficznie ze wzgledu na atrybuty w ten
    sposób, ze atrybuty A1...Am sa w miejscu X, zas
    atrybuty Am1...An sa w miejscu Y, i konkretne
    zapytanie odwoluje sie wylacznie do atrybutów
    A1...Am, nalezy pominac odwolania do miejsca Y
    podczas realizacji tego zapytania.
  • Podobnie, fragmenty tej samej tabeli w róznych
    miejscach rozproszonej bazy danych powinny byc
    widocznej jako jedna tabela.

17
Reguly rozproszonych baz danych (3)
  • Niezaleznosc od replikacji Istnienie replik
    danych w wielu miejscach, ich pojawianie sie lub
    usuwanie nie powinno wplywac na postepowanie
    uzytkowników ani na poprawnosc badz spójnosc
    aplikacji.
  • Rozproszone przetwarzanie zapytan System
    powinien zapewniac sprawne przetwarzanie
    rozproszonych zapytan umozliwiajace zredukowanie
    zarówno czasu przetwarzania, jak i obciazenia
    sieci transmisji danych.
  • Zarzadzanie rozproszonymi transakcjami Zasady
    zarzadzania transakcjami oraz sterowania
    wspólbieznoscia powinny obowiazywac dla operacji
    w rozproszonej bazie danych. Zasady te wlaczaja
    wykrywanie i usuwanie zakleszczen (deadlocks),
    zarzadzanie przekroczeniami dopuszczalnego czasu
    (timeout), rozproszone protokóly potwierdzenia
    (commit) i odwracania (rollback), oraz inne
    metody.
  • Niezaleznosc od sprzetu oprogramowanie
    rozproszonego SZBD powinno pracowac na róznych
    platformach sprzetowych.

18
Reguly rozproszonych baz danych (4)
  • Niezaleznosc od systemu operacyjnego
    oprogramowanie rozproszonego SZBD powinno
    pracowac pod róznymi systemami operacyjnymi.
  • Niezaleznosc od sieci Miejsca moga byc polaczone
    poprzez szeroka game srodowisk sieciowych i
    komunikacyjnych. Modele warstwowe istniejace dla
    wspólczesnych protokólów komunikacyjnych
    (obowiazujace w wiekszosci obecnych systemów
    informacyjnych, takich jak OSI 7, TCP/IP, warstwy
    SNA i DECnet) zapewniaja srodki do osiagniecia
    tego celu nie tylko dla rozproszonych baz danych,
    lecz w ogólnosci dla systemów informacyjnych.
  • Niezaleznosc od SZBD Powinno byc mozliwe
    przylaczenie do rozproszonej bazy danych lokalnej
    bazy danych zarzadzanej przez dowolny lokalny
    SZBD.

19
Regula niezaleznosc od centralnego miejsca
  • Rozproszona baza danych nie moze zalezec od
    jednego, centralnego miejsca odpowiedzialnego za
    calosc funkcjonowania.
  • No single point failure, no concentration
    points
  • Zaleznosc taka moze "wkrasc sie" niepostrzezenie,
    jako konsekwencja pewnych (wydawaloby sie
    drugorzednych) decyzji projektowych, np.
    powolanie jednego serwera nazw, lub rejestracja
    nowych miejsc przylaczajacych sie do rozproszonej
    bazy danych.
  • Zaleznosc taka jest niekorzystna, gdyz
  • Centralne miejsce moze stac sie waskim gardlem
    dla operacji na danych
  • Awaria centralnego miejsca powoduje awarie calej
    rozproszonej bazy danych.
  • Dla niektórych zastosowan brak centralnego
    miejsca jest niekorzystny
  • z powodu nadmiernego wzrostu obciazenia sieci
    zwiazanego z wymiana metadanych
  • z powodu zbyt niskiej wydajnosci (indeksy w
    jednym miejscu)
  • z powodów biznesowych centralne miejsce jest
    wygodne dla kontrolowania pozostalych miejsc.

20
Nazwy elementów danych w rozproszonych BD
  • Problem nazywania i identyfikacji danych w
    rozproszonych BD staje sie znacznie bardziej
    trudny niz w scentralizowanych BD.
  • Kryteria zarzadzania nazwami
  • 1. Kazda dana, która ma byc niezaleznie
    identyfikowana w systemie rozproszonym, musi miec
    swoja unikalna nazwe (identyfikator).
  • 2. Nazwa powinna zapewniac efektywne odszukanie
    lokalizacji danej.
  • 3. Nazwa nie powinna utrudniac zmiany lokalizacji
    danej.
  • 4. Kazde lokalne miejsce w rozproszonej BD
    powinno powinno miec mozliwosc autonomicznego
    nadawania unikalnych nazw dla danych.
  • Centralny serwer nazw - nadaje wszystkie nazwy,
    udziela informacji o lokalizacji nielokalnych
    danych na podstawie ich nazw
  • nie spelnia warunku 4,
  • moze powodowac waskie gardlo dla transakcji,
  • jest pojedynczym powodem awarii calosci.
  • Rozwiazanie prefiksowanie nazwy identyfikatorem
    miejsca - trudnosci ze zmiana lokalizacji danych
    (przy zachowaniu tozsamosci).
Write a Comment
User Comments (0)
About PowerShow.com