Uniwersalne serwery baz danych

Świat jest bardziej skomplikowany niż uproszczony model zawarty w relacyjnych bazach danych.

Świat jest bardziej skomplikowany niż uproszczony model zawarty w relacyjnych bazach danych.

Aplikacje bazodanowe dla przedsiębiorstwa są w znacznej części opanowane przez serwery relacyjnych baz danych: Software AG Adabas, Informix Online Server, Oracle7, IBM DB2, Computer Associates OpenIngres, Microsoft SQL Server, Sybase System 10 i 11 (w Polsce mało popularny). Na mainframe'ach nadal działają systemy hierarchiczne i sieciowe, a w świecie PC popularne są aplikacje do obsługi działalności oparte na rozwiązaniach nietypowych (firmowy serwer bazy napisany w C) lub na bazach na biurko (Access, dBase, Clipper, FoxPro), ale te ostatnie nadają się jedynie dla małych przedsiębiorstw. Zmiana skali działania wymusza przejście na poważniejsze rozwiązania sprzętowe, systemowe i relacyjne serwery baz danych.

Korzystanie z relacyjnego serwera baz danych ma wiele zalet związanych z bezpieczeństwem danych w obsłudze transakcji (nie może się zdarzyć, że nawet bardzo skomplikowana operacja, polegająca na zmianie zawartości wielu tabel, uda się tylko częściowo, powodując utratę spójności bazy). Relacyjne systemy baz danych mają jednak ograniczony zestaw typów danych. Zwykle mogą one zapamiętywać jedynie dane stosunkowo proste: numeryczne, datę, tekstowe o ograniczonej długości (najczęściej do 255 znaków) lub ich pochodne. Gorzej (lub wcale) radzą sobie z danymi złożonymi: szeregi czasowe, średnie bieżące, klasyfikacje, kompletne dokumenty tekstowe, obrazy, grafika, zdjęcia, sekwencje wideo, dźwięk.

Programiści, kosztem ogromnego wysiłku i przez tworzenie jednorazowych rozwiązań, radzą sobie z problemami obsługi nowych typów danych. Równie wiele kłopotów sprawiają skomplikowane zapytania do bazy relacyjnej dotyczące np. analizy czasowych szeregów danych ("Jaka jest średnia tygodniowa sprzedaż naszych dziesięciu najlepiej sprzedających się produktów w ciągu ostatniego kwartału?"). Systemy oparte na języku zapytań SQL i prostych typach danych nie są zbyt dobrze przystosowane do udzielania odpowiedzi na tego typu pytania. Wprawdzie wynik ich da się uzyskać, ale wymaga to pracy programisty, piszącego cały program w SQL. Takie rozwiązanie nie jest zbyt interesujące dla szefa firmy, który chce mieć odpowiedź natychmiast.

Potrzeby rosną

Nowe wymagania konkurencyjne oraz nowe technologie rozpowszechniania informacji (Internet i intranet) wymagają od relacyjnych baz danych więcej niż jest w stanie dostarczać ta technologia, mająca już ponad 25 lat (model relacyjny został opracowany w 1969 r.). Obserwuje się rosnące zapotrzebowanie na hurtownie i analityczne przetwarzanie danych (OLAP) z hurtowni. Jeżeli przyjrzeć się uważnie zawartości hurtowni, to wprawdzie większość danych ma charakter prostych danych numerycznych, ale cała analiza opiera się na ich kolekcjach w postaci szeregów czasowych, zestawach danych regionalnych i klasyfikacjach wg starannie dobranych kategorii.

Rozwiązania czysto relacyjne niezbyt dobrze dają sobie radę z analizą takich danych. Spowodowało to pojawienie się wielowymiarowych systemów baz danych, które jednak nie zapewniają takiej wydajności, jak systemy relacyjne, nie mogą obsługiwać bardzo dużych hurtowni i nie są przystosowane do przetwarzania transakcyjnego. W efekcie w przedsiębiorstwie powstaje mieszanina niezgodnych ze sobą systemów, co jedynie utrudnia zarządzanie zasobami.

Internet i intranet wymagają nowych typów danych multimedialnych, złożonych dokumentów, przeszukiwania: całości tekstów, indeksowego, wg zadanego słownika (tezaurusa) i in. Wiele relacyjnych systemów baz danych nie ma nadal takich możliwości.

Ewolucja czy rewolucja?

