www.eprace.edu.pl » obiektowe-bazy » Rozwój baz danych » Rys historyczny

Rys historyczny

Aby w pełni docenić obiektowy model baz danych, należy poznać i zrozumieć wszystkie kolejne etapy w rozwoju baz danych. W rozdziale tym przedstawiono rozwiązania stosowane w technologii baz danych i zaprezentowano w jaki sposób kolejne architektury wprowadzały nowe cechy. Ten historyczny przegląd pomoże w późniejszym zgłębieniu architektury obiektowych baz danych. Niniejszy rozdział powstał w oparciu o [Burleson 1999].

Przetwarzanie płaskich plików

Wraz z wprowadzeniem komputerów do komercyjnego użytku, organizacje zaczęły zdawać sobie sprawę z możliwości jakie oferuje przechowywanie danych. Wczesne komputery były bardzo duże i nieefektywne w utrzymaniu, lecz były idealnymi maszynami do wykonywania powtarzających się zadań. Cecha ta została szybko dostrzeżona przez użytkowników.

Przed wprowadzeniem komercyjnych systemów baz danych, istniały systemy będące niczym innym, jak zbiorami płaskich plików (ang. flat files). Nazwa „płaski plik” wiąże się z tym, iż pliki nie były ze sobą połączone, więc nie istniała możliwość stworzenia relacji pomiędzy danymi.

Płaskie pliki były sekwencyjnymi plikami, przechowującymi dane w sposób liniowy, w związku z tym, aby odszukać konkretny rekord należało za każdym razem przeglądać plik od początku.

Idealnym nośnikiem dla przechowywania płaskich plików jest taśma magnetyczna. Przechowywanie danych na taśmie jest kilkaset razy tańsze, niż wykorzystywanie w tym celu pamięci dyskowej, a dodatkowo taśma, podobnie jak płaski plik, posiada strukturę liniową.

Płaskie pliki są nadal wykorzystywane przez niektóre przedsiębiorstwa do przechowywania dużych ilości danych, które są bardzo rzadko zmieniane i używane.

BDAM – Podstawowa metoda bezpośredniego dostępu

Wraz ze wzrostem ilości przechowywanych danych, organizacje usiłowały obchodzić liniową naturę płaskich plików. Podczas przechowywania rekordów na dysku, każdy blok może zostać zidentyfikowany przez unikalny adres dyskowy. Znając adres konkretnego rekordu, możemy bardzo szybko uzyskać do niego dostęp.

Powyższa cecha znalazła odzwierciedlenie w metodzie bezpośredniego dostępu BDAM (Basic Direct Access Method). Metoda ta, w przeciwieństwie do plików sekwencyjnych, wykorzystuje algorytm mieszający (ang. hashing algorithm) w celu określenia adresu konkretnego rekordu na dysku. Algorytm na podstawie dostarczonego klucza, będącego zazwyczaj częścią przechowywanego rekordu, generuje unikalny adres dyskowy, lokalizujący rekord. W związku z tym, iż dzięki metodzie BDAM uzyskuje się bezpośredni dostęp do rekordów, ich przetwarzanie i dostęp do nich są dużo szybsze.

W metodzie BDAM po raz pierwszy nastąpiło oddzielenie metod dostępu fizycznego od metod dostępu logicznego. Oznacza to, iż rekord może zostać wyszukany na podstawie klucza, a użytkownik nie musi się interesować, gdzie fizycznie rekord znajduje się na dysku.

Ważną cechą algorytmu mieszającego jest jego powtarzalność, czyli generowanie dla konkretnego klucza zawsze identycznego adresu. Niezbędne jest także zapewnienie, iż algorytm nie wygeneruje identycznego adresu dla dwóch różnych kluczy, gdyż prowadziłoby to do kolizji. Jeśli prosty klucz nie zapewnia jednoznacznej identyfikacji rekordu, wówczas wykorzystywana jest kombinacja kilku wartości.

Należy jednak zaznaczyć, iż metoda BDAM poza swoimi niewątpliwymi zaletami posiada wady. Największą z nich jest koszt związany z ilością wykorzystywanej przestrzeni dyskowej. Wiąże się to z tym, iż rekordy są rozproszone po całym dysku, a wolna przestrzeń pomiędzy nimi nie może zostać wykorzystana, gdyż w przyszłości nowy rekord może zostać tam przyporządkowany przez algorytm mieszający.

