CREATE [UNDO] TABLESPACE nazwa przestrzeni tabel - PowerPoint PPT Presentation

1 / 74
About This Presentation
Title:

CREATE [UNDO] TABLESPACE nazwa przestrzeni tabel

Description:

Title: BAZY DANYCH Author: stasia Last modified by: stasia Created Date: 1/6/2003 2:25:52 PM Document presentation format: Pokaz na ekranie Company – PowerPoint PPT presentation

Number of Views:234
Avg rating:3.0/5.0
Slides: 75
Provided by: Sta1162
Category:

less

Transcript and Presenter's Notes

Title: CREATE [UNDO] TABLESPACE nazwa przestrzeni tabel


1
Tworzenie przestrzeni tabel
  • CREATE UNDO TABLESPACE nazwa przestrzeni tabel
  • DATAFILE nazwa pliku danych rozmiar
  • instrukcja przechowywania
  • BLOCKSIZE rozmiar K
  • TEMPORARY
  • EXTENT MANAGEMENT DICTIONARY
  • EXTENT MANAGEMENT LOCALAUTOALLOCATE
  • EXTENT MANAGEMENT LOCALUNIFORM SIZE rozmiar
    K/M
  • SEGMENT SPACE MANAGEMENT AUTO
  • SEGMENT SPACE MANAGEMENT MANUAL

2
Tworzenie przestrzeni tabel
UNDO parametr okresla, ze tworzona przestrzen
tabel bedzie zawierac informacje sluzace do
cofania operacji instrukcja przechowywania -
okresla nazwe pliku, rozmiar itp. BLOCKSIZE
tworzenie przestrzeni tabel o nie standardowych
rozmiarach bloków TEMPORARY przestrzen tabel
bedzie wykorzystywana jako tymczasowa EXTEND
MANAGEMENT okresla, czy przestrzen tabel bedzie
zarzadzana slownikiem danych, czy
lokalnie SEGMENT SPACE MANAGEMENT instrukcja
wykorzystywana do ustawienia automatycznego (za
pomoca bitmapy) badz recznego (za pomoca listy
wolnych bloków) zarzadzania wolna przestrzenia w
segmentach
3
segmenty, ekstenty i bloki danych
ekstent
plik danych
blok
segment
4
Ekstenty
  • Aby system zarzadzania baza danych Oracle osiagal
    max elastycznosc i jednoczesnie byl jak
    najbardziej wydajny, konieczne bylo stworzenie
    mechanizmu, w którym ciagle bloki bylyby tworzone
    i zarzadzane razem
  • Ekstent jest zbiorem ciaglych bloków
  • Taki zbiór bloków jest tworzony za kazdym razem,
    kiedy do obiektu wymagana jest dodatkowa
    przestrzen
  • Segmenty sa po prostu zbiorem ekstentów

5
Istnieje kilka typów segmentów
segment danych podstawowy typ segmentu, który
moze byc wykorzystywany do przechowywania tabel
oraz klastrów segment indeksu do
przechowywania indeksów segment przywracania
przechowywane sa informacje sluzace do
wycofywania operacji. Segmenty te zostaly
zastapione przestrzeniami tabel cofania segment
tymczasowy do przechowywania danych
generowanych podczas dzialania Oraclea. Moga byc
one uzywane do sortowania i zlaczen
6
Globalna przestrzen systemowa SGA
  • Globalna przestrzen systemowa SGA jest obszarem
    pamieci wspóluzytkowanej wykorzystywanym przez
    Oraclea do przechowywania informacji kontrolnych
    instancji Oraclea
  • SGA jest przydzielana podczas uruchamiania
    instancji i zwalniana podczas jej zatrzymywania

7
W sklad informacji zawartych w SGA wchodza
  • bufory pamieci podrecznej bazy danych
    przechowuja ostatnio uzywane bloki danych
  • bufory dziennika powtórzen czyli zmian
    wprowadzonych do bazy wykorzystywane do
    odtwarzania po awarii systemu
  • pula wspóluzytkowania struktury
    wspóluzytkowanej pamieci, takie jak
    wspóluzytkowany obszar SQL, wewnetrzne informacje
    slownika danych

