DB2IBM DB2 – relacyjny serwer danych z rodziny Information Management Software. HistoriaW czerwcu 1970 Edgar Frank Codd, pracując dla IBM, opublikował „A Relational Model of Data for Large Shared Data Banks” – pracę na temat relacyjnego modelu organizacji danych. Model relacyjny i pierwowzór języka SQL (wtedy Alfa) po raz pierwszy zostały zaimplementowane przez IBM w projekcie System R (System Rational), będącym protoplastą DB2, prowadzonym w latach 1974–1978 w San José Laboratory w Kalifornii. Od tego czasu IBM stworzył całą rodzinę oprogramowania relacyjnych systemów zarządzania bazą danych (RDBMS). Początkowo oprogramowanie było przeznaczone tylko na platformy typu mainframe, na przykład Virtual Machine (VM), Virtual Storage Extended (VSE). Nazwa DB2 została użyta po raz pierwszy dla RDBMS w 1983, kiedy IBM udostępnił pierwszą wersję na platformę Multiple Virtual Storage (MVS). Nazwa DB2 (skrót od Database 2) symbolizuje bazę danych drugiej generacji na znak odejścia od modelu hierarchicznego. Aktualnie DB2 jest rozwijane zarówno na platformach typu mainframe, jak i platformach systemów otwartych. DB2 na OS/2 Extended Edition wprowadzony w 1987 był pierwszym systemem przeznaczonym na platformę otwartą. 27 czerwca 1997 IBM ogłosił wprowadzenie IBM DB2 v5. Od wersji 5 DB2 była zdolna przechowywać każdy rodzaj danych elektronicznych takich jak: audio, wideo czy dokumenty testowe. Była to też pierwsza wersja zoptymalizowana dla Internetu. Wersja 5 obsługiwała większość platform takich: OS/2, Windows, AIX, HP-UX lub Solaris. Od wersji 5 DB2 działała na różnych konfiguracjach sprzętowych od platform jednoprocesorowych, przez symetryczne platformy wieloprocesorowe (SMP) do systemów masywnego przetwarzania równoległego (MPP) na klastrach kończąc. IBM dodał do nazwy bazy danych termin „uniwersalna” dla podkreślenia jej nowych cech i elastyczności. Od wersji 5 kolejne dystrybucje DB2 przyjmowały nazwę IBM DB2 UDB. Wersja 5 piąta została wycofana ze sprzedaży 31 grudnia 2001. Obecnie w odniesieniu do DB2 używana jest nazwa IBM DB2 LUW (Linux, Unix, Windows). W DB2 v9 IBM wykorzystał doświadczenie z okresu modelu hierarchicznego, wprowadzając silnik hybrydowy hierarchiczno-relacyjny wspomagający obsługę dokumentów XML. W grudniu 2007 została wprowadzona na rynek edycja IBM DB2 v.9.5. EdycjeBaza IBM DB2 v9.5 oferowana jest w trzech komercyjnych edycjach: Express, Workgroup oraz Enterprise oraz bezpłatnej edycji DB2 Express-C. Wszystkie edycje DB2 oparte są na tym samym kodzie i różnią się ograniczeniami licencyjnym wynikającymi z zastosowanej platformy sprzętowej oraz ewentualnych opcjonalnych komponentów. Wszystkie edycje zawierają ten sam zestaw graficznych narzędzi administracyjnych, które dostępne są standardowo także w języku polskim. Bezpłatna edycja DB2 Express-C może być stosowana w komercyjnych rozwiązaniach i nie ogranicza wielkości bazy danych. Do każdego serwera bezpłatnej bazy można wykupić wsparcie techniczne na okres jednego roku (DB2 Express-C FTL). Wykupione wsparcie techniczne umożliwia dostęp do regularnie publikowanych przez IBM uaktualnień kodu oraz daje możliwość konfiguracji bazy w architekturze o wysokiej dostępności. Edycje komercyjneEdycje komercyjne IBM DB2 v9.5:
Edycje bezpłatneEdycje bezpłatne IBM DB2 v9.5:
Wybrane cechy IBM DB2 v.9.5KompresjaSkompresowany format zapisu rekordów w DB2 pozwala na znaczne zaoszczędzenie miejsca na macierzach dyskowych przy niewielkim narzucie związanym z dodatkowym wykorzystaniem procesora. Kompresja w DB2 wykorzystuje algorytmy sprawdzone od lat w systemach mainframe (technologia „Venom”). Testy na danych produkcyjnych wykazują przeciętnie 60-80% współczynnik kompresji, co oznacza, że zajętość tabel bazy danych jest zmniejszana około trzykrotnie w porównaniu do formatu nieskompresowanego. Kompresja danych w DB2 oparta jest na słowniku wzorców, który jest budowany globalnie dla całej tabeli bądź partycji tabeli. Powtarzający się w rekordzie wzorzec zamieniany jest na symbol ze słownika kompresji. Rekordy na dysku, jak i w pamięci przechowywane są w postaci skompresowanej i są dekompresowane dopiero w momencie wysyłania strumienia danych do aplikacji, bądź ewaluacji rekordu. Dzięki skompresowanemu formatowi rekordu można uzyskać dużo większą efektywność operacji wejścia/wyjścia, ponieważ przy tym samym obciążeniu dysku baza czyta do pamięci znacznie więcej rekordów. Silnik XMLZaimplementowany w DB2 v9 model bazy danych łączy w sobie cechy systemów czysto relacyjnych jak i dedykowanych systemów XML. Jest to możliwe dzięki zintegrowaniu dwóch dotychczas działających niezależnie silników baz danych: relacyjnej i hierarchicznej. Takie podejście zapewnia dużo lepszą wydajność przetwarzania dokumentów XML w porównaniu do technik opartych na obiektach binarnych BLOB oraz technikach dekompozycji do tabel relacyjnych. W momencie wstawienia dokumentu XML do bazy danych, węzły dokumentu XML są umieszczane w hierarchicznych strukturach. Fizyczny sposób przechowywania dokumentów XML opowiada modelowi XML. Silnik hierarchiczny pozwala na szybką nawigację odpowiednich elementów dokumentu XML bez konieczności parsowania całego dokumentu w momencie wykonywania zapytania.
Przetwarzanie klastroweIBM DB2 v9 jest serwerem bazy danych obsługującym równolegle trzy najpopularniejsze techniki partycjonowania danych: partycjonowanie zakresowe, partycjonowanie mieszane i partycjonowanie wielowymiarowe.
W celu zwiększenia potencjału obliczeniowego ogromnych wolumenów danych zapytania SQL są automatycznie dzielone na podzadania i wykonywane na wszystkich klasterach równolegle. Dlatego klasteryzacja ma olbrzymie znaczenie w systemach wielowymiarowych takich jak OLAP lub hurtownie danych. Do najważniejszych zalet partycjonowania danych zaliczane są:
Menadżer obciążeniaIBM rozszerzył silnik bazodanowy DB2 v9 o mechanizm Workload Manager (WLM), który ma zwiększyć komfort pracy wspierając i automatyzując zarządzanie priorytetami zadań. Menadżer obciążeń pozwala optymalnie wykorzystać zasoby sprzętowe i dostosować bazę do specyficznych zastosowań biznesowych przez zdefiniowanie klas przetwarzania dla poszczególnych aplikacji i zapytań. DB2 v9 umożliwia traktowanie każdego żądania jako odrębnego procesu i przypisanie go do uprzednio zdefiniowanej klasy lub podklasy przetwarzania. Otrzymując takie żądanie serwer „wie” z jakim priorytetem zrealizować zapytanie. Poniższy listing pokazuje jak stworzyć przykładową klasę przetwarzania: create service class example
agent priority default
prefetch priority high
Możliwości deweloperskie
IBM DB2 posiada również własne dedykowane środowisko deweloperskie IBM Data Studio, oparte na otwartej platformie Eclipse. IBM DS doskonale integruje się z innymi narzędziami i technologiami korporacji IBM. Data Studio doskonale współpracuje też z bazami danych Oracle, Microsoft czy Sybase. Serwer danych DB2 v9 jako pierwszy został certyfikowany na zgodność przez SAP. DB2 obsługuje zarówno język SQL jak i XQuery i XPath. Obsługuje też popularne języki programowania takie jak CLI-ODBC, Perl, PHP (dedykowany serwer Zend Core 2 for IBM), C/C++, Java. IBM DB2 v9 posiada również rozbudowane wsparcie dla platformy MS .NET. Linki zewnętrzne
|