Pomimo problemów związanych z wykorzystaniem przestrzeni dyskowej i unikalnością kluczy, metoda BDAM pozostaje nadal jednym z najszybszych sposobów do przechowywania i przetwarzania informacji.

ISAM – Metoda indeksowanego dostępu sekwencyjnego

Kolejną metodą wykorzystywaną dla płaskich plików jest metoda indeksowanego dostępu sekwencyjnego ISAM (Indexed Sequential Access Method).

Działanie tej metody opiera się na istnieniu pliku z indeksami. W najprostszej postaci indeks składa się z dwóch pól. Pierwsze pole jest symbolicznym kluczem, natomiast drugie pole zawiera adres dyskowy powiązanego z tym kluczem rekordu. W większości systemów, plik z indeksami jest przechowywany jako całkowicie oddzielny plik. W celu odszukania rekordu, system przeszukuje indeks w celu odnalezienia klucza, a następnie pobiera rekord z określonej pozycji na dysku.

Metoda ISAM, podobnie jak w przypadku fizycznych plików sekwencyjnych, bardzo efektywnie wykorzystuje przestrzeń dyskową, gdyż rekordy przechowywane są obok siebie. Jednakże w przeciwieństwie do fizycznych plików sekwencyjnych, które mogą być przechowywane na taśmie, pliki w systemu ISAM muszą być składowane na dysku, gdyż adresy dyskowe są niezbędne do stworzenia indeksów.

ISAM umożliwia stworzenie kilku różnych indeksów, pozwalających na przetwarzanie plików na różne sposoby.

Inna popularna metoda dostępu do plików została stworzona przez firmę IBM. Jest to metoda VSAM (Virtual Storage Access Method), będąca połączeniem najlepszych cech metod ISAM oraz QSAM (Queued Sequential Access Method). Jest to metoda bardzo podobna do przedstawionej w tym rozdziale metody ISAM.

Mankamenty płaskich plików

Sprawą oczywistą jest mnogość wad związanych z systemami płaskich plików. Przede wszystkim pojawiały się problemy związane z dzielonym przez kilka aplikacji dostępem do danych, co w efekcie prowadziło do duplikowania tych samych informacji i bardzo utrudniało ich aktualizację.

Nie są to niestety jedyne wady. W przypadku zmiany struktury plików, wymagana była aktualizacja wszystkich programów działających w oparciu o nie. Dodatkowo płaskie pliki nie posiadały mechanizmów zabezpieczających, takich jak kopie zapasowe, czy metody odzyskujące dane.

Ostatnim problemem był brak jednolitego formatu przechowywania danych, co znacznie ograniczało możliwości przetwarzania przez różne systemy.

Początek formalnego zarządzania bazami danych

Bazy danych powstały jako bezpośredni rezultat niedoskonałości systemów płaskich plików. Przed powstaniem systemów zarządzania bazami danych, dane przechowywane były w wielu różnych formatach i nie istniał jeden spójny system do zarządzania nimi. Należy zaznaczyć, iż systemy zarządzania bazami danych są czymś więcej niż tylko jednolitym repozytorium dla informacji. Wszystkie systemy zarządzania bazami danych posiadają następujące cechy:

Obecne systemy zarządzania bazami danych dostarczają dodatkowo następujące mechanizmy:

Wczesne systemy zarządzania dostępem do baz danych bazowały na metodach BDAM oraz VSAM. W roku 1960 firma IBM wprowadziła prototyp komputerowej bazy danych w celu pokazania jak dane mogą być przechowywane, przetwarzane i aktualizowane z wykorzystaniem jednolitego formatu. Ta baza danych znana jest jako System Zarządzania Informacją – IMS (Information Management System). IMS był rewolucyjnym pomysłem, gdyż umożliwiał dostęp do danych przez kilka programów napisanych w różnych językach, a także pozwalał na obsługę przez wielu użytkowników jednocześnie. Powstanie systemu IMS sprawiło, iż organizacje zrozumiały, jak ważnym zagadnieniem jest przechowywanie danych, a także spójne zarządzanie i kontrolowanie danych.

