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:
- XML jest przechowywany w CLOB ( duży obiekt znaków )
- XML jest `rozdrabniany` na serię tabel opartych na schemacie
- XML jest przechowywany w natywnym typie XML określonym w normie ISO 9075-14
RDBMS obsługujące typ ISO XML to:
- IBM DB2 (czysty XML)
- Microsoft SQL Server
- Baza danych Oracle
- 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
- Ranking natywnych XML DBMS według popularności, aktualizowany co miesiąc, od DB-Engines
- Bazy danych XML – Przypadek biznesowy, Charles Foster, czerwiec 2008 – Rozmowa o obecnym stanie baz danych i trwałości danych, o tym, jak obecny model relacyjnych baz danych zaczyna pękać w szwach i daje wgląd w silną alternatywę dla dzisiejszych wymagań.
- Oparta na XML baza danych ścieżek molekularnych (2005-06-02) Porównania szybkości / wydajności eXist, X-Hive, Sedna i Qizx/open
- Natywne systemy baz danych XML: przegląd Sedna, Ozone, NeoCoreXMS 2006
- Magazyny danych XML: nowe praktyki
- Bhargava, P.; Rajamani, H.; Thaker, S.; Agarwal, A. (2005) Relacyjne bazy danych z obsługą XML , Teksas, University of Texas w Austin.
- Inicjatywa na rzecz baz danych XML
- XML i bazy danych, Ronald Bourret, wrzesień 2005
- Stan natywnych baz danych XML, Elliotte Rusty Harold, 13 sierpnia 2007 r.