8
Globalna przestrzen systemowa SGA
  • Dzieki temu, ze pamiec podreczna przechowuje
    bloki w oparciu o algorytm preferujacy ostatnio
    uzywane elementy, czesciej wykorzystywane bloki
    pozostaja w pamieci, co pozwala na zmniejszenie
    operacji we/wy i podniesienie wydajnosci

9
Budowa serwera bazy danych
  • Serwer bazy danych sklada sie z
  • Plików na dysku zawierajacych tabele z danymi i
    inne obiekty bazy danych oraz pomocnicze
    struktury danych
  • Instancji (jednej lub wiecej) - czyli
    oprogramowania operujacego na bazie danych
  • (jest to zbiór procesów i wspólna pamiec
    umozliwiajaca korzystanie uzytkownikom z bazy
    danych)

10
Procesy Oracle komunikacji sieciowej
  • komunikacja miedzy kazda aplikacja uzytkownika a
    baza danych odbywa sie za posrednictwem tzw
    procesu uslugowego. Jego rola jest obsluga zadan
    uzytkowników

11
Zadania serwera bazy danych
  • Wykonywanie instrukcji SQL
  • Przechowywanie i organizacja danych
  • Sprawowanie kontroli nad
  • spójnoscia,
  • zarzadzanie dostepem,
  • transakcje,
  • konta,
  • zasoby,
  • zarzadzanie zasobami

12
Wykorzystanie systemu zarzadzania baza danych
dla wspólbieznej pracy wielu uzytkowników
  • Bazy sa przewidziane do wspólbieznej pracy wielu
    uzytkowników
  • Transakcje to niepodzielne operacje wykonywane
    przez serwer na zamówienie klienta
  • System pilnuje aby wszystkie operacje zostaly
    prawidlowo wykonane i dopiero gdy wszystko
    zakonczy sie sukcesem, wtedy transakcja jest
    zatwierdzana
  • Gdy którakolwiek z czesci transakcji sie nie
    powiedzie, wtedy cala transakcja jest anulowana
  • Dostep do danych poprzez transakcje, blokady,
    konta