Hierarchiczny model danych

Hierarchiczny model bazy danych został zapoczątkowany przez wspomniany system IMS. Model ten wykorzystuje wskaźniki jako logiczne połączenia pomiędzy jednostkami danych.

Hierarchiczne bazy danych są bardzo dobrym rozwiązaniem do przedstawiania relacji będących w naturalny sposób hierarchicznymi. Zasadniczo, hierarchia jest metodą organizowania danych w schodzące w dół relacje jeden-do-wielu, gdzie każdy poziom hierarchii ma pierwszeństwo w stosunku do znajdującego się poniżej. Polega ona na układaniu danych w struktury zwane węzłami i łączeniu ich między sobą przy pomocy tak zwanych gałęzi. Najwyższy węzeł nosi miano korzenia. Wszystkie zapytania muszą mieć swój początek w korzeniu i przechodzić w dół hierarchii. Każdy węzeł, z wyjątkiem korzenia, jest połączony w górę z tylko jednym węzłem „rodzicem”.

Jako trzy główne zalety hierarchicznych baz danych można uznać:

Do wad zaliczyć można:

Sieciowy model CODASYL

W latach sześćdziesiątych powstało kilka systemów zarządzania bazami danych, wykorzystujących sieciowy system zarządzania bazą danych, stworzony przez organizację CODASYL (Conference On Data Systems Languages). Czynny udział w rozwoju nowego modelu brały także dwie podgrupy CODASYL’u, mianowicie: DBTG (Database Task Group) oraz DDLC (Data Description Language Committee).

Specyfikacje wydane przez CODASYL nazywały stworzony model „sieciowym” modelem danych. Model ten stał się podstawą dla wielu późniejszych systemów, jak na przykład wprowadzonego w 1970 roku IDMS firmy Cullinet.

Specyfikacje CODASYL zawierały definicje schematu bazy danych, języka kontroli urządzeń DMCL (Device Media Control Language) oraz języka manipulacji danymi DML (Data Manipulation Language). W skład specyfikacji wchodził także opis fizycznej struktury plików z danymi. Logiczna struktura bazy danych definiowana była za pomocą języka definiowania danych DDL (Data Definition Language).

W sieciowym modelu danych CODASYL dane posiadają wewnętrzne identyfikatory (lub adresy), zaś związki semantyczne pomiędzy danymi reprezentowane są poprzez powiązania referencyjne lub wskaźnikowe. Struktura danych tworzy więc graf, czyli sieć.

Zaproponowany model obarczony był niestety wieloma wadami. Model ten jest bardzo złożony i skomplikowany w użyciu. Sieciowe bazy danych, podobnie jak hierarchiczne, są bardzo trudne w nawigacji. Implementacja strukturalnych zmian jest niezwykle trudna w przypadku baz danych tego typu.

Daje się jednakże zauważyć, że w ostatnich latach nastąpił renesans podstawowych założeń modelu sieciowego w obiektowych bazach danych.

Relacyjne bazy danych

W roku 1970 dr Edgar Ted Codd z firmy IBM zaprezentował relacyjny model danych. W modelu tym dane miały być przechowywane w prostych plikach liniowych, które to pliki nazywane są „relacjami” bądź „tabelami”. Jedną z największych zalet modelu relacyjnego w stosunku do poprzedników jest jego prostota. Zamiast konieczności poznawania mnóstwa komend języka DML, model relacyjny wprowadził język SQL w celu ułatwienia dostępu do danych i ich modyfikacji.

Tabele są dwuwymiarowymi tablicami składającymi się z wierszy i kolumn. Wiersze nazywane są czasami krotkami (ang. tuples), natomiast kolumny atrybutami. Rekord jest wierszem tabeli, a pole jest kolumną w wierszu tabeli. Tabela posiada zawsze pole lub kilka pól, tworzące dla niej klucz główny (ang. primary key). W relacyjnych bazach danych tabele są niezależne, w przeciwieństwie do modeli hierarchicznego i sieciowego, gdzie występują połączenia wskaźnikowe. Tabele relacyjne mogą zawierać tylko jeden typ rekordu, natomiast każdy rekord posiada stałą liczbę wyraźnie nazwanych pól.

