Spór o przyszłość baz danych

Standardy

Na polu standardów w zakresie baz danych konkurują obecnie dwa ciała: ANSI/ISO - rozwijająca standard SQL3 (z licznymi mutacjami określanymi jako SQL4, SQL/CLI, SQL1999, SQL2000 itd.) oraz Object Data Management Group (ODMG); ostatnia wersja standardu ma oznaczenie ODMG 3.0. Pierwszy standard jest związany z opcją eklektyczną, drugi zaś z opcją estetyczną.

Rodowód pierwszego standardu pochodzi z SQL-92, drugi wywodzi się z koncepcji OMG CORBA, jakkolwiek grupy OMG oraz ODMG działają niezależnie. Przez pewien czas grupa OMG wzbogacała standard CORBA o niektóre cechy baz danych (np. usługi w zakresie trwałych obiektów, transakcji, związków, języków zapytań, itd.), ale niedawno pozostawiła ten temat na uboczu swoich zasadniczych działań.

W odróżnieniu od poprzedników (SQL-89 i SQL-92), SQL3 ma być językiem programowania (`a la PL/SQL systemu Oracle) z pełną mocą obliczeniową. Główną strukturą danych pozostaje tablica, jednakże z dużą liczbą dodatkowych opcji. SQL3 podtrzymuje abstrakcyjne typy danych definiowane przez użytkownika, w tym takie cechy, jak metody, identyfikatory obiektów, podtypy, dziedziczenie i polimorfizm. Dalsze udogodnienia włączają zdania sterujące i typy parametryczne. Razem z bardzo bogatym zestawem cech SQL3 ma być nadzbiorem SQL-92, co przejawia się głównie w zachowaniu składni select... from... where... Standard jest eklektyczny i przeogromny (część podstawowa zawiera ponad 1000 stron opisu plus

dodatki).

Standard ODMG jest znacznie mniejszy, obecnie ok. 250 stron, znacznie bardziej jednorodny pod względem wprowadzanych pojęć obiektowości, ale też nie obejmujący wielu cech standardu SQL3. Nie zakładano, że ma być uniwersalnym językiem programowania, a raczej definiować "wiązania" bazodanowych interfejsów do języków Java, C++ i Smalltalk. Standard specyfikuje model obiektowy, język opisu obiektów ODL (wzorowany na IDL CORBA), język zapytań OQL itp. Nie definiuje wielu mechanizmów, które już były obecne w SQL-92, takich jak perspektywy, zapamiętane procedury i wyzwalacze.

Oba standardy budzą kontrowersje. Niektórzy specjaliści uważają, że oba są nieimplementowalne w całości, z różnych powodów: SQL3 z powodu eklektyzmu i monstrualnych rozmiarów, ODMG z powodu licznych niespójności, wad koncepcji i niedospecyfikowania semantyki. Już teraz przedstawiciel OracleŐa postuluje wyodrębnienie z SQL3 pewnego podzbioru, który dałoby się szybko zaimplementować. Istnieje też wiele propozycji poprawek standardu ODMG, tworzonych głównie przez środowiska akademickie.

XML jako model danych

Pierwszy komunikat dotyczący XML głosił, że ma to być lepszy HTML, który umożliwi "posprzątanie Internetu". Istotnie, HTML zajmował się wyłącznie sposobem wyświetlania informacji, a nie specyfikacją jej semantycznej roli, co utrudniało lub wręcz uniemożliwiało automatyczne wyszukiwanie informacji w przeogromnej bazie WWW. XML zmienia ten stan rzeczy poprzez fizyczne oddzielenie warstwy semantycznej danych od ich reprezentacji na ekranie monitora.

Drugi komunikat dotyczący XML ustawiał go w roli metastandardu, umożliwiającego wymianę danych. Niewątpliwie jest to bardzo ważna rola, jakkolwiek w tym zakresie XML jest wyłącznie niewielkim podkładem syntaktycznym, na którym należałoby zbudować potężne ontologie standardów obowiązujących w poszczególnych dziedzinach: finansach, handlu, usługach, telekomunikacji, medycynie itd.

Trzeci komunikat dotyczący XML głosi, że jest to nowy model danych.

Jako model danych, XML jest kontrowersyjny. Dziwi jego przywiązanie do ASCII. Po co komu etykiety opatrzone trójkątnymi nawiasami i pisane explicite, skoro dla większych plików XML, np. dla portali biznesowych, przechowywanie ich w postaci monolitycznego tekstu wydaje się mało sensowne? Twierdzenia, że takie pliki mogą być odczytywane i pielęgnowane przez ludzi, nie najlepiej świadczy o wyobraźni technicznej ich autorów. Bez wątpienia konieczne będą interfejsy, które te czynności usprawnią i zorganizują, a dla nich zalety ASCII są bez znaczenia. Co z typami danych, nie dającymi się reprezentować w postaci ASCII? Tego rodzaju kłopotliwych pytań można zadać więcej. Zapewne twórcy i orędownicy XML znaleźli lub znajdą na nie odpowiedzi, co nie oznacza, że w pełni satysfakcjonujące.

Z drugiej strony, XML cechuje prostota i uniwersalność zrywająca ze stereotypami wypracowanymi przez dotychczasowe technologie baz danych. Jednorodne i uniwersalne hierarchiczne struktury danych, trzymanie etykiet danych wraz z ich wartościami, wprowadzenie nieregularności w danych jako ich inherentnej cechy, proste potraktowanie danych powtarzalnych, luźna typizacja powodują powstanie paradygmatu, który może okazać się atrakcyjny dla wielu zastosowań, szczególnie w Internecie. Trwają intensywne prace nad repozytoriami przechowującymi dane w XML w odpowiednio zestrukturalizowanej postaci, powstają języki zapytań, zaś narzędzie znane jako XSLT kieruje się w stronę języka programowania. W XML tkwi młodzieńcza siła lekkiej kawalerii, która już w niedługim czasie może stworzyć poważną konkurencję dla ociężałej tradycyjnej bazodanowej piechoty.

Wróżenie z fusów

Po okresie zdyscyplinowania, którą wniosła ideologia modelu relacyjnego, obecny pejzaż baz danych jest bardzo zróżnicowany, o ogromnej liczbie wzajemnie splątanych prądów i faktów. Z tego pejzażu opisałem niewielką liczbę cech charakterystycznych, które wydają się dzisiaj istotne dla dalszego rozwoju tej dziedziny. Nie ma oczywiście pewności, na ile przewidywania te będą prawdziwe, skoro - jak niektórzy twierdzą - w informatyce zdarzenie rewolucyjne występuje średnio co trzy miesiące. W końcu przepowiednie Nostradamusa też najlepiej są interpretowane w 50 lat po zdarzeniach, które przewidywały.


TOP 200