Tworzenie przestrzeni tabel

Slides:



Advertisements
Podobne prezentacje
Indeksy w bazie danych Oracle
Advertisements

Procedury wyzwalane Procedura wyzwalana (ang. trigger) - stanowi kod użytkownika przechowywany wewnątrz bazy i uruchamiany w określonych sytuacjach np.
Architektura SAP R/3 Wybrane zagadnienia.
Sieci komputerowe Usługi sieciowe Piotr Górczyński 27/09/2002.
przetwarzaniu informacji
Rola komputera w przetwarzaniu informacji.
Sieci komputerowe.
ADAM Active Directory w trybie aplikacyjnym
Autor Roman Jędras Prowadzący: dr inż. Antoni Izworski Przedmiot:
SIECI KOMPUTEROWE (SieKom) PIOTR MAJCHER WYŻSZA SZKOŁA ZARZĄDZANIA I MARKETINGU W SOCHACZEWIE Zarządzanie.
Wycofywanie potwierdzonych transakcji
Rozdział 13: Architektura systemu Oracle
Wykład nr 1: Wprowadzenie. Pojęcia podstawowe
Obsługa serwera zdalnego przez klienta FTP
Systemy operacyjne.
Systemy operacyjne Bibliografia:
Wykład 5 Wojciech Pieprzyca
Artur Szmigiel Paweł Zarębski Kl. III i
Rozproszone bazy danych
Modele baz danych - spojrzenie na poziom fizyczny
Rozproszone bazy danych – 2 Zarządzanie transakcjami rozproszonymi
Zarządzanie transakcjami Wykład S. Kozielski. Zarządzanie transakcjami Transakcja – jedna lub więcej operacji na bazie danych stanowiących pewną logiczną
Bezpieczeństwo baz danych
Architektura systemów wykorzystujących bazy danych (systemów bazodanowych) Wykład S. Kozielski.
Multimedialne bazy danych
USŁUGA FTP 1. Definicja FTP. FTP (File Transfer Protocol, ang. protokół transmisji plików) jest protokołem typu klient-serwer, który umożliwia przesyłanie.
ACTIVE DIRECTORY Definicja Active Directory.
PRACA W DOMENIE Różnice użytkowe między pracą w domenie i grupie roboczej. 1. Ekran logowania. - wciśnięcie klawiszy [Ctrl+Alt+Delete], a następnie podanie.
SIEĆ P2P 1. Definicja sieci równouprawnionej. To taka sieć, która składa się z komputerów o takim samym priorytecie ważności, a każdy z nich może pełnić.
Protokół Komunikacyjny
Tworzenie nowych kont lokalnych i domenowych, oraz zarządzanie nimi
Administracja serwerem bazy danych Oracle 11g Zarządzanie strukturą bazy danych Wykład nr 2 Michał Szkopiński.
Linux - polecenia.
BUDOWA I DZIAŁANIE SIECI KOMPUTEROWYCH
Administracja serwerem bazy danych Oracle 11g Instancja i dostęp do bazy danych Wykład nr 1 Michał Szkopiński.
Topologie sieci lokalnych.
Prezentacja i szkolenie
Sieci komputerowe.
Wzorce slajdów, animacje, różne orientacje slajdów
Narzędzia administracyjne
POŚREDNIK Jak reprezentowana jest informacja w komputerze? liczby – komputer został wymyślony jako zaawansowane urządzenie służące do wykonywania.
Wybrane zagadnienia relacyjnych baz danych
Linux w sieci Konfigurowanie interfejsu sieciowego.
SYSTEMY OPERACYJNE Adresowanie IP cz3.
dr Łukasz Murowaniecki T-109
1 Każdy obiekt jest scharakteryzowany poprzez: tożsamość – daje się jednoznacznie wyróżnić; stan; zachowanie. W analizie obiektowej podstawową strukturą
Sieci komputerowe.