Klucz główny jednoznacznie identyfikuje wiersz w tabeli. Klucz ten może zostać stworzony na podstawie jednego lub kilku pól. Klucz obcy (ang. foreign key), którego wartością jest wartość pewnego klucza głównego, pozwala na łączenie tabel między sobą.

Relacyjne bazy danych wprowadziły następujące ulepszenia w stosunku do hierarchicznych i sieciowych baz danych:

Podejście bazujące na tabelach z wierszami i kolumnami jest niezwykle proste i łatwe do zrozumienia. Końcowi użytkownicy mają prosty model danych. Złożone diagramy, wykorzystywane w przypadku hierarchicznych i sieciowych baz danych, nie występują w przypadku relacyjnych baz danych.

Niezależność danych pozwala na modyfikowanie struktury danych bez wpływu na istniejące programy. Jest to możliwe głównie dlatego, że tabele nie są ze sobą połączone na sztywno. Do tabel mogą być dodawane kolumny, tabele mogą być dołączane do bazy danych, a nowe relacje mogą być tworzone bez konieczności wprowadzania istotnych zmian do tabel. Relacyjne bazy danych dostarczają dużo wyższy poziom niezależności danych, niż hierarchiczne i sieciowe bazy danych.

Dzięki wykorzystaniu języka SQL, użytkownik określa jedynie warunki odnośnie poszukiwanych danych, system natomiast zajmuje się pobraniem danych spełniających żądanie. Nawigacja w bazie danych jest ukryta przed użytkownikiem końcowym, w odróżnieniu od języka DML w systemie CODASYL, gdzie użytkownik musi znać wszelkie szczegóły określające ścieżkę dostępu do danych.

Manifesty baz danych

Pisząc o historii baz danych nie sposób pominąć pojawiających się co pewien czas manifestów prezentujących nowe koncepcje w tematyce baz danych.

Historia manifestów związanych z bazami danych rozpoczęła się w połowie lat osiemdziesiątych, kiedy E. F. Codd, ojciec modelu relacyjnego, opublikował dwanaście reguł prawdziwego systemu relacyjnego. Jak dotychczas, żaden komercyjny system zarządzania relacyjną bazą danych nie jest w pełni zgodny z przedstawionymi przez niego założeniami. Obecne systemy komercyjne wciąż oddalają się od zaproponowanego „ideału”.

Kolejne manifesty dotyczyły obiektowych baz danych. Istotną rolę w ich rozwoju spełnił manifest „The Object-Oriented Database System Manifesto”.4

Zanim on powstał, jednym z silnych argumentów wykorzystywanych przez zwolenników systemów relacyjnych baz danych, przy krytyce systemów obiektowych baz danych, był brak sensownego zdefiniowania pojęcia obiektowej bazy danych. Przedstawiony manifest określił podstawowe zasady systemów obiektowych baz danych. Właściwości takich systemów zostały przedstawione z podziałem na trzy grupy:

Manifest obiektowych baz danych był nie do zaakceptowania przez konserwatystów związanych z modelem relacyjnym. Konkurencyjny manifest „The Third Generation Database Systems Manifesto”5 postuluje pozostawienie wszystkich praktycznie sprawdzonych cech systemów relacyjnych baz danych (zwłaszcza języka SQL) i skromne ich rozszerzenie o nowe cechy, pośród których znalazłyby się cechy obiektowe. Manifest ten zakłada także, iż bazy danych trzeciej generacji muszą być otwarte dla innych systemów.

Ostatni manifest, „The Third Manifesto”6, postuluje odrzucenie zarówno obiektowości jak i języka SQL (który według autorów zniszczył ideały relacyjnego modelu) i powrót do pierwotnej postaci modelu relacyjnego wraz z jego dwunastoma zasadami. Przedstawione przez autorów argumenty są jednak dość naiwne i bardzo trudne do zaakceptowania przez większość ekspertów z dziedziny baz danych.



komentarze

Copyright © 2008-2010 EPrace oraz autorzy prac.