Architektura systemu zarządzania bazą danych2.doc

(304 KB) Pobierz
Architektura systemu zarządzania bazą danych

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Architektura systemu zarządzania bazą  danych   

 

 

 

 

 

 

 

 

 

                                    Wykonanie:

                                                                                                  Katarzyna Gębal

                                                                                                  Joanna Michałów

 

                                                                                                                             

                                                        Wstęp

 

 

   W porównaniu z innymi systemami baz danych MySQL jest stosunkowo prosty w użyciu, a wysiłek, który trzeba włożyć w jego zainstalowanie, również nie jest zbyt duży. Prawdopodobnie to właśnie prostota jest źródłem popularności MySQL wśród użytkowników, którzy nie są ani nie zamierzają być programistami.

 

   Jednak MySQL nie będzie działać bez nadzoru użytkownika. Cały czas ktoś musi obserwować system, sprawdzając , czy działa sprawnie i wydajnie, a także rozwiązuje problemy, które mogą się pojawić w czasie pracy systemu. Dlatego ta praca  przeznaczona jest dla osób odpowiedzialnych za działanie MySQL w miejscu pracy.

 

   W naszej pracy chciałybyśmy przedstawić różne aspekty administrowanie systemu MySQL.

Mowa będzie o przeglądaniu spraw i obowiązków związanych z administrowaniem systemem, jak również dostarczymy informacji, jak sobie z nimi radzić.

 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                             CZĘŚĆ 

I

 

 

 

 

 

 

 

 

Relacyjne bazy danych

 

 

 

 

 

 

 

 

 

 

 

 

   Relacyjne bazy danych są bardziej wydajniejsze niż pliki tekstowe, a ich obsługa za  pomocą języka zapytań SQL jest prosta i przyjemna. Relacyjne bazy danych składają się z kolumn i rekordów. Każda kolumna ma swoja nazwę, a każdy rekord przechowuję inną propozycję. Pola są określonego typu, dlatego można w nich przechowywać teksty, liczby, daty czy obrazki. Klucze podstawowe umożliwiają jednoznaczną identyfikację danego rekordu. W relacyjnej bazie danych kolejność rekordów nie ma znaczenia, ponieważ  za pomocą języka SQL można nie tylko wybrać interesujące rekordy, ale również je posortować.

 

 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FIZYCZNA ORGANIZACJA DANYCH W  BAZACH          DANYCH

 

 

 

Model fizyczny bazy danych oparty jest na pojęciu pliku i rekordu:

 

    PLIK-składa się z rekordów o tym samym formacie.

    FORMAT REKORDU-jest listą nazw  pól.

    REKORD-składa się z wartości poszczególnych pól.

Niektóre pola są wyróżnione jako klucz rekordu.

 

Typowymi operacjami na pliku są:

Ø      Wstawianie- wstaw rekord do pliku.

Ø      Usuwanie- usuń rekord z pliku.

Ø      Modyfikacja- zmodyfikuj zawartość pól w rekordzie w pliku.

Ø      Wyszukiwanie- znajdź w pliku rekord z podaną wartością w danym polu.

 

 

 

PAMIĘĆ ZEWNĘTRZNA (dyskowa)- jest podzielona na równej wielkości  bloki. Każdy blok jest identyfikowany przez swój adres na dysku. Plik zajmuje jeden lub więcej bloków. Rekord jest identyfikowany łącznie przez adres bloku oraz adres wewnątrz bloku.

Dane w bazie danych są na stałe przechowywane w plikach na dysku. Aby móc je użyć lub przetworzyć, muszą zostać przesłane do buforów w pamięci wewnętrznej. Podstawową cecha pamięci dla bazy danych jest jej  dwupoziomowość. Ten sam blok danych może być jednocześnie zapisany na dysku i w buforze w pamięci wewnętrznej. Oprócz standardowej organizacji bloków pamięci system zarządzania bazą danych ma także do czynienia z dużymi obiektami, często obsługiwanymi przez inne wyspecjalizowane aplikacje( np. edytor tekstów, obrazów czy dźwięków). Na ogół duże obiekty są przechowywane osobno i tylko wskaźniki do nich znajdują się w zwykłych blokach z danymi.

    Operacją zajmującą najwięcej czasu w bazach danych jest przesłanie bloku między pamięcią  zewnętrzną i wewnętrzną . Operacja ta nosi nazwę dostępu do bloku. Szybkość operacji na bazie danych ocenia się liczbą dostępów do bloków.

 

  Podstawowe struktury danych dla modelu fizycznego bazy danych:

Ø      PLIKI NIEUPORZĄDKOWANE (organizacja heap):

Rekordy są wpisywane po kilka do kolejnych bloków. Nowy rekord wstawia się do pierwszego bloku  w którym jest wolne miejsce. Rekord  usuwa się przez ustawienie specjalnego bitu usunięcia  na 1 (wydzielonego w każdym rekordzie). Gdy nie ma wskaźników do usuwanego rekordu, zwalniane  miejsce może być użyte przez nowy rekord. Wyszukiwanie w oparciu o wartość  jednego lub kilku pól jest kosztowne- trzeba po kolei sprawdzać wszystkie rekordy w pliku(sprowadzając je do pamięci wewnętrznej). Koszt wyszukiwania to n/k  dostępów do    bloków. Organizacja nieuporządkowana jest dobra, gdy rekord pliku są przeglądane sekwencyjnie w dowolnej kolejności(np. przy złączaniu).

Ø      PLIKI HASZOWANE ( MIESZANE):                                                                                                    Plik składa się ze skorowidza i zbioru list bloków- po jednej dla każdej pozycji skorowidza.

