W sobotę wdałem się w dyskusję z wykładowcą na temat zastosowań baz XML. Gość w sumie mówił podobnie jak chłopcy z Software AG na prezentacji swojej bazy Tamino, czyli nadaje się do wszystkiego, jest najlepsze i w ogóle... Czyli stare dobre RDBMS to przeżytek.
Moje przemyślenia jednak są inne. Podstawowym zarzutem jest to, że wynikiem zapytania XPath czy XQuery są dane w XML, które należy sparsować przed przetworzeniem. Oczywiście w przypadku klientów opartych na HTML wystarczy wykorzystać XSLT. Jeśli jednak wykorzystujemy grubego klienta, czy też przetwarzamy dane np. w aplikacji J2EE, to parsowanie wyniku jest dość kosztowne w porównaniu z przetwarzaniem wyniku z bazy relacyjnej, które to dostajemy niejako na tacy. W przypadku gdy potrzebne są dane zapisane jako XML, to przecież bardzo łatwo jest je utworzyć po prostu sklejając łańcuchy znaków.
Argumenty, że "wystarczy IE do przetwarzania" są nietrafione: w najlepszym wypadku przeglądarka internetowa zrealizuje zapytanie XPath i wyświetli wynik wykorzystując XSLT do przekształceń. Nie zapewni nam jednak modyfikacji danych. Do tego potrzebujemy narzędzia analogicznego jak do baz relacyjnych.
Natomiast nie neguję zastosowań XML jako formatu do wymiany danych między systemami czy też zapisywania w tym formacie danych nie zmieniających się zbyt często.
Z powodu takiej argumentacji nie przyjęto mnie do pracy w Sowtware AG Polska po rozmowie z ich szefem. ;)
No popatrz, mam identyczne zdanie na ten temat :)
No co się dziwisz? Nie byłbyś dobrym nabytkiem, skoro nie wierzysz w ich produkt...
A wracając do prezentacji Software AG: oni tam sztukę nieodpowiadania na trudne pytania opanowali do perfekcji... Też bym tak chciał umieć!
Hehe, sztuka nieodpowiadania na trudne pytania jest przecież konieczna do utrzymania się na rynku :)