Żądłem w konkurentów

Serwer baz danych IBM DB2 UDB 8.2 Stinger został stworzony z myślą o maksymalnym ograniczeniu czynności administracyjnych.

Serwer baz danych IBM DB2 UDB 8.2 Stinger został stworzony z myślą o maksymalnym ograniczeniu czynności administracyjnych.

IBM wprowadza do sprzedaży serwer baz danych DB2 UDB 8.2 noszący do tej pory kodową nazwę Stinger. Zmiana indeksu z 8.1 na 8.2 sugeruje drobne zmiany, ale to mylące - nowości jest sporo, a ich znaczenie dla administratorów niekiedy całkiem fundamentalne. W tej edycji IBM położył szczególny nacisk na wygodę i automatyzację zadań administracyjnych, w tym lokalnego i zdalnego zabezpieczania danych, a także na funkcje optymalizujące różne aspekty pracy serwera. Wiele z nowości miało na celu integrację DB2 UDB z innymi elementami środowiska oraz ułatwienie życia programistom.

Bez ceregieli

To, co w nowej wersji administratorzy docenią w pierwszym rzędzie, to daleko posunięta automatyzacja. Serwer samodzielnie zarządza wykorzystaniem pamięci RAM - administrator musi jedynie określić maksymalny pułap, jaki może wykorzystać pojedyncza baza danych. Oczywiście, parametry takie, jak pula pamięci dostępna dla jednej instancji bazy, czy też pamięci dostępnej na użytek sterty, wciąż są obecne i można je określać jako ułamki dostępnej puli maksymalnej.

Kolejna ważna sprawa to archiwizacja danych oraz logów. Archiwizację można zaprogramować tak, by oprócz harmonogramów uwzględniała inne parametry, w szczególności liczbę transakcji czy odsetek danych, które uległy zmianie od ostatniej archiwizacji. Bazę można skonfigurować tak, by w pełni samodzielnie dbała o miejsce na dyskach na potrzeby logów, zarządzała kolejkami zadań do wykonania na podstawie analizy historii obciążenia (co nie wyklucza harmonogramowania), ustalała wielkości buforów czy stopień równoległości ładowania bądź eksportu danych (możliwe jest rozłożenie obsługi tych funkcji na wszystkie dostępne procesory). Ta ostatnia funkcja - HPU (High Performance Unloader), to nowość w odniesieniu do eksportu danych - do tej pory możliwe było jedynie szybkie załadowanie danych do bazy. HPU pozwala eksportować dane bezpośrednio z urządzeń dyskowych - z pominięciem pamięci serwera.

IBM wprowadził także bardzo wygodną funkcję odzyskiwania bazy danych za pomocą jednego polecenia RECOVER DATABASE z parametrem czasowym. Administrator nie musi pamiętać, które pliki log zawierają dane z określonego okresu, ani też gdzie znajdują się ich kopie - serwer zapisuje takie rzeczy w historii operacji administracyjnych. Serwer można skonfigurować tak, by archiwizacja czy zbieranie statystyk, a więc operacje relatywnie mocno obciążające wydajność serwera, były wykonywane z określonym priorytetem (od 1 do 10), co umożliwia np. zbieranie statystyk w trybie ciągłym, jednak z małym priorytetem. Operacji wykonywanych przez serwer automatycznie jest znacznie więcej. Warto wymienić tu np. automatyczne scalanie tabel po operacjach na dużych wolumenach danych.

W wersji DB2 UDB 8.2 IBM zawarł mechanizm HADR (High Availability Disaster Recovery) wywodzący się wprost z baz Informix. HADR działa w sposób całkowicie przezroczysty dla aplikacji - jeśli główna (lokalna) baza danych z jakichś powodów przestanie być dostępna, mechanizm HADR przełączy aplikację do bazy zapasowej (zdalnej). Aby jednak łączenie się z bazą zapasową miało sens, musi ona zawierać spójny obraz transakcji wykonywanych na bazie podstawowej. W DB2 UDB 8.2 zastosowano mechanizmy zdalnej replikacji asynchronicznej za pośrednictwem pliku log (odmiana mechanizmu typu log shipping), ale niezależnie - i to jest nowość - możliwe jest przekazywanie danych do kolejki WebSphere MQ, która zadba o bezpieczne przekazanie danych "na drugą stronę". IBM nazywa to Q-Replication.

Gładkie wnętrzności

