Kto pierwszy do bazy

Jesień 2005 upłynie pod znakiem premier nowych wersji i testów beta większości liczących się systemów zarządzania bazami danych.

Jesień 2005 upłynie pod znakiem premier nowych wersji i testów beta większości liczących się systemów zarządzania bazami danych.

Tegoroczna jesień będzie obfitować w nowości w dziedzinie serwerów baz danych. 7 listopada swoją bardzo długo oczekiwaną premierę będzie mieć SQL Server 2005 wraz z zestawem narzędzi Visual Studio .Net. Doniosłość tej premiery trudno przecenić, ale równolegle na rynku pojawi się wiele innych nowości. Na 15 września przewidziana jest premiera Sybase Adaptive Server Enterprise (ASE) 15, której, podobnie jak nowej wersji SQL Server, poświęcimy oddzielne opracowanie.

Tymczasem już teraz Sybase rusza z programem beta kolejnej wersji Adaptive Server Anywhere o kodowej nazwie Jasper oraz towarzyszących mu narzędzi SQL Studio Anywhere. Również IBM przygotowuje się do programu beta kolejnej "dużej", dziewiątej wersji serwera DB2 o kodowej nazwie Viper. Testy beta rozpoczną się prawdopodobnie we wrześniu br., zaś premiera odbędzie się najpewniej w połowie 2006 r.

Oracle, po niedawnej premierze odświeżonej bazy Oracle 10g R2, nie ma powodów do wstydu. Wiele z funkcji, które konkurencja dopiero zapowiada, Oracle ma już "odfajkowane" i idzie dalej, zarówno z funkcjonalnością, jak i skalowalnością. Odświeżona wersja Oracle 10g niesie w sobie więcej niż proste poprawki i usprawnienia, ale tylko patrzeć, a Oracle jeszcze bardziej ją rozbuduje, włączając do serwera baz danych technologie firm przejętych w tym roku.

Rozbudowa funkcjonalności motoru to jednak nie tylko domena Oracle'a. Praktycznie wszyscy liczący się dostawcy dążą obecnie do oferowania kompleksowych platform middleware, w których baza danych jest tylko jednym z elementów - obok serwerów aplikacji, monitorów transakcyjnych, brokerów komunikatów, motorów reguł, systemów ETL i hurtowni danych, a coraz częściej także systemów do zarządzania metadanymi.

W tle odbywa się tymczasem wzmożony rozwój produktów opartych na kodzie open source. Opisywana obok baza EnterpriseDB może stać się solą w oku nie tylko Oracle'a, ale także jego konkurentów, którzy marzą o przejęciu choćby części udziału w rynku baz danych Giganta. Ostatniego słowa nie powiedziała też firma Sleepycat Software, a MySQL forsuje sojusze z Dellem i Novellem. To może tylko przyspieszyć integrację większej ilości funkcji w produktach komercyjnych.

Baza po latach

Listopadowa premiera serwera baz danych Microsoftu będzie ukoronowaniem kilku lat pracy, podczas których specyfikacja funkcjonalna i założenia ulegały ciągłym rozszerzeniom. Wyjątkiem był tu oczywiście system plików WinFS, który, choć miał być jednym z ważnych elementów nowej platformy zarządzania danymi, został zdjęty z bieżącego harmonogramu. Nawet jednak bez niego funkcjonalność SQL Server 2005 wygląda imponująco.

Pod względem funkcjonalności Microsoft już w wersji 2000 postawił poprzeczkę bardzo wysoko, zmuszając konkurentów do nadrobienia dystansu, czego przykładem była funkcjonalność analityczna. W wersji 2005 motor relacyjnej bazy danych jest jednocześnie motorem hurtowni danych, motorem OLAP, rozwiązaniem analitycznym i systemem do drążenia danych, a jednocześnie platformą raportową o bardzo rozbudowanych możliwościach.

Wiele nowości niesie sam motor. Wśród kluczowych innowacji warto wymienić obsługę tzw. common table expressions, czyli możliwość wykonywania wyrażeń rekurencyjnych na wskazanych zbiorach rekordów, dzięki specjalnemu rozszerzeniu składni SQL. Druga ważna sprawa to możliwość pisania procedur składowanych w .Net i ich uruchamianie w zasadzie w środowisku serwera baz danych (SQL Server 2005 staje się więc hybrydą serwera baz danych i serwera aplikacji, podobnie jak Oracle). Jedną z kluczowych nowości jest także pogłębiona obsługa XML i możliwość mieszania w zapytaniach języka SQL z wyrażeniami XQuery.

Zadziwiająco dużo nowości SQL Server 2005 niesie w dziedzinie analizy danych. Przede wszystkim model analityczny odchodzi od data martów i schematu gwiazdy na rzecz jednej, wielkiej, wirtualnej kostki OLAP dla całej firmy, której fragmenty są udostępniane poszczególnym użytkownikom czy aplikacjom jako widoki. Również podział modeli na ROLAP, MOLAP, HOLAP przestaje być istotny, zastępuje go bowiem inteligentne buforowanie danych.

Wiele nowości wniósł także Microsoft w dziedzinie administracji bazą danych. Po raz pierwszy projektant/analityk i administrator korzystają z oddzielnych narzędzi, przy czym narzędzia do projektowania nie posługują się "produkcyjną" bazą danych. Jednym z ułatwień dla administratorów jest możliwość "nagrywania" operacji i generowania na ich podstawie gotowych do uruchamiania skryptów, które można edytować i parametryzować.

Sybase kontratakuje

ASE 15 będzie poważnym odświeżeniem tego motoru bazodanowego, zwłaszcza w dziedzinie skalowalności. Sybase rezygnuje z dotychczasowego modelu partycjonowania, zastępując go nowym, przejętym ze sprawdzonej w dużych środowiskach bazy analitycznej Sybase IQ.

