Spór o przyszłość baz danych

Dla przyszłości baz danych ważne jest, co z tej walki wyniknie. Ścierają się dwie tendencje: czystego modelu obiektowego (nazwijmy ją estetyczną) oraz rozbudowy modelu relacyjnego (nazwijmy ją eklektyczną). Opcja estetyczna dąży do wypracowania konsekwentnego modelu danych, nie obciążonego zaszłościami, pozbawionego cech redundantnych i zbudowanego na jednorodnym, dostatecznie szerokim i mocnym fundamencie koncepcyjnym. Opcję tę realizuje standard ODMG (Object Data Management Group), niestety mało konsekwentnie, z dużą liczbą kompromisów i własnych słabości. Opcję eklektyczną realizuje powstający standard SQL3 oraz firmy dostarczające na rynek systemy określane jako obiektowo-relacyjne, będące często wersjami ich relacyjnych poprzedników. Firmy dysponują zapleczem finansowym, potężną bazą rozwoju oprogramowania oraz stabilnymi produktami, które są wyposażone w dużą liczbę użytecznych funkcji i cieszą się zaufaniem klientów. Z dzisiejszej perspektywy nie wydaje się, aby firmom tym w ciągu najbliższych lat cokolwiek zagrażało.

Niemniej eklektyzm jest cechą negatywną, tym bardziej że powoduje monstrualny rozrost funkcji, z którymi musi mieć do czynienia projektant i programista aplikacji. Inną negatywną cechą opcji eklektycznej jest jej niski autorytet w środowiskach akademickich: naukowcy nie lubią niejednorodnych struktur danych, spiętrzonych konstrukcji językowych i własności systemów, motywowanych wyłącznie zaszłościami historycznymi i wytycznymi działu marketingu. Stąd opcja eklektyczna jest w instytucjach naukowych prawie nieobecna. Opcja estetyczna jest rozwijana na dziesiątkach lub setkach uniwersytetów. Te czynniki mogą sprawić, że opcja eklektyczna będzie ewoluować w kierunku opcji estetycznej, zaś szanse opcji estetycznej zostaną zwiększone.

Teorie

Opisana zmiana paradygmatów ideologicznych pokazała, jak słabe są teorie wypracowane przy okazji modelu relacyjnego. Wystarczyły małe zmiany w strukturach danych - np. dopuszczenie możliwości powtarzania krotek w tablicach - aby algebra relacji, rachunek relacyjny, teoria normalizacji stały się nieadekwatne. Modele obiektowe

baz danych spowodowały, że większość teorii związanych z modelem relacyjnym trafiła na śmietnik, jakkolwiek są tacy, którzy próbują je jeszcze reanimować i poprawiać, niestety z mizernym skutkiem.

Może więc jednak koncepcje obiektowo-relacyjne? Słowo "relacyjne" występujące w określeniu tych koncepcji jest już nadużyciem i pełni wyłącznie rolę tradycyjno-dekoracyjną. Tendencje eklektyczne, nawarstwianie inżynierskich konstrukcji manifestowane w tych koncepcjach w zasadzie eliminują możliwość zbudowania spójnej teorii. Znajdą się zapewne naukowcy, którzy ze względów koniunkturalnych będą je budować, ale będzie to działalność wspomagająca ich kariery, a nie praktykę.

Istnieje kilka powodów, dla których warto budować teorie baz danych. Wśród nich jest dydaktyka. Nauczanie rozwiązań konstrukcyjnych poszczególnych systemów oraz ich języków jest na ogół zajęciem frustrującym i mało perspektywicznym, tym bardziej że są dziesiątki systemów, a każdy odmienny. Potrzebne są teorie objaśniające systemy i metody na poziomie koncepcji, a nie na poziomie "klikologii". Drugim ważnym powodem są względy metodologiczne: porządkowanie, systematyzowanie, upraszczanie koncepcji, pojęć i konstrukcji, umożliwiające zrozumienie zasad ich działania i wzajemnej interakcji. Zrozumienie, uporządkowanie zasad teoretycznych ma ogromne znaczenie dla tempa i jakości implementacji systemów oraz ich cech użytkowych.

Katalizatorem rozwoju teorii w bazach danych była i pozostanie optymalizacja zapytań. Języki zapytań są uważane za źródło sukcesu relacyjnych baz danych. W odróżnieniu od języków programowania, języki zapytań nie mogą obejść się bez automatycznej optymalizacji, która musi skrócić czas wykonania nie dziesiątki razy, a często miliony lub miliardy razy. Skuteczność metod optymalizacji jest bezpośrednio związana z uniwersalnością i jednorodnością teorii. Brak teorii w zasadzie uniemożliwia efektywną optymalizację, gdyż tylko teoria potrafi odpowiedzieć na pytanie, czy efekt zapytania po optymalizacji będzie zawsze taki sam, jak przed optymalizacją.

Mówiąc "teoria", niekoniecznie mam na myśli teorie zmatematyzowane. Są one niespełnionym ideałem poprzedniej epoki w informatyce. Wobec złożoności obecnych modeli danych i języków zbudowanie ich modeli matematycznych będzie prawdopodobnie nieosiągalne. Potrzebne są teorie umożliwiające zrozumienie semantyki danych i języków przez zwykłego inżyniera, na poziomie koncepcyjnym, zaś do tego celu pełna matematyczna formalizacja nie jest niezbędna i - moim zdaniem - więcej zaszkodzi niż pomoże.

Modele eklektyczne, niewdzięczne pole dla teorii, będą obciążone ułomnością. Jest wielką zagadką, jak z optymalizacją zapytań poradzą sobie konstruktorzy systemów opartych na budowanym

supereklektycznym standardzie SQL3. Efektywne, konsekwentne i jednorodne teorie można budować wyłącznie dla modeli estetycznych. Takie teorie już częściowo powstały i w najbliższych latach zostaną dopracowane. Nie jest jednak pewne, czy ten fakt będzie w tym samym czasie doceniony przez twórców systemów i ich klientów.


TOP 200