Stinger wnosi sporo zmian z punktu widzenia programisty czy administratora aplikacji. W serwer bazy danych wbudowano podstawową wersję serwera aplikacyjnego WebSphere (wersja Express), która pozwala na budowanie aplikacji WWW z serwletami Java, ale już nie aplikacji J2EE. Ważniejszą rzeczą jest jednak wprowadzenie w wersji 8.2 interpretera języka SQL PL, który był dotychczas kompilowany i uruchamiany jako moduł wykonywalny w środowisku bazy.

"Do tej pory, jeżeli procedura składowana nie realizowała bardzo długiego algorytmu, zwłaszcza obliczeniowego, przełączanie kontekstu między bazą a procedurą było relatywnie kosztowne wydajnościowo. Interpreter powoduje, że zmiana kontekstu nie jest potrzebna, co w wielu przypadkach powinno poprawić wydajność" - mówi Artur Wroński z IBM Polska.

Wprowadzono ponadto możliwość wywoływania procedur składowanych przez wyzwalacze (triggers).

Pozostałe języki tworzenia procedur (C, C++, Java, .Net) obsługiwane są tak, jak dotychczas, choć np. obsługę .Net rozszerzono o OLE DB i ODBC .Net. Serwer DB2 UDB 8.2 jest dostarczany wraz z BD2 Development Add-Ins for Visual Studio .Net, dzięki czemu bezpośrednio w pakiecie Microsoftu można tworzyć i odwoływać się do obiektów charakterystycznych dla DB2, jak wyzwalacze czy widoki.

Wersja 8.2 wprowadza możliwość ustalania wielokrotnych, zagnieżdżonych punktów transakcji - dzięki temu programista ma większy wpływ na niezawodność aplikacji jako całości. Ponadto, jeśli transakcji rozłożonych w czasie jest więcej, ułatwia to odzyskiwanie danych po awarii. Programista ma także możliwość ustalenia maksymalnej długości oczekiwania na zwolnienie blokady.

Jedną z ciekawszych funkcji w dziedzinie obsługi zapytań SQL jest możliwość zadania tego samego zapytania do tabeli sprzed i po aktualizacji danych. Funkcja ta może mieć znaczenie przy testowaniu aplikacji, np. w testach regresji - czy nowa wersja aplikacji nie zmienia działania algorytmów wyliczających pewne wartości. Pojedyncze wyrażenie SQL w DB2 UDB 8.2 może zajmować nie 64 KB jak dotychczas, lecz aż 2 MB.

Edycje i ceny

IBM DB2 UDB 8.2 jest oferowana w trzech edycjach. Express pozwala na instalację na serwerze z maksymalnie dwoma procesorami; cena wynosi 4943 euro za procesor lub 126 euro za użytkownika nazwanego plus ok. 600 euro jednorazowej opłaty instalacyjnej za serwer. Workgroup ma ograniczenie na poziomie 4 procesorów; cena za 1 CPU wynosi ok. 9,5 tys. euro lub 315 euro za użytkownika współbieżnego plus ok. 1200 euro za instalację serwera. Enterprise została zaś wyceniona na 33,5 tys. euro za procesor.

Masala

Prawie równolegle z premierą DB2 UDB 8.2 światło dzienne ujrzała platforma do integracji danych z wielu źródeł. IBM DB2 Information Integrator jest rozwijana pod nazwą kodową Masala. IBM ma ambicję dorównać funkcjonalnością narzędziom w rodzaju Liquid Data BEA Systems, których zadaniem jest ułatwiać przeszukiwanie przepastnych korporacyjnych zasobów danych nie tylko baz danych, ale także wszelkich plików i dokumentów, czyli tzw. danych nieustrukturyzowanych. W długim okresie o rynek przeszukiwania korporacyjnych zasobów IBM walczyć będzie jednak nie tylko z BEA Systems, ale także z Microsoftem, Oracle i Google. Na tym wciąż dziewiczym rynku ciągle pojawiają się nowe firmy, np. Autonomy, Composite Software, Endeca MetaMatrix czy Verity.

Nowości w IBM DB2 UDB 8.2 Stinger:
  • Automatyzacja archiwizacji danych i logów
  • Automatyzacja zarządzania pamięcią RAM
  • High Performance Unloader - zrównoleglony eksport danych (dotychczas tylko import)
  • HADR - automatyczne przełączanie aplikacji klienckiej na bazę zapasową - bez utraty transakcji
  • Q-Replication - replikacja za pośrednictwem WebSphere MQ
  • Automatyczne odzyskiwanie danych po awarii
  • Interpreter SQL PL zamiast kompilatora
W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200