Nic dziwnego, że przy tak dużych nowych potrzebach pojawiły się całkowicie nowe produkty, próbujące rozwiązać wspomniane problemy. Istotnie, wydawało się, że nowe obiektowe i obiektowo-relacyjne systemy baz danych spełnią wszystkie oczekiwania użytkowników, zadowolą programistów i pogrążą w niebycie stare technologie relacyjne. Tymczasem tak się nie stało. Rozwiązania te nie były na tyle dojrzałe, aby rynek aplikacji dla przedsiębiorstw je zaakceptował. Istnieją nadal i rozwijają się, ale w zastosowaniach niszowych, do specjalnych celów, na niewielką skalę lub dla aplikacji specjalistycznych.

Warto więc zapytać, dlaczego tak się stało? Dlaczego technologie obiektowe i obiektowo-relacyjne egzystują na pograniczu, pozostawionym przez dojrzałe technologie relacyjne? Wydaje się, że złożyły się na to dwa czynniki: problemami zajęły się firmy nie mające doświadczenia w technologiach relacyjnych, a także pojawiły się na rynku za wcześnie, gdy nie było jeszcze zbyt szerokiego zapotrzebowania na obsługę danych multimedialnych i złożonych typów danych.

Obiektowe i obiektowo-relacyjne systemy baz danych były dziełem firm nie mających doświadczenia w przetwarzaniu transakcyjnym. Jeśli nawet ich produkty doskonale radziły sobie z danymi multimedialnymi, to nie nadawały się do poważnej obsługi transakcji i w efekcie zostały wykluczone z lukratywnej działki informatyki w przedsiębiorstwie.

Uniwersalne serwery baz danych

Rozwiązanie problemu pojawiło się ewolucyjnie, w postaci rozszerzonych możliwości zapamiętywania nowych typów danych w systemach relacyjnych, a ostatnio przybrało formę tzw. uniwersalnego serwera baz danych. Takie serwery oferują obecnie trzy firmy: IBM, Informix i Oracle. Ich rozwiązania różnią się dość znacznie co do zakresu właściwości funkcjonalnych i sposobu integrowania rozszerzonych typów danych w serwerze, ale zapewniają wiele nowych możliwości obsługi danych multimedialnych.

Cóż to jest ten uniwersalny serwer baz danych? Nie ma jednolitej definicji serwera uniwersalnego. (Sam termin Universal Server był początkowo zastrzeżony przez firmę Oracle, ale obecnie ma charakter publiczny.) Najprostsza definicja sprowadza się do stwierdzenia, że jest to taki relacyjny (!) system zarządzania bazami danych, który pozwala na obsługę złożonych typów danych, zapewnia zestaw funkcji do tego celu oraz pozwala użytkownikowi na definiowanie nowych typów danych i funkcji do ich obsługi.

Trzeba wyraźnie podkreślić słowo relacyjny, gdyż oznacza to, że obecny użytkownik relacyjnego systemu baz danych, przechodząc na serwer uniwersalny, nie musi zmieniać już działających aplikacji, będzie zaś w stanie tworzyć całkowicie nowe aplikacje, posługujące się kompleksowymi typami danych.

Serwery rozszerzalne

Oracle już od ponad roku oferuje opcjonalne rozszerzenia właściwości funkcjonalnych swych serwerów Oracle 7.1 o możliwości obsługi danych multimedialnych, zarządzanie dokumentami z przeszukiwaniem kontekstowym, obsługę danych wideo i możliwość dołączenia Web Servera.

Podobne właściwości obiecuje Informix w swym serwerze uniwersalnym przewidzianym do produkcji pod koniec br. Oferta Informixa jest oparta na modułowych rozszerzeniach właściwości bazy w technologii DataBlade, zakupionej pod koniec 1995 r. wraz z firmą Illustra.

IBM Common Server (dla OS/2 i platform unixowych) oferuje rozszerzenia, dające możliwość dostępu tylko do części złożonych danych, definiowania przez użytkownika typów danych i funkcji do ich obsługi (serwer tekstowy, wideo, obrazów i in.). Rozszerzenia te pozwalają np. na stworzenie specjalizowanego systemu do analizy odcisków palców, obsługiwanego za pomocą rozszerzonego języka SQL.

Wydaje się, że firmy te przodują w zakresie obsługi złożonych typów danych, rozszerzania możliwości bazy przez użytkownika i ich integracji z jądrem serwera bazy.

Computer Associates proponuje obiektowy serwer baz danych Jasmine (oparty na obiektowej technologii Fujitsu), natomiast firma nie planuje integrowania go ze swymi produktami relacyjnymi. Sybase i Microsoft (relacyjne serwery tej firmy MS SQL Server bazują na technologii opracowanej przez Sybase) nie oferują obsługi kompleksowych typów danych.

Technologia