Funkcja haszująca (mieszająca) podaje dla wartości klucza rekordu numer listy bloków. Na podstawie numeru listy bloków jest odczytywany ze skorowidza fizyczny adres listy bloków, na której dany rekord jest umieszczany. Postępując podobnie, możemy go wyszukać w oparciu o jego klucz.

Przy odpowiednio dobranej liczbie pozycji w skorowidzu, a co za tym idzie, liczbie list bloków, wyszukiwanie rekordu o danej wartości klucza jest realizowane w stałym czasie(podobnie modyfikacja, wstawianie i usuwanie) dokładnie średnio 1+n/(k*B) dostępów do bloków: 1 blok skorowidza i n/(k*B) bloków list kolizji (gdzie  B jest liczba pozycji w skorowidzu).

W reprezentacji  używającej haszowania nie możemy przetwarzać  rekordów w kolejności uporządkowanej względem wartości klucza.

Ø      PLIKI INDEKSOWANE:

Rekordy są przechowywane w tzw. Pliku głównym w kolejności uporządkowanej lub nie, z dobudowanym specjalnym plikiem indeksującym czyli  indeksem.:

ü      METODA ISAM (INDEKSOWO- SEKWENCYJNA):

Rekordy są przechowywane w pliku głównym w kolejności uporządkowanej     względem wartości klucza. Indeks zawiera posortowany ciąg kluczy rekordów znajdujących się jako pierwsze w kolejnych blokach pliku głównego razem a z adresami tych bloków.                                                                      

 

W poniższym przykładzie mamy do czynienia z czterema blokami pliku głównego, z podanymi tylko kluczami rekordów i z tylko jednym blokiem indeksu.             

 

 

 

INDEKS                    

(1,b1)(9,b2) (20,b3)(77,b4)

 

         b1                          b2                        b3                          b4                 

 

1  3  5   7

 

9 1113 15

 

20 21 27 60

 

77 89  ……

    PLIK GŁÓWNY

 

 

             Wyszukiwanie rekordu o danej wartości klucza odbywa się najpierw w pliku indeksującym (zawierające posortowane klucze).

                Po zidentyfikowaniu bloku  pliku głównego, w którym może się znajdować  rekord o danym kluczu, szukamy rekordu w zlokalizowanym bloku. Wyszukiwanie ma koszt 1+log(n/kI2) dostępów do bloków  [ 1 blok pliku głównego i log (n/kI2) bloków indeksu ].

 

Wypisywanie rekordów w kolejności uporządkowane jest bezpośrednie. Wstawianie rekordów może być trudne, gdy cały blok pliku głównego jest już zajęty. Dlatego bloki wypełnia się tylko częściowo, albo zezwala się na doczepianie dodatkowych bloków.

ü      B-DRZEWA:

          Aby uczynić strukturę indeksu bardziej elastyczną  (aby umożliwić wstawianie i usuwanie bez ograniczeń) , nad plikiem głównym rozbudowuje się hierarchię indeksów mającą strukturę drzewa , nazywaną B-drzewem.. W drzewie tym bloki zawierające rekordy pliku głównego znajdują się w liściach na najniższym poziomie. Wszystkie liście są na tej samej głębokości (tym samym ostatnim poziomie). Indeks pierwszego składa się z jednego bloku zawierającego indeks do bloków drugiego poziomu. Indeks drugiego poziomu stanowi indeks do bloków trzeciego poziomu itd.

 

 







Pierwszy poziom



 











Drugi poziom

































 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                               --------------------------------

 

















Przedostatni poziom                                                       

 

             













Poziom pliku głównego

             

 

Poziom indeksu składa się  z odpowiedniej wartości klucza i wskaźnika. Każdy blok jest zapełniony rekordami co najmniej w połowie. Wyszukiwanie polega na przejściu ścieżką w dół drzewa od korzenie do liścia-liczba dostępów do bloku =1+log(n/k)/log k < 1+log n..

Wstawianie da się też wykonać w czasie logarytmicznym od n gdyż dotyczy ono jednej ścieżki od korzenia do liścia drzewa. Jednak może ona wymagać dostawienia dodatkowych bloków na każdym poziomie. Usuwanie rekordu dotyczy też jednej ścieżki w B-drzewie .Gdy w jakimś bloku pozostanie mniej niż k/2  rekordów, usuwa się ten blok z drzewa, a rekordy dostawia się do innych bloków.

 

                           

ü      B-DRZEWA jako INDEKS GĘSTY:]

W bazie danych zachodzi potrzeba zakładania indeksów względem innych kluczy .Dla każdego takiego klucza tworzy się wówczas  tak zwany indeks gęsty składający się z par (klucz, p), gdzie klucz —  wartość odpowiedniego klucza rekordu a p wskaźnik do niego w pliku głównym , po wszystkich rekordach pliku głównego. Wielopoziomowe drzewo B-drzewo buduje się nad indeksem gęstym – pozostawiając plik główny niezmieniony. Operacje wyszukiwania, wstawiania, usuwania i modyfikacji przebiegają podobnie jak poprzednio - do kosztu dochodzi jeden dodatkowy dostęp do  bloku.

Toteż w bazie danych potrzebne są też  indeksy względem pól, które nie tworzą klucza. Rekordy Indeksu gęstego maja postać   (klucz, p1,......,pk)   gdzie p1,.....pk są wskaźnikami do rekordów w pliku głównym, w którym wartość klucza indeksu jest równa wartości klucz. Taki indeks gęsty razem z plikiem głównym tworzą tak zwany  plik odwrócony.

 

 

          GRUPOWANIE REKORDÓW RÓŻNYCH TYPÓW

 

...

Zgłoś jeśli naruszono regulamin