System plików.
Temat 4: Funkcje Systemu Zarządzania Bazą Danych (SZBD)
System Zarządzania Bazą Danych
Systemy informatyczne
1 SBD, L.Banachowski Zaawansowane cechy SQL Powtórzenie wyk ł adu 5.
Zbiór danych zapisanych zgodnie z określonymi regułami. W węższym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyjętymi dla danego.
Andrzej Majkowski 1 informatyka +. 2 Bezpieczeństwo protokołu HTTP Paweł Perekietka.
Uprawnienia w Windows Server
1. Logowanie z usługą Active Directory. a) logowanie do domeny Windows 2003 Server odbywa się znacznie szybciej niż w poprzednich wersjach. b) nie ma odwołania.
Dokumentacja obsługi programów Kamil Smużyński Piotr Kościński.
Sposoby zdalnego sterowania pulpitem
.NET i Bazy Danych Projekt: Wadim Grasza.
Optymalna konfiguracja Microsoft SQL Server 2014
Wykład 3 Prowadzący: dr Paweł Drozda. Użytkownik bazy danych – osoba lub aplikacja, mająca dostęp do części danych zgromadzonych w bazie Uprawnienia –
Model warstwowy ISO-OSI
ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska.
Protokoły używane w sieciach LAN Funkcje sieciowego systemu komputerowego Wykład 5.
materiały dla uczestników
Strukturalny język zapytań SQL - historia
Technologie Informacyjne Bazy danych
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

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 LOCAL[AUTOALLOCATE]] [EXTENT MANAGEMENT LOCAL[UNIFORM SIZE rozmiar [K/M]]] [SEGMENT SPACE MANAGEMENT AUTO] [SEGMENT SPACE MANAGEMENT MANUAL]

Tworzenie przestrzeni tabel UNDO – parametr określa, że tworzona przestrzeń tabel będzie zawierać informacje służące do cofania operacji instrukcja przechowywania - określa nazwę pliku, rozmiar itp. BLOCKSIZE – tworzenie przestrzeni tabel o nie standardowych rozmiarach bloków TEMPORARY – przestrzeń tabel będzie wykorzystywana jako tymczasowa EXTEND MANAGEMENT – określa, czy przestrzeń tabel będzie zarządzana słownikiem danych, czy lokalnie SEGMENT SPACE MANAGEMENT – instrukcja wykorzystywana do ustawienia automatycznego (za pomocą bitmapy) bądź ręcznego (za pomocą listy wolnych bloków) zarządzania wolną przestrzenią w segmentach

segmenty, ekstenty i bloki danych plik danych blok segment

Ekstenty Aby system zarządzania bazą danych Oracle osiągał max elastyczność i jednocześnie był jak najbardziej wydajny, konieczne było stworzenie mechanizmu, w którym ciągłe bloki byłyby tworzone i zarządzane razem Ekstent jest zbiorem ciągłych bloków Taki zbiór bloków jest tworzony za każdym razem, kiedy do obiektu wymagana jest dodatkowa przestrzeń Segmenty są po prostu zbiorem ekstentów

Istnieje kilka typów segmentów: segment danych – podstawowy typ segmentu, który może być wykorzystywany do przechowywania tabel oraz klastrów segment indeksu – do przechowywania indeksów segment przywracania – przechowywane są informacje służące do wycofywania operacji. Segmenty te zostały zastąpione przestrzeniami tabel cofania segment tymczasowy – do przechowywania danych generowanych podczas działania Oracle’a. Mogą być one używane do sortowania i złączeń

Globalna przestrzeń systemowa SGA Globalna przestrzeń systemowa SGA jest obszarem pamięci współużytkowanej wykorzystywanym przez Oracle’a do przechowywania informacji kontrolnych instancji Oracle’a SGA jest przydzielana podczas uruchamiania instancji i zwalniana podczas jej zatrzymywania

W skład informacji zawartych w SGA wchodzą: bufory pamięci podręcznej bazy danych – przechowują ostatnio używane bloki danych bufory dziennika powtórzeń – czyli zmian wprowadzonych do bazy – wykorzystywane do odtwarzania po awarii systemu pula współużytkowania – struktury współużytkowanej pamięci, takie jak współużytkowany obszar SQL, wewnętrzne informacje słownika danych

Globalna przestrzeń systemowa SGA Dzięki temu, że pamięć podręczna przechowuje bloki w oparciu o algorytm preferujący ostatnio używane elementy, częściej wykorzystywane bloki pozostają w pamięci, co pozwala na zmniejszenie operacji we/wy i podniesienie wydajności

Budowa serwera bazy danych Serwer bazy danych składa się z: Plików na dysku zawierających tabele z danymi i inne obiekty bazy danych oraz pomocnicze struktury danych Instancji (jednej lub więcej) - czyli oprogramowania operującego na bazie danych (jest to zbiór procesów i wspólna pamięć umożliwiająca korzystanie użytkownikom z bazy danych)

