Baza danych XML - XML database

Baza danych XML jest utrzymywanie danych system oprogramowania, który umożliwia dane, które zostaną określone, a czasami przechowywane w XML format. Dane te można odpytywać , przekształcać, eksportować i zwracać do systemu wywołującego. Bazy danych XML są odmianą baz danych zorientowanych na dokumenty, które z kolei stanowią kategorię baz danych NoSQL .

Uzasadnienie dla XML w bazach danych

Istnieje wiele powodów, aby bezpośrednio określać dane w XML lub innych formatach dokumentów, takich jak JSON . W szczególności w przypadku XML obejmują one:

  • Przedsiębiorstwo może mieć dużo XML w istniejącym standardowym formacie
  • Dane mogą wymagać ujawnienia lub pozyskania jako XML, więc użycie innego formatu, takiego jak relacyjne, wymusza podwójne modelowanie danych
  • XML bardzo dobrze nadaje się do rzadkich danych, głęboko zagnieżdżonych danych i zawartości mieszanej (takiej jak tekst z osadzonymi znacznikami znaczników)
  • XML jest czytelny dla człowieka, podczas gdy tabele relacyjne wymagają specjalistycznej wiedzy, aby uzyskać dostęp
  • Metadane są często dostępne w formacie XML
  • Dane sieci semantycznej są dostępne w formacie RDF /XML
  • Zapewnia rozwiązanie problemu niedopasowania impedancji obiektowo-relacyjnej

Steve O'Connell podaje jeden powód używania XML w bazach danych: coraz powszechniejsze użycie XML do transportu danych , co oznacza, że ​​„dane są wyodrębniane z baz danych i umieszczane w dokumentach XML i vice versa”. Może to okazać się wydajniejsze (pod względem kosztów konwersji) i łatwiejsze do przechowywania danych w formacie XML. W aplikacjach opartych na treści zdolność natywnej bazy danych XML minimalizuje również potrzebę wyodrębniania lub wprowadzania metadanych w celu wsparcia wyszukiwania i nawigacji.

Bazy danych z obsługą XML

Bazy danych obsługujące XML zazwyczaj oferują jedno lub więcej z następujących podejść do przechowywania XML w tradycyjnej strukturze relacyjnej:

  1. XML jest przechowywany w CLOB ( duży obiekt znaków )
  2. XML jest `rozdrabniany` na serię tabel opartych na schemacie
  3. XML jest przechowywany w natywnym typie XML określonym w normie ISO 9075-14

RDBMS obsługujące typ ISO XML to:

  1. IBM DB2 (czysty XML)
  2. Microsoft SQL Server
  3. Baza danych Oracle
  4. PostgreSQL

Zazwyczaj baza danych z obsługą XML najlepiej nadaje się tam, gdzie większość danych nie zawiera XML. W przypadku zestawów danych, w których większość danych to XML, lepiej nadaje się natywna baza danych XML .

Przykład zapytania typu XML w IBM DB2 SQL

select
   id, vol, xmlquery('$j/name', passing journal as "j") as name 
from
   journals
where 
   xmlexists('$j[licence="CreativeCommons"]', passing journal as "j")


Natywne bazy danych XML

Natywne bazy danych XML są specjalnie przystosowane do pracy z danymi XML. Ponieważ zarządzanie XML jako dużymi ciągami byłoby nieefektywne, a ze względu na hierarchiczną naturę XML, do przechowywania i wykonywania zapytań używane są niestandardowe zoptymalizowane struktury danych. Zwykle zwiększa to wydajność zarówno pod względem zapytań tylko do odczytu, jak i aktualizacji. Węzły i dokumenty XML są podstawową jednostką (logicznej) pamięci masowej, podobnie jak relacyjna baza danych zawiera pola i wiersze.

Standardem wykonywania zapytań o dane XML zgodnie z zaleceniem W3C jest XQuery ; najnowsza wersja to XQuery 3.1. XQuery zawiera XPath jako język podrzędny, a sam XML jest poprawną składnią podrzędną XQuery. Oprócz XPath, niektóre bazy danych XML obsługują XSLT jako metodę przekształcania dokumentów lub wyników zapytań pobranych z bazy danych.

Funkcje językowe

Nazwa Licencja Język ojczysty XQuery 3.1 XQuery 3.0 XQuery 1.0 Aktualizacja XQuery XQuery Pełny tekst Rozszerzenia EXPath Rozszerzenia EXQuery XSLT 2,0 XForms 1.1 XProc 1.0
BazaX BSD Jawa tak tak tak tak tak tak tak tak tak Nie
istnieć GNU LGPL Jawa Częściowy Częściowy tak Prawnie zastrzeżony Prawnie zastrzeżony tak tak tak tak tak
Serwer MarkLogic Reklama w telewizji C++ Nie Częściowy tak Prawnie zastrzeżony Prawnie zastrzeżony Nie Nie tak tak Nie
OpenText xDB Reklama w telewizji Jawa Częściowy Częściowy tak tak tak Nie Nie Nie Nie Nie
XML bazy danych Oracle Berkeley Reklama w telewizji
Qizx Reklama w telewizji Jawa Nie Nie tak tak tak Nie Nie tak Nie Nie
Sedna Licencja Apache 2.0

Obsługiwane interfejsy API

Nazwa XQJ XML:DB Spokojny RESTXQ WebDAV
BazaX tak tak tak tak tak
istnieć tak tak tak tak tak
Serwer MarkLogic tak Nie tak tak tak
Qizx Nie Nie tak Nie Nie
Sedna tak tak Nie Nie Nie

Zbiory danych XML zorientowane na dane

W przypadku skoncentrowanych na danych zestawów danych XML unikatowa i odrębna metoda wyszukiwania słów kluczowych, a mianowicie XDMA dla baz danych XML, została zaprojektowana i opracowana w oparciu o podwójne indeksowanie i wzajemne sumowanie.

Bibliografia

Linki zewnętrzne