24 I DZIEDZINA SYSTEMÓW BAZ DANYCH
Początkowo systemy zarządzania bazami danych wymagały ogromnych komputerów, a same były bardzo obszerne i bardzo kosztowne. Wymagania co do wielkości wynikały stad, żc tylko wielki system komputerowy mógł pomieścić gigabajty danych. Obecnie gigabajt mieści się na jednym dysku i uruchomienie systemu DBMS na komputerze osobistym stało się zupełnie realne. Dlatego też relacyjne systemy baz danych pojawiają się na bardzo małych maszynach i zaczynają być lak samo popularnym narzędziem w zastosowaniach technik komputerowych, jak arkusze kalkulacyjne i edytory tekstu.
Patrząc na to z innej strony, gigabajt nie jest to dużo danych. Bazy danych w' przedsiębiorstwach zajmują często setki gigabajtów. Z czasem, gdy nośniki pamięci stają się coraz tańsze, ludzie wy najdują coraz to nowe powody do przechowywania coraz większej ilości danych. Na przykład w sieciach handlu detalicznego często przechowuje się terabajty (1000 gigabajtów, co oznacza 101; bajtów-) lub większe ilości danych, dokumentujących w długim okresie każdą sprzedaż (do celów planowania inwestycji; w ięcej na ten lemat będziemy mieli do powiedzenia w części 1.3.4). Bazy danych nie są już przeznaczone do przechowywania wyłącznie prostych typów danych, takich jak całkowite lub znakowe. Obecnie można zapamiętywać obrazy, dźw ięk, filmy i wicie innych typów' danych, które zajmują względnie dużo pamięci. Na przykład film video wyświetlany przez godzinę zajmuje około jednego gigabajta pamięci. Oczekuje się, żc do roku 2000 pojawią sic bazy danych zc zdjęciami satelitarnymi zajmujące pelabajty (1000 terabajtów równe 10? bajtów-) pamięci.
Obsługa tak wielkich baz danych wymaga zaawansowanych technik. Na przykład średniej w ielkości bazy danych przechow uje się obecnie na dyskach, zorganizowanych w tak zwane macierze dyskowe i określanych jako pamięci drugiego poziomu (w odróżnieniu od pamięci operacyjnej, która nazywa się pamięcią pierwszego poziomu). Można nawet pokusić się o stwierdzenie, że tym co najbardziej różni systemy baz danych od innych rodzajów- oprogramowania jest fakt, że z założenia dane z bazy danych są zbyt obszerne, by zmieścić się w pamięci operacyjnej i muszą być przez prawie cały czas przechowywane na dysku. Istnieją dwa trendy, które stwarzają perspektywę uzyskiwania szybkiego dostępu do dużych zasobów danych.
Największe współczesne bazy danych potrzebują czegoś więcej niż dyski. Urządzenia trzeciego poziomu. z których każde może przechować terabajt danych, wymagają dłuższego czasu dostępu do wybranego elementu, niż ma to miejsce w przypadku dysku. Dostąp do danych zapisanych na dysku zajmuje od 10 do 20 milisekund, natomiast dostęp do danych zapisanych w pamięciach trzeciego poziomu może trwać kilka sekund. Technika korzystania z urządzeń trzeciego poziomu obejmuje między innymi transport nośnika z zapamiętanymi danymi do urządzenia czytającego. Komunikację tego typu zapewnia zastosowanie pewnego rodzaju robotów transportowych.
Na przykład pamięć trzeciego poziomu może być zorganizowana z wykorzystaniem kompaktów (CD) jako nośników. W takim przypadku ruchome ramię wybiera właściwy dysk, podnosi go, przemieszcza do czytnika, a potem umieszcza w napędzie.
Zdolność przechowania bardzo dużych woluminów danych jest ważna, lecz jej znaczenie byłoby znikome, gdyby nie można było uzyskać szybkiego dostępu do danych. Dlatego też wielkie bazy danych wymagają również postępu w zakresie szybkości przetwarzania. Poważne przyspieszenie uzyskuje się dzięki zastosowaniu struktur indeksowych, które omawiamy w p. 1.2.1 oraz 5.7.7. Innym sposobem przetworzenia większej liczby danych w określonym czasie jest skorzystanie z. równoległości. Równoległość może się przejawiać na kilka sposobów.
Na przykład tempo czytania danych z dysku jest względnie niskie, kilka megabajtów na sekundę, lecz proces ten można przyspieszyć, stosując kilka dysków i czytając z nich jednocześnie (nawet jeśli dane na początku znajdują się w pamięci trzeciego poziomu, to są one składowane na dysku, zanim będą osiągalne dla systemu DBMS). Takie dyski mogą stanowić część maszyny równoległej lub mogą być składnikiem systemu rozproszonego, w którym wiele maszyn, każda odpowiedzialna za pewien fragment bazy danych, komunikuje się ze sobą poprzez szybką sieć.
Oczywiście ani zdolność do szybkiego przesyłania danych, ani zdolność przechowywania wielkiej liczby danych, nie gwarantują szybkiego generowania wy ników dla zapytań. Należy nadal korzystać z algorytmów dekomponu-jących zapytania w taki sposób, aby zasoby komputerów równoległyeh lub sieci komputerowych mógł) być efektywnie użyte. Stąd też zarządzanie równoległością i przetwarzaniem rozproszonym w dużych bazach danych stanowi obszar intensywnych badań.
W tej części przedstawimy zarys struktury typowego systemu zarządzania bazami danych. Przyjrzymy się również sposobom przetwarzania zapytań i innych operacji na bazach danych. W końcu rozważymy problemy wynika-