WYKŁAD 12 (04.01.2006)
BAZY DANYCH W INTERNECIE- INTEGRACJA TECHNOLOGI BD Z TECHNOLOGIĄ WWW
Wady technologii baz danych
Prezentacja informacji ( wyszukiwanie w b.d za pomocą języka zapytań) raport, formularz-pokazać wyniki zapytań
Narzędzia
Kreator formularzy, raportów w accesie - łatwo stworzyć, ale standardowy raport
Narzędzia dedykowane do homogenicznych środowisk
Access tylko w środowisku Windowsa
Koszt prezentacji - wynika z czasochłonności odpowiednich platform
Technologie WWW
Usługi
WWW
FTP
Poczta
Interakcyjne współdziałanie (pogawędki)
INTERNET- kierunki
narzędzie do publikowania informacji,środowisko WWW dokument hipertekstowy (HTML język znaczników hipertekstowych)
komunikacja - komunikatory, techn. mobilna z dowolnego miejsca mobilnego.(np. komórka)
do prowadzenia transakcji (kupić, sprzedać, przesyłanie warunków umowy)
business inteligence - wywiad, który zbiera informacje, źródła o klientach, konkurencji
Zalety Internetu (WWW):
niezależność od platformy ( aplikacje wielowarstwowe, aplikacje klient- serwer)
przeglądarka (wysyła zapytania do serwera, interpretuje)
powiązanie dokumentów w sieć, poprzez linki (odsyłacze)
każdy zasób udostępniony w Internecie jest jednoznacznie identyfikowalny
przez nawigowanie w sieci (adres)
wyszukiwanie (searching) za pomocą systemów wyszukiwawczych -> tworzą bazę danych, która jest przeszukiwana przez użytkownika
Wady technologii (WWW):
niewygoda aktualizacji np. strona w 2 językach
strona technologiczna- jak właściwie zapewnić publikacje informacji, modyfikacja może być po stronie klienta i serwera
dynamiczne dokumenty aktualizowane z bazy danych, technologia trójwarstwowa.
Co jest potrzebne żeby stworzyć aplikację?
PROGRAMOWANIE JĘZYKA SKRYPTOWEGO
Dostępne technologie(środowiska)
windows
Visual Basic
Technologia ASP , (dot).net
PHP - zaleta darmowa, ogólnodostępna
Java Script -JSP zalety- największe możliwości z wszystkich, używana przy aplikacjach mobilnych
Środowisk jest znacznie więcej.
(dotnet) .NET
Zalety łatwość wdrożenia, integracja z całym środowiskiem orfice
Wady: tylko platforma Windows
Generacja PHP
Dzisiaj PHP5 charakteryzuję się obiektowością
NARZĘDZIA INTERNETOWE APLIKACJI WWW
Notatnik- możemy napisać tekst,
hypertekst - dokument wielowarstwowy, tekst, opis tekstu (warstwa formatująca powiązana semantycznie)
Pajączek
Macromedia
Front page
Dream ….
CMS - gotowe generatory aplikacji (powłoki aplikacji) umożliwiające publikowanie, zarządzanie treścią ( content menagement system)
CMS komercyjne - windows - każda z dużych firm ma swój system
CMS opensource'owe PHP niuk, mambo, OOPS, OP ( nie biorę odpowiedzialności za te nazwy ;))
Technologia - żeby pracować z CMS musi być-> BD mysql, BD postgres?
FUNKCJONALNOŚĆ CMSów
Do czego stosujemy - grupy dyskusyjne, formularze-> korzystamy z bd do prezentowania pobierania informacji od użytkownika, forum
Ułatwia tworzenie map serwisów
Witryny internetowe wielojezykowe
Replikacja dokumentów( mankament objętość, niespójność, pracochłonność aktualizacji)
Portale
Internetowe- onet, wp, interna,o2-> hortale, wielotematyczne portale
Monotematyczne- koncentrują się na jednym zagadnieniu
Korporacyjne- wszystko o danej organizacji
INTRANET- sieć wewnętrzna, internetowa, wybrani użytkownicy
EXTRANET- Intranet + wybrani użytkownicy np. klienci
CMS - szkieletowe rozw. tworzenia aplikacji internetowych
WYKŁAD 13 (18.01.2006)
ROZPROSZONE BAZY DANYCH
- zbiór baz danych umieszczonych w wielu węzłach sieci komputerowej- lokalnej lub rozległej
3 rodzaje przezroczystości:
Geograficzna- użytkownicy nie muszą wiedzieć, w którym dokładnie miejscu są przechowywane dane
Fragmentaryzacji - użytkownicy nie musza wiedzieć, w jaki sposób dane są podzielone
Replikacji -użytkownicy nie muszą wiedzieć, w jaki sposób dane są powielane.
TYPY ROZPROSZONYCH BAZ DANYCH
Syst. typu klient- serwer
Jednorodna rozproszona baza danych
Niejednorodna rozproszona baza danych
Federacyjny system baz danych (multibaza)
ZALETY ROZPROSZONYCH BAZ DANYCH
Zniesienie ograniczenia objętości danych dotyczącego jednego węzła
Możliwość równoległego przetwarzania danych
Dostęp do odległych (ang. remote) baz danych.
KOMPLIKACJA ZADAŃ ZARZĄDZANIA W SYSTEMACH ROZPROSZONYCH BD
Modyfikacja danych rozproszonych ( realizacja transakcji rozproszonych),
Odtwarzanie poprawnego stanu bazy po awarii
Optymalizacja zapytań bardziej złożona niż w przypadku scentralizowanych
Kontrola współbieżnego dostępu dodanych(zwłaszcza w kontekście wielu kopii tabeli)
Potencjalna niejednorodność systemów lokalnych (modele danych, języki zapytań, systemy operacyjne, platformy sprzętowe)
SYSTEM ZARZĄDZANIA ROZPROSZONĄ BAZĄ DANYCH (SZRBD) - Zbiór narzędzi umożliwiających połączenie rozproszonych zasobów w całości i udostępnianie ich użytkownikom
ARCHITEKTURA SZRBD
Procesory danych- odpowiedzialne za zarządzanie danymi w poszczególnym węźle
Procesor aplikacji -koordynator dostępu do danych w różnych węzłach
Oprogramowane komunikacyjne- dostarcza podstawowe usługi do realizacji procesora aplikacji (np. Java Spaces jako jedna z implementacji modelu wirtualnie współdzielonej pamięci)
ZASADA PRZEZROCZYSTOŚCI
Lokalizacja i rozproszenie miejsca, w których przechowuje się dane
Podziału bądź powielania danych.
Rodzaje replikacji i ich zastosowanie
Migawkowa
Transakcyjna
Scalająca
Replikacja migawkowa
Dane statyczne
Problem opóźnionej aktualizacji danych
Niewielkie ilości danych
Brak stałego połączenia bazy wydawcy z bazami subskrybentów
Niewielkie ilości danych.
Replikacja transakcyjna
Natychmiastowe przenoszenie zmian danych do subskrybentów
Zachowanie kompletności transakcji
Stałe połączenie bazy wydawcy z bazami subskrybentów
Jednoczesna aktualizacja danych u wszystkich subskrybentów
Replikacja scalająca
Modyfikacja danych przez wielu subskrybentów w różnym czasie
Brak stałego połączenia subskrybentów bazą wydawcy
Synchronizacja danych - na żądanie lub wg ustalonego harmonogramu
Autonomia poszczególnych subskrybentów bazy wydawcy
Przykład zastosowania.
Wymiana danych bez utrzymywania stałych połączeń
Internet
Aplikacja do raportowania i wspomagania decyzji
PROJEKTOWANIE RELACYJNEJ BAZY DANYCH
Podejście top-down -od ogółu do szczegółu począwszy od analizy wymagań
Podejście bottom-up -integracja istniejących baz danych
ARCHITEKTURA SCHEMATU RBD
Podejście top-down
TYPY ROZPROSZENIA DANYCH
Kryterium rozproszenia danych określone w schemacie podziału do fragmentacji:
Mieszanej
Pionowej
Poziomej
FRAGMENTACJA POZIOMA
Przykłady
oddziały pewnego banku prowadzą rachunki swoich klientów
Dozór: NrOdziału =<wartość>
FRAGMENTACJA PIONOWA
Przykład
Oddzielenie od siebie grup atrybutów reprezentujących informacje o tym samym obiekcie
FRAGMENTACJA MIESZANA
TYPY ROZPROSZONYCH DANYCH -WADY I ZALETY
FRAGMENTACJE
przy przemyślanym rozproszeniu i alokacji większość operacji będzie dokonywana na danych lokalnych => mniejsze obciążenie sieci(+)
uzyskanie pełnego obrazu logicznej jednostki danych wymaga zebrania w całość danych z wielu węzłów(-)
REPLIKACJE (mamy do czynienia z całą bazą danych)
wystarczy dostęp do najbliższej kopii danych ( np. lokalnej) większa odporność na awarie węzłów
konieczność aktualizacji każdej kopii dla podtrzymania ich spójności(-)
SYSTEM WIELOBAZOWY
system tworzony przez integrację informacji z wcześniej niezależnie od siebie funkcjonalnych baz lokalnych, nadzorowanych przez lokalne systemy zarządzania bazą danych - system wielobazowy (ang. multidatabase)
użytkownik dysponuje mechanizmami dostępu do danych rozproszonych dzięki komponentowi globalnemu. Formułuje zapytania globalne.
Włączenie lokalnej bazy danych do systemu wielobazowego zwiększa zasięg dostępności danych, nie powinno jednak mieć wpływu na jej funkcjonowanie jako scentralizowanej bazy danych, której korzystają aplikacje lokalne (autonomia systemu lokalnego).
…… komponentowi globalnemu. Formułuje zapytania globalne.
TRANSAKCJA ROZPROSZONA
z punktu widzenia użytkownika:
ciąg instrukcji wydanych przez użytkownika operujących na logicznych jednostkach danych figurujących w schemacie ( globalnym lub zewnętrznym)dostępnym użytkownikowi.
z punktu widzenia SZRBD:
zestaw transakcji lokalnych operujących na jednostkach fizycznych lokalnych baz danych (pojedyncza transakcja lokalna dotycząca 1 lokalnej bazy danych)
o powodzeniu transakcji rozproszonej (globalnej) mówimy, jeśli wszystkie transakcje lokalne wchodzące w jej skład zakończyły się pomyślnie
jeśli choć jedna transakcja lokalna zakończyła się nie pomyślnie to należy wycofać skutki tych wszystkich transakcji lokalnych, które zakończyły się pomyślnie. Powrót do stanu sprzed rozpoczęcia transakcji odbywa się za pomocą polecenia ROLLBACK (ABORT) lub przez wykonanie transakcji kompensującej.
PROTOKÓŁ WYPELNIANIA TRANS. ROZPÓR
realizacja tran. rozpr wymaga uzgodnienia rezultatów wykonania transakcji lokalnych, wchodzących w jej skład
uzgodnienie to przeprowadzone jest w ramach ………………………
podział ról: klient obsługujący żądanie użytkownika pełni rolę koordynatora transakcji, moduły ….
Punkt startowy - użytkownik wydaje polecenie COMMIT kończące się transakcją rozproszoną.
RELACJE MIĘDZY KOPIAMI:
Master- Slaves
PEER-TO-PEER
Warstwa danych
Warstwa aplikacji
Serwer BD
Serwer WWW
KL
Schemat lokalny bazy danych
Schemat lokalny bazy danych
Schemat alokacji RBD
Schemat podziału RBD
Schemat globalny
RBD
Warstwa prezentacji