Architektura systemw baz danych SYSTEMY BAZ DANYCH Terminologia
Architektura systemów baz danych SYSTEMY BAZ DANYCH
Terminologia q. Baza danych jest to zbiór danych trwałych, które są wykorzystywane przez system aplikacji danej organizacji. q. Baza danych, rozumiana jako zbiór danych, wraz z aplikacją bazy danych stanowią system bazy danych.
Aplikacja bazy danych q. Aplikacja bazy danych jest to program lub zespół programów, które pomagają użytkownikowi pracować z bazą danych. q. Celem aplikacji jest: § odizolowanie samej bazy od użytkownika § zabezpiecza zbiór danych przed przypadkowym bądź celowym uszkodzeniem
Systemy baz danych q. Można wyróżnić pięć zasadniczych komponentów tworzących systemy z bazą danych: § sprzęt § oprogramowanie § dane § procedury § ludzie
Systemy baz danych q. Sprzęt: § Zakres wymagań sprzętowych zależy od potrzeb użytkownika, konkretnych rozwiązań czy wreszcie wymagań samego DBMS q. Oprogramowanie: § Składowymi oprogramowania są zarówno same Systemy Zarządzania Bazą Danych jak i aplikacje i programy użytkowe, systemy operacyjne oraz oprogramowanie sieciowe
Systemy baz danych q. Dane: § Pod pojęciem danych rozumieć należy zarówno dane operacyjne, jak i meta dane, czyli „dane o danych”. Strukturę danych określa schemat bazy danych q. Procedury: § Procedury precyzują zasady projektowania i użytkowania bazy danych
Systemy baz danych q. Ludzie: § administratorzy baz danych § projektanci i programiści aplikacji bazodanowych § użytkownicy końcowi.
Architektura systemów baz danych q. Opis elementów stanowiących system baz danych, sposób w jaki są one ze sobą powiązane oraz logika tej organizacji składają się na architekturę systemu baz danych. q. Architektura systemów baz danych rozwijała się od tzw. architektury jednowarstwowej, w kierunku architektury wielowarstwowej.
Systemy baz danych - rozwój q. Cztery ważne, z punktu widzenia ewolucji systemów baz danych zdarzenia: § pojawienie się sieci komputerowych § Internet § System WWW § Intranet
Architektura jednowarstwowa q. Model jednowarstwowy stanowi samodzielny system lub pojedyncza aplikacja, nie wymagające żadnej zewnętrznej komunikacji do wykonywania zadań. q. Szczególnym przypadkiem architektury jednowarstwowej są niesamodzielne maszyny terminalowe, pozbawione mocy obliczeniowej, połączone do serwera. W takim przypadku system serwera razem z terminalami jest najczęściej definiowany jako jedna warstwa.
Architektura klient-serwer q. Termin architektura typu klient serwer wywodzi się od sposobu interakcji komponentów softwarowych z systemem: § klient jest procesem który potrzebuje pewnych zasobów § proces serwera tych zasobów dostarcza
Architektura klient-serwer q. Na aplikację bazy danych można spojrzeć jako na zestaw kilku warstw, wykonujących ściśle określone zadania q. Warstwa jest pojęciem logicznym, umożliwiającym zaprojektowanie programu prostszego w budowie i obsłudze
Architektura komunikacyjna klient - serwer
Architektura dwuwarstwowa q. Dwie warstwy oprogramowania: § warstwa serwera –proces serwera § warstwa klienta - proces klienta q. Lokalizacja obu procesów: § mogą one znajdować się na jednym komputerze (baza lokalna) § zazwyczaj serwer umieszczany jest na innym komputerze niż procesy klienta, komunikując się poprzez LAN
Architektura dwuwarstwowa q. Podział zadań w architekturze klient serwer: § na serwerze znajdują się dane oraz oprogramowanie zapewniające dostęp do danych, tzw. SZBD § po stronie serwera następuje również realizacja zapytań, realizacja ograniczeń oraz przetwarzanie danych § klient natomiast jest odpowiedzialny za prezentację danych – po stronie klienta jest umieszczony interfejs użytkownika. § klient realizuje logikę aplikacji oraz również jest odpowiedzialny za przetwarzanie danych
Architektura dwuwarstwowa q. Zalety: § bezpieczeństwo serwera § minimalizacja ruchu w sieci § możliwość przetwarzania danych bezpośrednio na serwerze § odciążenie centralnego komputera od obsługi interfejsu użytkownika § budowa sporych systemów bez użycia wielkich komputerów
Architektura dwuwarstwowa q. Wady: § utrudnienia związane z administrowaniem: o konieczność administrowania wieloma komputerami § utrudnione administrowanie aplikacjami § duże koszty eksploatacji PC-tów § niski poziomem bezpieczeństwa § brak kontroli nad działaniami użytkowników
Przykłady q. Program napisany w języku ogólnego przeznaczenia (np. : Delphi, C#) komunikujący się bezpośrednio z serwerem SQL (np. : Postgre. SQL, Oracle), q. Kontrolka COM/Active. X z podłączonymi klientami usługi, q. Przeglądarka internetowa współpracująca z serwerem HTTP, oferującym statyczne strony.
Architektura trójwarstwowa q. Dzieli aplikację bazy danych na trzy, współpracujące ze sobą części: § Warstwę dolną, realizującą dostęp do bazy danych, § Warstwę środkową, zawierającą reguły dziedziczenia danych, § Warstwę górną, stanowiącą interfejs użytkownika
Warstwa pierwsza * Interfejs użytkownika Stacja kliencka
Architektura trójwarstwowa
Architektura trójwarstwowa q Schemat działania: § Warstwa klienta jest odpowiedzialna za wizualizację graficznego interfejsu użytkownika oraz wysyłanie żądań do serwera. Klient komunikuje się z serwerem poprzez protokół HTTP. § Serwer obsługuje żądania, uruchamiając aplikację przetwarzającą żądania klientów i generującą dynamiczne dokumenty. § Warstwa danych poprzez język SQL umożliwia aplikacji dostęp do danych oraz ich zapisywanie lub usuwanie. § Serwer wysyła przeglądarce odpowiedź w postaci pliku HTML i dołączonych plików graficznych, skryptów oraz arkuszy CSS.
Architektura trójwarstwowa q. Warstwa dolna to prawie zawsze programy wykonywane na serwerze, obsługujące zlecenia warstwy środkowej q. Warstwy górna i środkowa mogą być scalone w jeden program bądź rozdzielone q. Warstwa środkowa może być klientem lub serwerem q. Warstwa górna jest zawsze klientem
Architektura trójwarstwowa q. Gdy w warstwie klienta lokowany jest jedynie interfejs użytkownika, który realizuje prezentację danych i przekazywanie danych do warstwy aplikacji mówi się o tzw. „chudym (cienkim) kliencie” ze względu na małą ilość funkcji, jaką w tej technologii realizuje strona klienta.
Użytkownik Klient Warstwa górna (interfejs uż ytkownika) sieć Serwer Warstwa środkowa (oprogramowanie bazy danych) Dostęp do bazy danych sieć Baza danych Warstwa dolna (serwer baz danych) Baza danych
Architektura trójwarstwowa q. Cienki klient: § interfejs użytkownika jest stroną WWW, którą obsługuje przeglądarka internetowa § Warstwa druga realizuje funkcje systemu oraz przetwarzanie danych o kontaktuje się z warstwą klienta i serwerem lub serwerami bazy danych poprzez sieć lokalną LAN lub WAN § Warstwa trzecia jest odpowiedzialna za fizyczne przetwarzanie i magazynowanie informacji i najczęściej stanowią ją serwery baz danych
Architektura trójwarstwowa q. Bardziej złożone interfejsy mogą realizować zarówno interfejs użytkownika jak i część logiki aplikacji. q. Oznacza to, że klient zawiera więcej niż jedną warstwę, czyli jest klientem wielowarstwowym. Mamy wtedy do czynienia z tzw. „grubym klientem”
Architektura trójwarstwowa q. Korzyści: § większość zalet architektury klient serwer § prostsze projektowanie § prostsza implementacja § możliwość powtórnego wykorzystania komponentów po stronie serwera § łatwość rozprowadzania w sieci (równomierne obciążenie i odporność na awarie)
Przykłady architektury 3 -warstwowej qprzeglądarka internetowa współpracująca z serwerem aplikacji (HTTP ze wsparciem PHP, ASP, JSP, XSQL lub innych narzędzi), korzystającym z bazy SQL - klasyczny model trójwarstwowy, qhierarchiczny system synchronizacji czasu - NTP (network time protocol).
- Slides: 30