Produkt został dodany do zapytania.
fbgoogle+

Dane typu XML w bazie IBM DB2

  2013-02-28, 2013-02-28

Standard XML powstał już ponad dziesięć lat temu i od tego czasu zdobył znaczną popularność, która stale rośnie. Największymi zaletami, przechowywania danych jako dokumentów typu XML, są uniwersalność, przejrzystość, oraz łatwość zmiany prezentacji danych przy pomocy arkuszy stylów. Pomimo dużego wsparcia ze strony najczęściej używanych języków programowania, najbardziej popularne systemy zarządzania danymi wspierały format XML jedynie poprzez nakładki. Problemem była trudna obsługa, oraz niska wydajność[1], zatem nie było to wsparcie wystarczające. Z kolei systemy dedykowane, tylko i wyłącznie dla formatu XML, nie były w stanie zagrozić tradycyjnym systemom bazodanowym, ponieważ nie obsługiwały najbardziej rozpowszechnionego modelu relacyjnego.


Jako przykład wspomnianych wcześniej popularnych baz relacyjnych, można podać bazy Oracle i PostgreSQL. Baza Oracle umożliwia przechowywanie i obsługę dokumentów XML na trzy sposoby. Pierwszym jest przechowywanie całego dokumentu w sposób statyczny. Drugim sposobem jest przechowywanie dokumentu w bazie danych, używając do tego celu nakładki napisanej w języku Java, XSU. Nakładka mapuje dokument XML do postaci obiektowo-relacyjnej. W tym przypadku możliwe jest wykonywanie operacji na dokumencie. Trzecim rozwiązaniem jest podejście hybrydowe, lub zastosowanie perspektyw. W każdym z tych przypadków dokumenty XML mogą być przechowywane jako dane typu LOB, lub w sposób strukturalny[2]. Baza PostgreSQL, podobnie jak baza Oracle, dane XML przechowuje w sposób relacyjny. Użyty jest do tego celu typ danych text. Baza ta udostępnia szereg własnych funkcji do obsługi dokumentów XML. Ich użytkowanie jest skomplikowane i nieintuicyjne[3].


Firma IBM, w swoim systemie bazy danych, zdecydowała się połączyć oba modele bazy danych wprowadzając model hybrydowy. Baza danych IBM DB2 v9 opiera się na silniku, który obsługuje interfejs relacyjny, jak również interfejs XML.


Dzięki zastosowaniu takiego rozwiązania, możliwe było stworzenie nowego typu danych dla dokumentów XML. Do ich przechowywania opracowany został specjalny obszar bazy danych XDA, a co za tym idzie, zaprezentowana została funkcjonalność tworzenia tabel hybrydowych, w których na równi przechowywane są dane typu relacyjnego i dane typu XML. Baza IBM DB2 dzięki swojej hybrydowej postaci pozwala na łączenie zapytań SQL i XML, oraz wspiera zapytania Xquery.


Ponadto bardzo ciekawym rozwiązaniem jest udostępnienie mechanizmu kompresji danych typu XML, niespotykanego w żadnym innym systemie zarządzania bazami danych.


W samej bazie danych, jak i w aplikacjach skojarzonych znaczący nacisk położono na ułatwienie obsługi dokumentów XML. Centrum sterowania bazy posiada rozbudowane wsparcie dla danych typu XML. Dostępny jest również program DB2 Developer Workbench, ułatwiający budowanie zapytań dotyczących dokumentów XML. Dodatkowo istnieją ułatwiające pracę nakładki na popularne środowiska programistyczne, przykładowo MS Visual Studio.


IBM udostępnia cztery wersje bazy DB2, w tym darmową w pełni funkcjonalną wersję DB2 Express-C. Baza ta posiada, podobnie jak wersje płatne, wsparcie dla formatu XML. Jedynie najbardziej rozbudowana wersja bazy, Enterprise, umożliwia kompresję danych na poziomie wierszy.

 

 

[1] Zazwyczaj spowodowana przechowywaniem danych XML jako CLOB/LOB. 
[2] Więcej na temat użytkowania danych typu XML w bazie Oracle [Leopold Wegner, XML w Oracle 9i]

         [Dokumentacja bazy Oracle 9i]
[3] Więcej na temat użytkowania danych typu XML w bazie PostgreSQL[Dokumentacja bazy danych PostgreSQL]

^ góra

 

<