Każdy z głównych producentów uniwersalnych serwerów baz danych opiera się na innym rozwiązaniu technologicznym.

Informix tworzy programową szynę systemową serwera bazy (opublikowany zestaw funkcji programistycznych API), do której będzie można dołączać moduły DataBlade, definiujące nowe typy danych i funkcje do ich obsługi. Firma oferuje także pakiet programistyczny do tworzenia modułów DataBlade. Obecnie już kilkadziesiąt firm współpracuje z Informixem nad rozszerzaniem właściwości bazy Illustra, która ma być zintegrowana z serwerem Informix OnLine DSA w celu stworzenia serwera uniwersalnego.

Zaletą takiego rozwiązania jest zaangażowanie wielu firm, zainteresowanych dołączeniem swych produktów do sztandarowego produktu dużej firmy. Wadą zaś jest konieczność ścisłego testowania i badania zgodności nowych rozszerzeń serwera bazy, gdyż każde z nich działa w tej samej przestrzeni adresowej co sam serwer; każda awaria rozszerzenia powoduje awarię serwera bazy, co jest bardzo niekorzystne nie tylko dla opinii o produkcie, ale dla interesów przedsiębiorstwa.

Rozwiązanie Oracle jest znacznie mniej otwarte niż Informixa, gdyż to firma Oracle dostarcza moduły rozszerzające właściwości funkcjonalne serwera Oracle 7.3 dla obsługi wideo, tekstów, danych przestrzennych, komunikatów czy OLAP. Ma jednak tę zaletę, że to Oracle gwarantuje poprawne działanie systemu, łącznie ze wszystkimi opcjami.

Rozwiązanie IBM uniwersalnego serwera baz danych jest zbliżone do rozwiązania Oracle; rozszerzenia właściwości są opracowane przez firmę w postaci tzw. ekstenderów (Relational Database Extenders) serwera do obsługi szczególnych typów danych. Ekstendery serwera nie są na razie przewidziane w wersji bazy DB2 na mainframe ani w wersji równoległej dla komputerów SMP.

Rynek systemów baz danych w następnej dekadzie zdominują serwery uniwersalne, gdyż istnieje coraz większa potrzeba włączania do korporacyjnych systemów baz danych wszystkich informacji, stanowiących o sile przedsiębiorstwa. Ocenia się, że obecnie jedynie 15% danych daje się zaprezentować w relacyjnej bazie danych. Pozostałych 85% to informacje bez wyraźnej struktury, które także powinno się objąć za pomocą systemu informacyjnego przedsiębiorstwa. Uniwersalne serwery baz danych mogą znacznie wspomóc informatyka w tym przedsięwzięciu.

Wydawało się, że nowe obiektowe i obiektowo-relacyjne systemy baz danych spełnią wszystkie oczekiwania użytkowników, zadowolą programistów i pogrążą w niebycie stare technologie relacyjne. Tymczasem tak się nie stało. Rozwiązania te nie były na tyle dojrzałe, aby rynek aplikacji dla przedsiębiorstw je zaakceptował.

Właściwości serwerów uniwersalnych

Nowe serwery uniwersalne (już istniejące lub zapowiedziane produkty) oferują:

- Lepsze wsparcie dla nowych, złożonych typów danych i ich obsługę, np. przeszukiwanie zbioru zdjęć na podstawie cech wizualnych, definiowalnych przez użytkownika lub pełnotekstowe przeszukiwanie dokumentów zapamiętanych w bazie.

- Wbudowane właściwości funkcjonalne do obsługi nowych typów danych. Wbudowanie lub łatwy dostęp z aplikacji do biblioteki funkcji statystycznych ułatwia analizę szeregów czasowych.

- Rozszerzenia języka SQL o możliwości obsługi nowych typów danych.

- Zwiększoną wydajność przy obsłudze złożonych typów danych i obliczeniach na nich, możliwą dzięki nowym metodom optymalizacji i strojenia serwera bazy.

- Integrację z handlowo dostępnymi lub firmowymi serwerami Internetu i intranetu, zapewniającymi dynamiczne tworzenie stron HTML na podst. zawartości bazy.

- Lepsze wsparcie narzędzi do przetwarzania analitycznego (ROLAP) lub wbudowane możliwości takiego przetwarzania w sam serwer bazy (DOLAP). Nowe serwery baz danych IBM, Informix i Oracle oferują np. przyśpieszone przeszukiwanie bazy dzięki wprowadzeniu tzw. indeksów bitowych, wsparcie gwiazdowych struktur bazy do tworzenia hurtowni danych, wbudowanie funkcji agregacji itp.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200