13
Laczenie sie z egzemplarzem bazy danych
  • Aby polaczyc sie z egzemplarzem bazy danych z
    poziomu klienta, nalezy skonfigurowac plik
    tnsnames.ora znajdujacy sie w katalogu
    ORACLE_HOME/network/admin
  • w edytorze tekstu
  • za pomoca programu Net Menager
  • ORCL
  • (DESCRIPTION
  • (ADDRESS(PROTOCOLTCP)
  • (HOST
    )
  • (PORT
    ))
  • (CONNECT_DATA
  • (SERVERDEDOCATED
  • (SERVICE_NAMEorcl)))

nazwa lub adres IP serwera
Numer portu dla serwera DB
Nazwa uslugi lub identyfikatorSID
14
SQLPlus - wersje
  • SQLPlus uruchamiany z wiersza polecen systemu
    Unix
  • Klient z graficznym interfejsem uzytkownika dla
    SQLPlus
  • SQL Worksheet
  • iSQLPlus

15
SQLPlus uruchamiany z wiersza polecen systemu
Unix
  • Aby polaczyc sie z egzemplarzem bazy, nalezy
    wpisac w wierszu polecen
  • sqlplus system/oracle_at_orcl
  • Lepiej jest laczyc sie uzywajac nazwy uzytkownika
    z symbolem_at_ wraz z nazwa uslugi sieciowej
  • sqlplus system_at_orcl
  • Instrukcja CONNECT umozliwia nawiazanie nowego
    polaczenia w aktualnej sesji
  • np. CONNECT ctxsys_at_orcl

16
Klient z graficznym interfejsem uzytkownika dla
SQLPlus
  • Graficzny interfejs uzytkownika programu SQLPlus
    nie obejmuje zadnych zaawansowanych funkcji,
    które nie bylyby dostepne w wersji uruchamianej z
    wiersza polecen
  • Aby uruchomic ten interfejs w systemie Windows
    nalezy otworzyc
  • Start/WszystkieProgramy/PodstawowyKatalogOracle/
  • Application Development i wybrac opcje SQL Plus

17
SQL Worksheet
  • Oferuje funkcje niedostepne z wiersza polecen
    oraz przez graficzny interfejs
  • mozliwosc przywolania starszych instrukcji z
    historii i ponownego wczytania ich do bufora w
    celu ich uruchomienia
  • wyswietlenie planu wykonania uruchamianych
    instrukcji SQL
  • Plan wykonania to metoda dostepu wybrana przez
    Oracle w celu jak najbardziej efektywnego
    wykonania okreslonych instrukcji SQL

18
iSQLPlus
  • umozliwia wyswietlenie wielobajtowych znaków np.
    japonskich
  • Aby zmienic kodowanie czcionek w przegladarce
    Internet Explorer, nalezy wybrac opcje
  • Widok/Kodowanie/Unicode(UTF-8)
  • wystarczy zalogowac sie do iSQKPlus przy uzyciu
    adresu URL okreslonego w trakcie tworzenia
    egzemplarza bazy, a system wyswietli wszystkie
    czcionki z obsluga UTF-8

19
Zmienianie ustawien sesji w SQLPlus
  • W trakcie logowania SQLPlus uruchamia skrypt
    glogin.sql z katalogu ORACLE_HOME/sqlplus/admin,
    konfiguruje srodowisko na potrzeby sesji
  • Mozliwa jest zmiana ustawien po zalogowaniu sie
    do SQLPlus
  • Latwiej jest dodac najczesciej uzywane opcje do
    skryptu glogin.sql, aby system ustawil je
    automatycznie
  • Niestandardowe ustawienia
  • SET pages 99 - rozmiar strony
  • SET echo OFF
  • SET long 6400

20
JDEVELOPER
  • SQLPlus jest wygodny, poniewaz jest wbudowany w
    kazda aktualna wersje bazy danych i stanowi
    podstawowy interfejs serwera bazodanowego
  • Funkcje JDeveloper obejmuja
  • wyswietlanie w ramkach wszystkich obiektów
    bazodanowych
  • mozliwosc edycji kodu PL/SQL bazy danych w
    JDeveloper
  • szablony kodu przyspieszajace generowanie kodu
  • porady zwiazane z optymalizacja dzialania SQL
  • mechanizmy diagnostyczne przechodzenie przez kod

21
JDEVELOPER
  • Srodowisko JDeveloper mozna pobrac ze strony
  • otn.oracle.com
  • Nie ma on instalatora wszystkie pliki sa
    spakowane w archiwum Zip proces rozpakowywania
    powoduje zainstalowanie aplikacji

22
PAKIETY WBUDOWANE
  • Pakiety udostepniane w Oracle (pakiety wbudowane)
    daja programistom dostep do funkcjonalnosci,
    która znacznie rozszerza mozliwosci rozwiazywania
    zlozonych problemów

23
PAKIETY WBUDOWANE UZYTKOWNIKA SYS
  • Kazdy pakiet ma publiczny synonim
  • Ten synonim umozliwia wywolywanie danego pakietu
  • Do utworzenia pakietu sluzy skrypt catproc.sql,
    który nalezy wywolac w czasie tworzenia bazy
    danych
  • Jesli korzystamy z asystenta konfiguracji bazy
    danych skrypt zostanie uruchomiony automatycznie
  • Aby uzywac tych pakietów, trzeba przyznac danemu
    uzytkownikowi uprawnienia EXECUTE

24
PAKIETY WBUDOWANE UZYTKOWNIKA SYS
  • Jedna z najwazniejszych funkcjonalnosci jest
    mozliwosc umieszczania w jednej bazie danych
    bloków o róznych rozmiarach
  • Umozliwia to czerpanie korzysci z duzych bloków w
    systemach wspomagania decyzji oraz z malych
    bloków w przetwarzaniu transakcji na biezaco
  • Zeby korzystac z wielu rozmiarów bloków, trzeba
    skonfigurowac bufor pamieci podrecznej Oraclea
    tak, zeby byl podzielony na rózne czesci w
    oparciu o rozmiar bloku oraz stworzyc przestrzen
    tabel, uzywajac niestandardowych rozmiarów bloków

25
Rozproszone bazy danych
  • Rozproszona baza danych - logicznie powiazany
    zbiór danych (oraz opis tych danych)
    wspóluzytkowanych przez wiele osób, fizycznie
    rozproszony w sieci komputerowej. Bazujac na tej
    definicji spróbujmy zdefiniowac rozproszony SZBD.
  • Rozproszony SZBD (RSZBD) - oprogramowanie
    umozliwiajace zarzadzanie rozproszona baza danych
    oraz sprawiajace, ze fakt rozproszenia danych
    jest niewidoczny (przezroczysty) dla uzytkownika.

26
Cechy i wlasnosci rozproszonego SZBD
  • Zbiór logicznie powiazanych wspóluzytkowanych
    danych
  • Dane sa podzielone na fragmenty (czesci)
  • Poszczególne fragmenty moga byc powielane
  • Fragmenty sa rozmieszczone na róznych komputerach
  • Komputery sa polaczone za pomoca sieci
    komunikacyjnej
  • Dane znajdujace sie w kazdym z wezlów systemu
    znajduja sie pod kontrola lokalnego SZBD
  • Kazdy lokalny SZBD moze niezaleznie uruchamiac
    lokalne aplikacje
  • Kazdy SZBD jest wykorzystywany w co najmniej
    jednej aplikacji globalnej

27
Rozproszony system zarzadzania baza danych
28
Przetwarzanie rozproszone
29
pamiec dzielona
30
dzielony dostep do dysku
31
zaden zasób nie jest wspóluzytkowany
32
Zalety RSZBD
  • Odzwierciedlenie struktury organizacyjnej
  • Wieksze mozliwosci wspóluzytkowania danych oraz
    lokalna autonomia
  • Zwiekszenie dostepnosci danych
  • Wieksza wiarygodnosc
  • Wieksza wydajnosc systemu
  • Koszty
  • Rozwój modularny

33
Wady RSZBD
  • Zlozonosc
  • Koszty
  • Trudniejsze zapewnienie bezpieczenstwa
  • Trudniejsza kontrola integralnosci
  • Brak standardów
  • Brak doswiadczen
  • Bardziej skomplikowane projektowanie bazy danych

34
Homogeniczne i heterogeniczne RSZBD
  • Homogeniczne
  • wszystkie wezly wykorzystuja te sama wersje
    oprogramowania SZBD,
  • projektowanie i zarzadzanie proste,
  • mozliwy przyrostowy rozwój systemu
  • Heterogeniczne
  • wezly moga wykorzystywac rózne oprogramowanie
    SZBD,
  • rózne modele danych (relacyjne, sieciowe,
    hierarchiczne, obiektowe),
  • koniecznosc tlumaczenia miedzy protokolami i
    jezykami stosowanymi przez rózne SZBD,
  • odwzorowania struktur danych,

35
Funkcje RSZBD
  • Rozszerzone uslugi komunikacyjne
  • Rozszerzenie katalogu systemowego
  • Przetwarzanie rozproszonych zapytan, ich
    optymalizacja, dostep do odleglych danych
  • Rozszerzona ochrona bezpieczenstwa umozliwiajaca
    stosowanie metod autoryzacji, nadawanie praw
    dostepu do danych rozproszonych
  • Rozszerzona kontrola wielodostepu - zachowanie
    spójnosci danych
  • Rozszerzone mozliwosci odtwarzania danych po
    awarii wezla oraz laczy komunikacyjnych

36
Architektura wzorcowa dla RSZBD
37
Komponenty rozproszonego RSZBD
38
Zarzadzanie transakcjami rozproszonymi
  • Problem okreslania poprawnego uporzadkowania
    operacji wspólbieznie wykonywanych transakcji
    jest rozwiazywany za pomoca metod, które mozemy
    podzielic na trzy grupy
  • metody porzadkowania wedlug etykiet czasowych,
  • metody walidacji
  • blokowania
  • W praktyce, w zdecydowanej wiekszosci
    komercyjnych systemów baz danych, w tym w
    systemie Oracle, stosowane sa wylacznie metody
    blokowania
  • W czasie szeregowania operacji, realizowanych w
    ramach transakcji dotyczacych tych samych danych,
    system zarzadzania baza danych wykorzystuje
    protokól blokowania dwufazowego (ang. two-phase
    locking)
  • W fazie pierwszej transakcja modyfikujaca dane
    uzyskuje wszystkie niezbedne blokady na tych
    danych
  • Blokady te utrzymywane sa przez caly czas trwania
    transakcji
  • Zdejmowane sa dopiero po zakonczeniu transakcji,
    czyli w fazie drugiej

39
Zarzadzanie transakcjami rozproszonymi
  • W systemie Oracle transakcje konczy sie poprzez
    jej zatwierdzenie lub wycofanie
  • Domyslnie, kazda transakcja jest jawnie konczona
    przez uzytkownika
  • Zakonczenie jednej transakcji (zatwierdzenie lub
    wycofanie) jest poczatkiem transakcji nastepnej
  • Transakcje zatwierdza sie poleceniem commit, a
    wycofuje poleceniem rollback
  • Nalezy pamietac, ze w Oracle wszystkie polecenia
    grupy DML (np. create table, create view, alter
    table, drop synonym) i polecenia grupy DCL (np.
    grant, revoke) koncza sie niejawnym poleceniem
    commit

40
Zarzadzanie transakcjami rozproszonymi
  • Dluga transakcje mozna podzielic na mniejsze,
    logicznie spójne fragmenty, wprowadzajac w
    transakcji tzw. punkty zachowania (ang.
    savepoints)
  • Transakcje taka mozna nastepnie wycofywac do
    wskazanego punktu zachowania
  • Wprowadzenie punktu zachowania realizuje sie
    poleceniem
  • savepoint nazwa_pz
  • nazwa_pz - oznacza nadana przez uzytkownika nazwe
    punktu zachowania
  • Wycofanie do wskazanego punktu zachowania
    realizuje sie poleceniem
  • rollback to savepoint nazwa_pz

41
Blokowanie danych
  • W systemie Oracle wyrózniamy dwa typy blokad
  • na rekordzie (ang. rów lock)
  • na tabeli (ang. table lock)
  • Wprowadzenie blokady na calej tabeli zmniejsza
    stopien wspólbieznosci transakcji
  • Zaletami blokowania calej tabeli sa
  • latwosc zarzadzania blokadami
  • szybsze wykrywanie konfliktów blokad

42
Blokowanie danych
  • Dwie blokady sa zgodne (ang. compatible), jezeli
    moga byc jednoczesnie zalozone na te same dane
    przez wiele róznych transakcji
  • W przeciwnym razie mówimy o blokadach niezgodnych
  • W przypadku gdy jedna transakcja blokuje tabele,
    a druga zada blokady niezgodnej z blokada
    zalozona wczesniej, wówczas konflikt jest
    wykrywany juz na poziomie blokady tabeli
  • Jezeli na rekordzie tabeli system zalozy blokade,
    to zawsze bedzie to blokada wylaczna (ang.
    exclusive), oznaczana jako X
  • Dwie blokady X nie sa zgodne

43
Blokowanie danych
  • Blokada RX jest zakladana automatycznie w wyniku
    wykonania polecen insert, update, delete
  • Oznacza to, ze niektóre lub wszystkie rekordy tej
    tabeli sa wstawiane, modyfikowane lub usuwane
  • Dwie blokady RX na tej samej tabeli sa zgodne
    warunkiem ze kazda z transakcji blokuje inne
    rekordy

44
Tryby pracy transakcji
  • SZBD Oracle umozliwia prace transakcji w trzech
    nastepujacych trybach
  • read-committed
  • read-only
  • serializable

45
Transakcja rozproszona
  • Transakcja rozproszona (ang. distributed
    transaction) jest to transakcja, której polecenia
    DML odwoluja sie do tabel znajdujacych sie co
    najmniej w dwóch wezlach rozproszonej bazy danych
  • Transakcja rozproszona jest reprezentowana przez
    zbiór transakcji lokalnych
  • W kazdej z baz danych, do której odwoluje sie
    transakcja rozproszona, tworzona jest jedna
    transakcja lokalna

46
Wezly uczestniczace w transakcji rozproszonej
  • Transakcja rozproszona odwoluje sie do kilku
    wezlów rozproszonej bazy danych
  • Kazdy z tych wezlów pelni scisle okreslona
    funkcje
  • Wyróznia sie nastepujace rodzaje wezlów
  • koordynator globalny - KG (ang. global
    coordinator)
  • koordynator lokalny - KL (ang. local coordinator)
  • wezel zatwierdzania - WZ (ang. commit point site)
  • uczestnik - U (ang. node)

47
Graf wywolan transakcji
BANK1

koordynator globalny COMMIT_POINT STRENGTH15
update rachunki...
update rachunki_at_bank2 ....
update rachunki_at_bank3
BANK3
koordynator lokalny COMMIT_POINT_STRENGTH20
BANK2
wezel zatwierdzania COMMIT_POINT_STRENGTH100
insert innsurachunki_at_bank5 ...
delete from rachunki_at_bank4 ...
BANK5
BANK4
uczestnik COMMIT POINT STRENGTH1
uczestnik COMMIT POINT STRENGTH1
48
Protokól zatwierdzania dwufazowego 2PC
  • Protokól 2PC sklada sie z dwóch glównych faz
  • przetwarzania
  • jednej fazy koncowej
  • W fazie pierwszej nastepuje przygotowanie
    transakcji lokalnych do zatwierdzania lub
    wycofywania
  • W fazie drugiej nastepuje zatwierdzanie lub
    wycofywanie transakcji lokalnych
  • W fazie koncowej transakcja rozproszona jest
    konczona i usuwana z systemu koordynatora
    globalnego

49
Faza przygotowania
  • Koordynator globalny wybiera wezel zatwierdzania
    sposród wszystkich wezlów bioracych udzial w
    transakcji rozproszonej
  • KG wysyla do wszystkich wezlów, z wyjatkiem wezla
    zatwierdzania, komunikat prepare, wymuszajacy
    przygotowanie sie transakcji lokalnych do
    zatwierdzenia
  • Po zakonczeniu operacji przygotowania do
    zatwierdzenia transakcji kazdy wezel przesyla do
    koordynatora globalnego komunikat prepared,
    jezeli operacje sie powiodly

50
Faza przygotowania
  • Jezeli transakcja nie moze zostac przygotowana do
    zatwierdzenia, wówczas przez SZBD wycofywane sa
    wszystkie wprowadzone przez nia zmiany, zwalniane
    blokady, a do KG przesylany jest komunikat abort
  • Jezeli w wezle nie modyfikowano danych, wówczas
    wezel przesyla do KG komunikat read-only
  • Jezeli wezel jest koordynatorem lokalnym, wówczas
    po otrzymaniu komunikatu prepare przygotowuje sie
    do zatwierdzania i sam rozsyla komunikat prepare
    do podleglych mu wezlów

51
Faza przygotowania
  • Po otrzymaniu komunikatu prepared lub read-only
    od wszystkich wezlów mu podleglych, koordynator
    lokalny przesyla komunikat prepared do KG
  • Jezeli choc jeden z wezlów podleglych odpowie
    abort, wówczas koordynator lokalny wysyla
    komunikat abort do KG
  • W ostatnim kroku tej fazy koordynator globalny
    odbiera komunikaty od wszystkich wezlów, z
    wyjatkiem wezla zatwierdzania

52
Wymiana komunikatów fazy przygotowania
BANK1

koordynator globalny
1. Wybór WZ
2. prepare
5. prepared
BANK3
koordynator lokalny
BANK2
wezel zatwierdzania
3. prepare
3. prepare
4. prepared
4. prepared
BANK5
BANK4
uczestnik
uczestnik
53
Faza zatwierdzania
  • Jezeli wszystkie komunikaty, odebrane przez
    koordynatora globalnego, to prepar lub read-only,
    wówczas faza zatwierdzania (ang. commit phase)
    jest realizowana w nastepujacych krokach
  • Koordynator globalny wysyla do wezla
    zatwierdzania komunikat commit, informujacy WZ o
    koniecznosci zatwierdzenia transakcji lokalnej w
    jego wezle
  • WZ zatwierdza transakcje, a nastepnie wywoluje
    komunikat committed do KG. Biezacy stan
    transakcji jest zapamietywany w slowniku bazy
    danych WZ
  • Po otrzymaniu od WZ komunikatu committed KG
    przesyla komunikat commit do pozostalych wezlów

54
Faza zatwierdzania
  • Kazdy z wezlów po zatwierdzeniu swojej transakcji
    zapisuje informacje o tej operacji w biezacych
    plikach dziennika powtórzen, zwalnia blokady i
    odpowiadakomunikatem committed, przesylanym do
    KG
  • Jezeli wezel jest koordynatorem lokalnym wówczas
    po otrzymaniu commit sam rozsyla ten komunikat do
    podleglych mu wezlów, a nastepnie odbiera od nich
    potwierdzenie zatwierdzenia transakcji. Po ich
    otrzymaniu KL zatwierdza swoja transakcje lokalna
    i przesyla komunikat cormntted do KG
  • Po odebraniu potwierdzen zatwierdzenia transakcji
    od wszystkich wezlów nastepuje przejscie do
    ostatniej fazy zatwierdzania

55
Wymiana komunikatów fazy zatwierdzania
BANK1
koordynator globalny
1. commit
3. commit
2. committed
6. commmitted
BANK3
koordynator lokalny
BANK2
wezel zatwierdzania
4. commit
4. commit
5. commmitted
5. committed
BANK5
BANK4
uczestnik
uczestnik
56
Faza zakonczenia
  • Faza zakonczenia (ang.forgetphase)jest
    realizowana w nastepujacych krokach
  • Po odebraniu od wszystkich wezlów komunikatu
    committed, koordynator globalny wysyla o tym
    informacje do wezla zatwierdzania
  • WZ usuwa informacje z systemu lokalnego o
    zatwierdzonej transakcji. Po jej usunieciu
    informuje o tym KG
  • KG usuwa informacje o transakcji z systemu
    lokalnego

57
Awarie transakcji rozproszonych - moga powstawac
na skutek
  • bledów w oprogramowaniu aplikacyjnym,
  • awarii procesów uzytkowników,
  • awarii drugoplanowych procesów systemowych
    instancji bazy danych,
  • awarii sieci komputerowej,
  • awarii zasilania,
  • awarii sprzetu, np. procesora, pamieci
    operacyjnej i nosników danych

58
Awarie transakcji rozproszonych - moga powstawac
na skutek
  • Jezeli awaria któregos z wezlów nastapi w czasie
    realizowania transakcji rozproszonej wówczas taka
    transakcja bedzie w tzw. stanie zawieszenia do
    momentu usuniecia awarii, nawiazania polaczenia
    ze zdalnym wezlem i doprowadzenia transakcji do
    konca
  • Transakcje w stanie zawieszenia mozna odtworzyc
    na dwa sposoby
  • automatycznie uruchamiajac dedykowany do tego
    celu proces systemowy,
  • manualnie przeszukujac wezly i zatwierdzajac lub
    wycofujac ich lokalne transakcje

59
Automatyczne odtwarzanie transakcji
  • Odtwarzaniem transakcji zajmuje sie tzw.
    drugoplanowy proces odtwarzajacy RECO - jest to
    proces instancji bazy danych
  • Proces RECO bedzie automatycznie odtwarzal
    transakcje rozproszone w stanie zawieszenia
    jezeli w bazie danych wlaczono odtwarzanie
    automatyczne
  • Realizuje to polecenie
  • alter system enable distributed recovery

60
Automatyczne odtwarzanie transakcji
update rachunki_at_bank2 ....
uczestnik
wezel zatwierdzania
61
Stan wezla w systemie
  • wezel zatwierdzania zatwierdzil swoja lokalna
    transakcje stan transakcji rozproszonej
    przechowywany w WZ okreslony jest jako
    zatwierdzona
  • koordynator globalny odebral potwierdzenie
    zatwierdzenia transakcji od WZ
  • uczestnik odebral komunikat commit od
    koordynatora globalnego - po jego odebraniu wezel
    ulegl awarii (np. z powodu zaniku napiecia
    zasilania) - wezel nie opowiedzial komunikatem
    committed

62
Stan wezla w systemie
Automatyczne odtwarzanie transakcji - akcje
  • RECO okresowo próbuje nawiazywac polaczenie z
    wezlem BANK3
  • Po ponownym uruchomieniu bazy danych BANK3, baza
    ta jest odtwarzana za pomoca standardowych
    mechanizmów systemowych
  • Nawiazane zostaje polaczenie miedzy procesem RECO
    a baza BANK3
  • Korzystajac z informacji o stanie transakcji
    rozproszonej, przechowywanej przez wezel
    zatwierdzania, tj. transakcji zatwierdzona,
    proces RECO powoduje zatwierdzenie lokalnej
    transakcji w wezle BANK3.

63
Stan wezla w systemie
Manualne odtwarzanie transakcji
  • Jezeli w systemie wylaczono automatyczne
    odtwarzanie transakcji, wówczas jedynym sposobem
    doprowadzenia zawieszonej transakcji do konca
    jest interwencja administratora systemu
  • Musi on przeszukac wezly, stwierdzic, które
    transakcje sa w stanie zawieszenia, i zatwierdzic
    lub wycofac je za pomoca polecen SQL, zgodnie ze
    stanem transakcji rozproszonej przechowywanym w
    wezle zatwierdzania

64
Stan wezla w systemie
Programowe symulowanie
  • Producent SZBD Oracle dostarcza mechanizm
    programowego symulowania awarii transakcji
    rozproszonych
  • Awaria wezla zatwierdzania po odebraniu przez
    koordynator globalny komunikatów prepared
  • Awaria wezla uczestnika po odebraniu przez
    koordynator globalny komunikatów prepared
  • Awaria wezla uczestnika przed przygotowaniem sie
    do zatwierdzania
  • Awaria wezla uczestnika po przygotowaniu sie do
    zatwierdzania
  • Awaria wezla zatwierdzania przed zatwierdzeniem
    transakcji
  • Awaria wezla zatwierdzania po zatwierdzeniu
    transakcji
  • Awaria wezla uczestnika przed zatwierdzeniem
    transakcji
  • Awaria wezla uczestnika po zatwierdzeniu
    transakcji
  • Awaria wezla zatwierdzania przed przejsciem do
    fazy zakonczenia
  • Awaria wezla uczestnika przed przejsciem do fazy
    zakonczenia

65
Hurtownie danych
  • Hurtownia danych - zestaw narzedzi pozwalajacych
    kierownikom, dyrektorom i analitykom szybciej i
    skuteczniej podejmowac decyzje
  • hurtownia danych zorientowana podmiotowo,
    zintegrowana, zróznicowana czasowo i trwala
    kolekcja danych przeznaczona do wspomagania
    procesu podejmowania decyzji przez kierownictwo
  • Inmon (1993 r.)

66
Korzysci ze stosowania hurtowni danych
  • Potencjalnie wysokie dochody z inwestycji
  • Przewaga nad konkurencja
  • Wieksza wydajnosc korporacyjnych decydentów

67
Problemy z hurtowniami danych
  • Niedoszacowanie zasobów potrzebnych do
    wprowadzania danych
  • Ukryte problemy z systemami zródlowymi
  • Brak wpisów potrzebnych danych
  • Rosnace wymagania uzytkowników
  • Trudnosci z ujednoliceniem danych
  • Wysokie zapotrzebowanie na zasoby
  • Wlasnosc danych
  • Zlozona pielegnacja systemu
  • Dlugoterminowosc projektów
  • Zlozonosc integracji

68
Architektura scentralizowana
69
Architektura federacyjna
70
Architektura warstwowa
71
Zródlem danych dostarczanych do hurtowni moga byc
  • dane komputera centralnego przechowywane w
    hierarchicznych i sieciowych bazach danych.
  • Dane wydzialowe przechowywane w firmowych
    systemach plików oraz relacyjnych SZBD
  • Dane prywatne znajdujace sie na stacjach
    roboczych i prywatnych serwerach
  • Zewnetrzne systemy
  • internet
  • bazy danych dostepne komercyjnie
  • bazy danych powiazane z dostawcami lub klientami
    organizacji

72
Typowy schemat hurtowni danych
Zródlo danych operacyjnych 1
Narzedzia do tworzenia raportów i zapytan
Zarzadca hurtowni
DOPLYW
Metadane
Mocna skumulowane dane
Lekko skumulowane dane
Szczególowe dane
Narzedzia dostepne dla uzytkowników

Dane archiwalne i kopie zapasowe
Zarzadca wprowadzania danych
Zarzadca zapytan
73
Podstawowym zadaniem hurtowni jest zarzadzanie
piecioma glównymi przeplywami danych, a
mianowicie
  • doplyw
  • wznoszenie sie
  • kumulacja
  • pakowanie
  • dystrybucja
  • odplyw
  • wyplyw
  • udostepnianie
  • dostarczanie
  • przeplyw metadanych

74
Metamodel MDIS (Metadata Interchange
Specification)
Write a Comment
User Comments (0)
About PowerShow.com