Tak jak w bazie Oracle, partycjonowanie ASE 15 jest możliwe na kilka sposobów - z naprzemiennym równoważeniem obciążenia (round robin), partycjonowaniem według zakresu klucza (range partitioning), partycjonowaniem według unikalnych kluczy hash (np. według transakcji dotyczących określonego klienta w danym miesiącu) oraz według listy (enumeratywne wskazanie rekordów przynależących do określonej partycji).

Tak zdefiniowane partycjonowanie w połączeniu z automatycznym złączaniem tabel zapewnia dużą skalowalność baz danych bez utraty wydajności. Przy okazji warto dodać, że górna granica liczby serwerów w ASE 15 praktycznie nie istnieje, podobnie jak znika ograniczenie dotyczące wielkości wykorzystywanych wolumenów.

Nowością jest także elastyczniejsze indeksowanie. Można tworzyć indeksy globalne, oddzielne indeksy dla poszczególnych partycji tabeli, indeksy dla fragmentów tabel w ramach jednej partycji. Indeksy mogą być tworzone na wyrażeniach i obiektach (Java, obrazy, pliki multimedialne), a optymalizator traktuje je na równi z "normalnymi" kolumnami.

Kolejna ważna zmiana to napisany całkowicie od nowa optymalizator zapytań. Według Sybase, nowy optymalizator pozwala przyspieszyć realizację zapytań od 15 do 250%. Zasadą jest wykonywanie zapytania według najefektywniejszego dotychczas schematu, bez automatycznego poszukiwania jeszcze lepszej metody wykonania, co odciąża serwer.

Optymalizator potrafi generować plany optymalizowane dla zapytań OLTP, OLAP i DSS, a przy tym daje możliwość podglądu szczegółowego planu zapytania przed jego wykonaniem. Przy okazji zniesione zostały limity na liczbę jednocześnie przeszukiwanych tabel, limity liczby kolumn, po których mogą być sortowane wyniki zapytania i wiele innych podobnych.

Ważną nowością jest wprowadzenie kolumn kalkulacyjnych, przechowujących w sposób trwały wartości będące wynikiem operacji na dwóch lub więcej kolumnach. Trwałe kolumny kalkulacyjne zmniejszają obciążenie bufora pamięci, ponieważ nie ma potrzeby tworzenia i utrzymywania w pamięci RAM wielu tabel tymczasowych.

Dziewiątka na wiosnę

Będąca obecnie w fazie ograniczonych testów beta baza IBM DB2 9 (Viper) przyniesie sporo nowości. Kluczowym obszarem zmian będzie - podobnie jak w przypadku Microsoftu i Sybase - wprowadzenie nowego typu danych - XML. Dzięki temu znikną dylematy, czy struktury XML należy przetwarzać do postaci relacyjnej, czy też przechowywać jako obiekty binarne (których w takim razie nie da się przeszukiwać, co z kolei burzy podstawowy powód przechowywania danych w formacie XML).

Integracja motoru relacyjnego z możliwością składowania i pełnotekstowego przeszukiwania dokumentów XML i ich parsowania jest doniosłym osiągnięciem, choć obecnie już nieunikalnym. Na pewno ułatwi życie tym klientom, którzy wykorzystują DB2 jako repozytorium dokumentów dla systemów CMS, intranetów, aplikacji WWW itp.

Podobnie jak Sybase i Microsoft, IBM nadrabia obecnie zaległości w partycjonowaniu na modłę Oracle (chodzi głównie o podział tabel według zakresu klucza), który tymczasem w serwerze 10g R2 wprowadził możliwość podziału bazy na 100 równolegle działających serwerów. Nacisk IBM kładzie jednak na to, by partycjonowanie w DB2 UDB działało na zasadzie takiej jak partycjonowanie bazy DB2 na platformie mainframe - włącznie z mechanizmami administracyjnymi.

Inną kluczową innowacją DB2 Viper będzie zarządzanie uprawnieniami do rekordów na podstawie hierarchii etykiet. Innymi słowy, określony poziom uprawnień będzie wiązać się z możliwością legitymowania się użytkownika przed serwerem określoną etykietą. Serwer udostępni użytkownikowi tylko te rekordy, które oznaczone są jego etykietą lub etykietą o niższych uprawnieniach. Taki mechanizm wydaje się dobrym rozwiązaniem w przypadku wykorzystania jednego serwera baz danych przez wiele spółek w holdingu, choć nawet w ramach jednej organizacji może być użyteczny.

Jak na IBM przystało, kolejna wersja DB2 będzie zawierać więcej mechanizmów automatycznego zarządzania. Na razie wiadomo, że IBM wprowadzi pętle zwrotne w zarządzaniu pamięcią dla poszczególnych zapytań, co pozwoli przydzielać im dokładnie tyle pamięci, ile potrzebują do optymalnego wykonania - nie więcej i nie mniej. Takie operacje dotychczas wykonywane były ręcznie przez administratora, jednak przy serwerze mocno obciążonym pomyłka może skończyć się znacznym wydłużeniem przetwarzania. Automatyczne zarządzanie pamięcią pozwoli zakończyć etap zarządzania "na oko" w tym względzie.

Jasper pcha się na świat

Właśnie rozpoczął się program beta nowej wersji Adaptive Server Anywhere o kodowej nazwie Jasper oraz powiązanego z nim zestawu narzędzi programistycznych SQL Studio Anywhere. Funkcjonalność nowej bazy zapowiada się bardzo interesująco, ponieważ jednak w bieżącym numerze nie starczyło na to miejsca, przedstawimy Państwu ten produkt w jednym z najbliższych numerów.

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

TOP 200