Procesy Oracle komunikacji sieciowej komunikacja między każdą aplikacją użytkownika a bazą danych odbywa się za pośrednictwem tzw procesu usługowego. Jego rolą jest obsługa żądań użytkowników

Zadania serwera bazy danych: Wykonywanie instrukcji SQL Przechowywanie i organizacja danych Sprawowanie kontroli nad: spójnością, zarządzanie dostępem, transakcje, konta, zasoby, zarządzanie zasobami

Wykorzystanie systemu zarządzania bazą danych dla współbieżnej pracy wielu użytkowników Bazy są przewidziane do współbieżnej pracy wielu użytkowników Transakcje to niepodzielne operacje wykonywane przez serwer na zamówienie klienta System pilnuje aby wszystkie operacje zostały prawidłowo wykonane i dopiero gdy wszystko zakończy się sukcesem, wtedy transakcja jest zatwierdzana Gdy którakolwiek z części transakcji się nie powiedzie, wtedy cała transakcja jest anulowana Dostęp do danych poprzez transakcje, blokady, konta

Łączenie się z egzemplarzem bazy danych Aby połączyć się z egzemplarzem bazy danych z poziomu klienta, należy skonfigurować plik tnsnames.ora znajdujący się w katalogu: $ORACLE_HOME/network/admin w edytorze tekstu za pomocą programu Net Menager ORCL= (DESCRIPTION= (ADDRESS=(PROTOCOL=TCP) (HOST= ) (PORT= )) (CONNECT_DATA= (SERVER=DEDOCATED (SERVICE_NAME=orcl))) nazwa lub adres IP serwera Numer portu dla serwera DB Nazwa usługi lub identyfikatorSID

SQL*Plus - wersje SQL*Plus uruchamiany z wiersza poleceń systemu Unix Klient z graficznym interfejsem użytkownika dla SQL*Plus SQL Worksheet iSQL*Plus

SQL*Plus uruchamiany z wiersza poleceń systemu Unix Aby połączyć się z egzemplarzem bazy, należy wpisać w wierszu poleceń sqlplus system/oracle@orcl Lepiej jest łączyć się używając nazwy użytkownika z symbolem@ wraz z nazwą usługi sieciowej sqlplus system@orcl Instrukcja CONNECT umożliwia nawiązanie nowego połączenia w aktualnej sesji np. CONNECT ctxsys@orcl

Klient z graficznym interfejsem użytkownika dla SQL*Plus Graficzny interfejs użytkownika programu SQL*Plus nie obejmuje żadnych zaawansowanych funkcji, które nie byłyby dostępne w wersji uruchamianej z wiersza poleceń Aby uruchomić ten interfejs w systemie Windows należy otworzyć: Start/WszystkieProgramy/PodstawowyKatalogOracle/ Application Development i wybrać opcję SQL Plus

SQL Worksheet Oferuje funkcje niedostępne z wiersza poleceń oraz przez graficzny interfejs: możliwość przywołania starszych instrukcji z historii i ponownego wczytania ich do bufora w celu ich uruchomienia wyświetlenie planu wykonania uruchamianych instrukcji SQL Plan wykonania to metoda dostępu wybrana przez Oracle w celu jak najbardziej efektywnego wykonania określonych instrukcji SQL

Widok/Kodowanie/Unicode(UTF-8) iSQL*Plus umożliwia wyświetlenie wielobajtowych znaków np. japońskich Aby zmienić kodowanie czcionek w przeglądarce Internet Explorer, należy wybrać opcję Widok/Kodowanie/Unicode(UTF-8) wystarczy zalogować się do iSQK*Plus przy użyciu adresu URL określonego w trakcie tworzenia egzemplarza bazy, a system wyświetli wszystkie czcionki z obsługą UTF-8

Zmienianie ustawień sesji w SQL*Plus W trakcie logowania SQL*Plus uruchamia skrypt glogin.sql z katalogu $ORACLE_HOME/sqlplus/admin, konfiguruje środowisko na potrzeby sesji Możliwa jest zmiana ustawień po zalogowaniu się do SQL*Plus Łatwiej jest dodać najczęściej używane opcje do skryptu glogin.sql, aby system ustawił je automatycznie Niestandardowe ustawienia: SET pages 99 - rozmiar strony SET echo OFF SET long 6400

Funkcje JDeveloper obejmują: SQL*Plus jest wygodny, ponieważ jest wbudowany w każdą aktualną wersję bazy danych i stanowi podstawowy interfejs serwera bazodanowego Funkcje JDeveloper obejmują: wyświetlanie w ramkach wszystkich obiektów bazodanowych możliwość edycji kodu PL/SQL bazy danych w JDeveloper szablony kodu przyspieszające generowanie kodu porady związane z optymalizacją działania SQL mechanizmy diagnostyczne – przechodzenie przez kod

Środowisko JDeveloper można pobrać ze strony otn.oracle.com Nie ma on instalatora – wszystkie pliki są spakowane w archiwum Zip – proces rozpakowywania powoduje zainstalowanie aplikacji

PAKIETY WBUDOWANE Pakiety udostępniane w Oracle (pakiety wbudowane) dają programistom dostęp do funkcjonalności, która znacznie rozszerza możliwości rozwiązywania złożonych problemów

PAKIETY WBUDOWANE UŻYTKOWNIKA SYS Każdy pakiet ma publiczny synonim Ten synonim umożliwia wywoływanie danego pakietu Do utworzenia pakietu służy skrypt catproc.sql, który należy wywołać w czasie tworzenia bazy danych Jeśli korzystamy z asystenta konfiguracji bazy danych skrypt zostanie uruchomiony automatycznie Aby używać tych pakietów, trzeba przyznać danemu użytkownikowi uprawnienia EXECUTE

PAKIETY WBUDOWANE UŻYTKOWNIKA SYS Jedną z najważniejszych funkcjonalności jest możliwość umieszczania w jednej bazie danych bloków o różnych rozmiarach Umożliwia to czerpanie korzyści z dużych bloków w systemach wspomagania decyzji oraz z małych bloków w przetwarzaniu transakcji na bieżąco Żeby korzystać z wielu rozmiarów bloków, trzeba skonfigurować bufor pamięci podręcznej Oracle’a tak, żeby był podzielony na różne części w oparciu o rozmiar bloku oraz stworzyć przestrzeń tabel, używając niestandardowych rozmiarów bloków

Rozproszone bazy danych Rozproszona baza danych - logicznie powiązany zbiór danych (oraz opis tych danych) współużytkowanych przez wiele osób, fizycznie rozproszony w sieci komputerowej. Bazując na tej definicji spróbujmy zdefiniować rozproszony SZBD. Rozproszony SZBD (RSZBD) - oprogramowanie umożliwiające zarządzanie rozproszoną bazą danych oraz sprawiające, że fakt rozproszenia danych jest niewidoczny (przezroczysty) dla użytkownika.

Cechy i własności rozproszonego SZBD Zbiór logicznie powiązanych współużytkowanych danych Dane są podzielone na fragmenty (części) Poszczególne fragmenty mogą być powielane Fragmenty są rozmieszczone na różnych komputerach Komputery są połączone za pomocą sieci komunikacyjnej Dane znajdujące się w każdym z węzłów systemu znajdują się pod kontrolą lokalnego SZBD Każdy lokalny SZBD może niezależnie uruchamiać lokalne aplikacje Każdy SZBD jest wykorzystywany w co najmniej jednej aplikacji globalnej

Rozproszony system zarządzania bazą danych Sieć komputerowa BD Węzeł 2 Węzeł 4 Węzeł 3 Węzeł 1

Przetwarzanie rozproszone Sieć komputerowa BD Węzeł 2 Węzeł 4 Węzeł 3 Węzeł 1

pamięć dzielona Sieć komputerowa procesor pamięć

dzielony dostęp do dysku Sieć komputerowa procesor pamięć

żaden zasób nie jest współużytkowany Sieć komputerowa procesor pamięć

Zalety RSZBD Odzwierciedlenie struktury organizacyjnej Większe możliwości współużytkowania danych oraz lokalna autonomia Zwiększenie dostępności danych Większa wiarygodność Większa wydajność systemu Koszty Rozwój modularny

Wady RSZBD Złożoność Koszty Trudniejsze zapewnienie bezpieczeństwa Trudniejsza kontrola integralności Brak standardów Brak doświadczeń Bardziej skomplikowane projektowanie bazy danych

Homogeniczne i heterogeniczne RSZBD wszystkie węzły wykorzystują tę samą wersję oprogramowania SZBD, projektowanie i zarządzanie proste, możliwy przyrostowy rozwój systemu Heterogeniczne węzły mogą wykorzystywać różne oprogramowanie SZBD, różne modele danych (relacyjne, sieciowe, hierarchiczne, obiektowe), konieczność tłumaczenia między protokołami i językami stosowanymi przez różne SZBD, odwzorowania struktur danych,

Funkcje RSZBD Rozszerzone usługi komunikacyjne Rozszerzenie katalogu systemowego Przetwarzanie rozproszonych zapytań, ich optymalizacja, dostęp do odległych danych Rozszerzona ochrona bezpieczeństwa umożliwiająca stosowanie metod autoryzacji, nadawanie praw dostępu do danych rozproszonych Rozszerzona kontrola wielodostępu - zachowanie spójności danych Rozszerzone możliwości odtwarzania danych po awarii węzła oraz łączy komunikacyjnych

Architektura wzorcowa dla RSZBD Globalny schemat konceptualny Globalny schemat zewnętrzny DB . . . Schemat fragmentacji Schemat alokacji Lokalny schemat odwzorowania Lokalny schemat konceptualny Lokalny schemat wewnętrzny

Komponenty rozproszonego RSZBD Sieć komputerowa Węzeł 1 Węzeł 3 RSZBD Komponent komunikacyjny Globalny katalog systemowy Komponent Lokalny komunikacyjny SZBD DB

Zarządzanie transakcjami rozproszonymi Problem określania poprawnego uporządkowania operacji współbieżnie wykonywanych transakcji jest rozwiązywany za pomocą metod, które możemy podzielić na trzy grupy: metody porządkowania według etykiet czasowych, metody walidacji blokowania W praktyce, w zdecydowanej większości komercyjnych systemów baz danych, w tym w systemie Oracle, stosowane są wyłącznie metody blokowania W czasie szeregowania operacji, realizowanych w ramach transakcji dotyczących tych samych danych, system zarządzania bazą danych wykorzystuje protokół blokowania dwufazowego (ang. two-phase locking) W fazie pierwszej transakcja modyfikująca dane uzyskuje wszystkie niezbędne blokady na tych danych Blokady te utrzymywane są przez cały czas trwania transakcji Zdejmowane są dopiero po zakończeniu transakcji, czyli w fazie drugiej

Zarządzanie transakcjami rozproszonymi W systemie Oracle transakcję kończy się poprzez jej zatwierdzenie lub wycofanie Domyślnie, każda transakcja jest jawnie kończona przez użytkownika Zakończenie jednej transakcji (zatwierdzenie lub wycofanie) jest początkiem transakcji następnej Transakcję zatwierdza się poleceniem commit, a wycofuje poleceniem rollback Należy pamiętać, że w Oracle wszystkie polecenia grupy DML (np. create table, create view, alter table, drop synonym) i polecenia grupy DCL (np. grant, revoke) kończą się niejawnym poleceniem commit

Zarządzanie transakcjami rozproszonymi Długą transakcję można podzielić na mniejsze, logicznie spójne fragmenty, wprowadzając w transakcji tzw. punkty zachowania (ang. savepoints) Transakcję taką można następnie wycofywać do wskazanego punktu zachowania Wprowadzenie punktu zachowania realizuje się poleceniem savepoint nazwa_pz; nazwa_pz - oznacza nadaną przez użytkownika nazwę punktu zachowania Wycofanie do wskazanego punktu zachowania realizuje się poleceniem rollback to savepoint nazwa_pz;

Blokowanie danych W systemie Oracle wyróżniamy dwa typy blokad: na rekordzie (ang. rów lock) na tabeli (ang. table lock) Wprowadzenie blokady na całej tabeli zmniejsza stopień współbieżności transakcji Zaletami blokowania całej tabeli są: łatwość zarządzania blokadami szybsze wykrywanie konfliktów blokad

Blokowanie danych Dwie blokady są zgodne (ang. compatible), jeżeli mogą być jednocześnie założone na te same dane przez wiele różnych transakcji W przeciwnym razie mówimy o blokadach niezgodnych W przypadku gdy jedna transakcja blokuje tabelę, a druga żąda blokady niezgodnej z blokadą założoną wcześniej, wówczas konflikt jest wykrywany już na poziomie blokady tabeli Jeżeli na rekordzie tabeli system założy blokadę, to zawsze będzie to blokada wyłączna (ang. exclusive), oznaczana jako X Dwie blokady X nie są zgodne

Blokowanie danych Blokada RX jest zakładana automatycznie w wyniku wykonania poleceń: insert, update, delete Oznacza to, że niektóre lub wszystkie rekordy tej tabeli są wstawiane, modyfikowane lub usuwane Dwie blokady RX na tej samej tabeli są zgodne warunkiem że każda z transakcji blokuje inne rekordy

Tryby pracy transakcji SZBD Oracle umożliwia pracę transakcji w trzech następujących trybach read-committed read-only serializable

Transakcja rozproszona Transakcja rozproszona (ang. distributed transaction) jest to transakcja, której polecenia DML odwołują się do tabel znajdujących się co najmniej w dwóch węzłach rozproszonej bazy danych Transakcja rozproszona jest reprezentowana przez zbiór transakcji lokalnych W każdej z baz danych, do której odwołuje się transakcja rozproszona, tworzona jest jedna transakcja lokalna

Węzły uczestniczące w transakcji rozproszonej Transakcja rozproszona odwołuje się do kilku węzłów rozproszonej bazy danych Każdy z tych węzłów pełni ściśle określoną funkcję Wyróżnia się następujące rodzaje węzłów: koordynator globalny - KG (ang. global coordinator) koordynator lokalny - KL (ang. local coordinator) węzeł zatwierdzania - WZ (ang. commit point site) uczestnik - U (ang. node)

Graf wywołań transakcji BANK1 update rachunki... koordynator globalny COMMIT_POINT STRENGTH=15 update rachunki@bank2 .... update rachunki@bank3 BANK3 koordynator lokalny COMMIT_POINT_STRENGTH=20 BANK2 węzeł zatwierdzania COMMIT_POINT_STRENGTH=100 insert innsurachunki@bank5 ... delete from rachunki@bank4 ... BANK4 BANK5 uczestnik COMMIT POINT STRENGTH=1 uczestnik COMMIT POINT STRENGTH=1

Protokół zatwierdzania dwufazowego 2PC Protokół 2PC składa się z dwóch głównych faz przetwarzania jednej fazy końcowej W fazie pierwszej następuje przygotowanie transakcji lokalnych do zatwierdzania lub wycofywania W fazie drugiej następuje zatwierdzanie lub wycofywanie transakcji lokalnych W fazie końcowej transakcja rozproszona jest kończona i usuwana z systemu koordynatora globalnego

Faza przygotowania Koordynator globalny wybiera węzeł zatwierdzania spośród wszystkich węzłów biorących udział w transakcji rozproszonej KG wysyła do wszystkich węzłów, z wyjątkiem węzła zatwierdzania, komunikat prepare, wymuszający przygotowanie się transakcji lokalnych do zatwierdzenia Po zakończeniu operacji przygotowania do zatwierdzenia transakcji każdy węzeł przesyła do koordynatora globalnego komunikat prepared, jeżeli operacje się powiodły

Faza przygotowania Jeżeli transakcja nie może zostać przygotowana do zatwierdzenia, wówczas przez SZBD wycofywane są wszystkie wprowadzone przez nią zmiany, zwalniane blokady, a do KG przesyłany jest komunikat abort Jeżeli w węźle nie modyfikowano danych, wówczas węzeł przesyła do KG komunikat read-only Jeżeli węzeł jest koordynatorem lokalnym, wówczas po otrzymaniu komunikatu prepare przygotowuje się do zatwierdzania i sam rozsyła komunikat prepare do podległych mu węzłów

Faza przygotowania Po otrzymaniu komunikatu prepared lub read-only od wszystkich węzłów mu podległych, koordynator lokalny przesyła komunikat prepared do KG Jeżeli choć jeden z węzłów podległych odpowie abort, wówczas koordynator lokalny wysyła komunikat abort do KG W ostatnim kroku tej fazy koordynator globalny odbiera komunikaty od wszystkich węzłów, z wyjątkiem węzła zatwierdzania

Wymiana komunikatów fazy przygotowania BANK1 koordynator globalny 1. Wybór WZ 2. prepare 5. prepared BANK3 koordynator lokalny BANK2 węzeł zatwierdzania 3. prepare 3. prepare 4. prepared 4. prepared BANK4 BANK5 uczestnik uczestnik

Faza zatwierdzania Jeżeli wszystkie komunikaty, odebrane przez koordynatora globalnego, to prepar lub read-only, wówczas faza zatwierdzania (ang. commit phase) jest realizowana w następujących krokach: Koordynator globalny wysyła do węzła zatwierdzania komunikat commit, informujący WZ o konieczności zatwierdzenia transakcji lokalnej w jego węźle WZ zatwierdza transakcję, a następnie wywołuje komunikat committed do KG. Bieżący stan transakcji jest zapamiętywany w słowniku bazy danych WZ Po otrzymaniu od WZ komunikatu committed KG przesyła komunikat commit do pozostałych węzłów

Faza zatwierdzania Każdy z węzłów po zatwierdzeniu swojej transakcji zapisuje informację o tej operacji w bieżących plikach dziennika powtórzeń, zwalnia blokady i odpowiada komunikatem committed, przesyłanym do KG Jeżeli węzeł jest koordynatorem lokalnym wówczas po otrzymaniu commit sam rozsyła ten komunikat do podległych mu węzłów, a następnie odbiera od nich potwierdzenie zatwierdzenia transakcji. Po ich otrzymaniu KL zatwierdza swoją transakcję lokalną i przesyła komunikat cormntted do KG Po odebraniu potwierdzeń zatwierdzenia transakcji od wszystkich węzłów następuje przejście do ostatniej fazy zatwierdzania

Wymiana komunikatów fazy zatwierdzania BANK1 koordynator globalny 1. commit 3. commit 2. committed 6. commmitted BANK3 koordynator lokalny BANK2 węzeł zatwierdzania 4. commit 4. commit 5. commmitted 5. committed BANK4 BANK5 uczestnik uczestnik

Faza zakończenia Faza zakończenia (ang.forgetphase)jest realizowana w następujących krokach: Po odebraniu od wszystkich węzłów komunikatu committed, koordynator globalny wysyła o tym informację do węzła zatwierdzania WZ usuwa informację z systemu lokalnego o zatwierdzonej transakcji. Po jej usunięciu informuje o tym KG KG usuwa informację o transakcji z systemu lokalnego

Awarie transakcji rozproszonych - mogą powstawać na skutek: błędów w oprogramowaniu aplikacyjnym, awarii procesów użytkowników, awarii drugoplanowych procesów systemowych instancji bazy danych, awarii sieci komputerowej, awarii zasilania, awarii sprzętu, np. procesora, pamięci operacyjnej i nośników danych

Awarie transakcji rozproszonych - mogą powstawać na skutek: Jeżeli awaria któregoś z węzłów nastąpi w czasie realizowania transakcji rozproszonej wówczas taka transakcja będzie w tzw. stanie zawieszenia do momentu usunięcia awarii, nawiązania połączenia ze zdalnym węzłem i doprowadzenia transakcji do końca Transakcję w stanie zawieszenia można odtworzyć na dwa sposoby: automatycznie — uruchamiając dedykowany do tego celu proces systemowy, manualnie przeszukując węzły i zatwierdzając lub wycofując ich lokalne transakcje

Automatyczne odtwarzanie transakcji Odtwarzaniem transakcji zajmuje się tzw. drugoplanowy proces odtwarzający RECO - jest to proces instancji bazy danych Proces RECO będzie automatycznie odtwarzał transakcje rozproszone w stanie zawieszenia jeżeli w bazie danych włączono odtwarzanie automatyczne Realizuje to polecenie: alter system enable distributed recovery;

Automatyczne odtwarzanie transakcji BANK1 koordynator globalny BANK3 BANK2 update rachunki .... update rachunki@bank3 .... update rachunki@bank2 .... uczestnik węzeł zatwierdzania

Stan węzła w systemie węzeł zatwierdzania zatwierdził swoją lokalną transakcję; stan transakcji rozproszonej przechowywany w WZ określony jest jako zatwierdzona koordynator globalny odebrał potwierdzenie zatwierdzenia transakcji od WZ uczestnik odebrał komunikat commit od koordynatora globalnego - po jego odebraniu węzeł uległ awarii (np. z powodu zaniku napięcia zasilania) - węzeł nie opowiedział komunikatem committed

Automatyczne odtwarzanie transakcji - akcje Stan węzła w systemie Automatyczne odtwarzanie transakcji - akcje RECO okresowo próbuje nawiązywać połączenie z węzłem BANK3 Po ponownym uruchomieniu bazy danych BANK3, baza ta jest odtwarzana za pomocą standardowych mechanizmów systemowych Nawiązane zostaje połączenie między procesem RECO a bazą BANK3 Korzystając z informacji o stanie transakcji rozproszonej, przechowywanej przez węzeł zatwierdzania, tj. transakcji zatwierdzona, proces RECO powoduje zatwierdzenie lokalnej transakcji w węźle BANK3.

Manualne odtwarzanie transakcji Stan węzła w systemie Manualne odtwarzanie transakcji Jeżeli w systemie wyłączono automatyczne odtwarzanie transakcji, wówczas jedynym sposobem doprowadzenia zawieszonej transakcji do końca jest interwencja administratora systemu Musi on przeszukać węzły, stwierdzić, które transakcje są w stanie zawieszenia, i zatwierdzić lub wycofać je za pomocą poleceń SQL, zgodnie ze stanem transakcji rozproszonej przechowywanym w węźle zatwierdzania

Programowe symulowanie Stan węzła w systemie Programowe symulowanie Producent SZBD Oracle dostarcza mechanizm programowego symulowania awarii transakcji rozproszonych Awaria węzła zatwierdzania po odebraniu przez koordynator globalny komunikatów prepared Awaria węzła uczestnika po odebraniu przez koordynator globalny komunikatów prepared Awaria węzła uczestnika przed przygotowaniem się do zatwierdzania Awaria węzła uczestnika po przygotowaniu się do zatwierdzania Awaria węzła zatwierdzania przed zatwierdzeniem transakcji Awaria węzła zatwierdzania po zatwierdzeniu transakcji Awaria węzła uczestnika przed zatwierdzeniem transakcji Awaria węzła uczestnika po zatwierdzeniu transakcji Awaria węzła zatwierdzania przed przejściem do fazy zakończenia Awaria węzła uczestnika przed przejściem do fazy zakończenia

Hurtownie danych Hurtownia danych - zestaw narzędzi pozwalających kierownikom, dyrektorom i analitykom szybciej i skuteczniej podejmować decyzje hurtownia danych – zorientowana podmiotowo, zintegrowana, zróżnicowana czasowo i trwała kolekcja danych przeznaczona do wspomagania procesu podejmowania decyzji przez kierownictwo Inmon (1993 r.)

Korzyści ze stosowania hurtowni danych Potencjalnie wysokie dochody z inwestycji Przewaga nad konkurencją Większa wydajność korporacyjnych decydentów

Problemy z hurtowniami danych Niedoszacowanie zasobów potrzebnych do wprowadzania danych Ukryte problemy z systemami źródłowymi Brak wpisów potrzebnych danych Rosnące wymagania użytkowników Trudności z ujednoliceniem danych Wysokie zapotrzebowanie na zasoby Własność danych Złożona pielęgnacja systemu Długoterminowość projektów Złożoność integracji

Architektura scentralizowana Centralna hurtownia danych źródło . . . klienci

Architektura federacyjna Wirtualna hurtownia danych źródło . . . klienci Finanse Marketing Dystrybucja

Architektura warstwowa Hurtownia danych przedsiębiorstwa Tematyczne hurtownie danych (podsumowania, wybrane dane

Źródłem danych dostarczanych do hurtowni mogą być: dane komputera centralnego przechowywane w hierarchicznych i sieciowych bazach danych. Dane wydziałowe przechowywane w firmowych systemach plików oraz relacyjnych SZBD Dane prywatne znajdujące się na stacjach roboczych i prywatnych serwerach Zewnętrzne systemy internet bazy danych dostępne komercyjnie bazy danych powiązane z dostawcami lub klientami organizacji

Typowy schemat hurtowni danych Źródło danych operacyjnych 1 Narzędzia do tworzenia raportów i zapytań Zarządca hurtowni DOPŁYW Metadane Mocna skumulowane dane Lekko skumulowane dane Szczegółowe dane Narzędzia dostępne dla użytkowników Zarządca wprowadzania danych Dane archiwalne i kopie zapasowe Zarządca zapytań

Podstawowym zadaniem hurtowni jest zarządzanie pięcioma głównymi przepływami danych, a mianowicie: dopływ wznoszenie się kumulacja pakowanie dystrybucja odpływ wypływ udostępnianie dostarczanie przepływ metadanych

Metamodel MDIS (Metadata Interchange Specification) Podschemat Rekord Wymiar Poziom Relacja Element Baza danych