XML-database - XML database

En XML-database er et datasikkerhedssystem , der gør det muligt at specificere og undertiden gemme data i XML- format. Disse data kan forespørges , transformeres, eksporteres og returneres til et kaldesystem. XML-databaser er en smag af dokumentorienterede databaser, som igen er en kategori af NoSQL- database.

Begrundelse for XML i databaser

Der er en række grunde til direkte at angive data i XML eller andre dokumentformater såsom JSON . Specielt for XML inkluderer de:

  • En virksomhed kan have meget XML i et eksisterende standardformat
  • Data skal muligvis eksponeres eller indtages som XML, så ved hjælp af et andet format såsom relationelle kræfter dobbeltmodellering af dataene
  • XML er meget velegnet til sparsomme data, dybt indlejrede data og blandet indhold (såsom tekst med indlejrede markup-tags)
  • XML er menneskeligt læsbart, mens relationelle tabeller kræver ekspertise for at få adgang
  • Metadata er ofte tilgængelige som XML
  • Semantiske webdata er tilgængelige som RDF / XML
  • Giver en løsning til misforhold mellem objektrelationel impedans

Steve O'Connell giver en grund til brugen af ​​XML i databaser: den stadig mere almindelige brug af XML til datatransport , hvilket har betydet, at "data ekstraheres fra databaser og sættes i XML-dokumenter og omvendt". Det kan vise sig at være mere effektivt (med hensyn til konverteringsomkostninger) og lettere at gemme dataene i XML-format. I indholdsbaserede applikationer minimerer evnen til den oprindelige XML-database også behovet for ekstraktion eller indtastning af metadata for at understøtte søgning og navigation.

XML-aktiverede databaser

XML-aktiverede databaser tilbyder typisk en eller flere af følgende tilgange til lagring af XML inden for den traditionelle relationelle struktur:

  1. XML er gemt i en CLOB ( Character large object )
  2. XML er 'makuleret' i en række tabeller baseret på et skema
  3. XML gemmes i en native XML-type som defineret af ISO-standard 9075-14

RDBMS, der understøtter ISO XML-typen, er:

  1. IBM DB2 (pureXML)
  2. Microsoft SQL Server
  3. Oracle-database
  4. PostgreSQL

Typisk er en XML-aktiveret database bedst egnet, hvor størstedelen af ​​data ikke er XML. For datasæt, hvor størstedelen af ​​data er XML, er en native XML-database bedre egnet.

Eksempel på XML-typeforespørgsel i 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")


Native XML-databaser

Native XML-databaser er specielt skræddersyet til at arbejde med XML-data. Da styring af XML som store strenge ville være ineffektiv, og på grund af XML's hierarkiske karakter bruges tilpassede optimerede datastrukturer til lagring og forespørgsel. Dette øger normalt ydeevnen både med hensyn til skrivebeskyttede forespørgsler og opdateringer. XML-noder og dokumenter er den grundlæggende enhed for (logisk) lagring, ligesom en relationsdatabase har felter og rækker.

Standarden for forespørgsel efter XML-data i henhold til W3C-anbefaling er XQuery ; den seneste version er XQuery 3.1. XQuery inkluderer XPath som et undersprog, og XML i sig selv er en gyldig undersyntaks af XQuery. Ud over XPath understøtter nogle XML-databaser XSLT som en metode til at transformere dokumenter eller forespørgselsresultater hentet fra databasen.

Sprogfunktioner

Navn Licens Modersprog XQuery 3.1 XQuery 3.0 XQuery 1.0 XQuery-opdatering XQuery Fuld tekst EXPath-udvidelser EXQuery-udvidelser XSLT 2.0 XForms 1.1 XProc 1.0
BaseX BSD Java Ja Ja Ja Ja Ja Ja Ja Ja Ja Ingen
eksisterer GNU LGPL Java Delvis Delvis Ja Proprietære Proprietære Ja Ja Ja Ja Ja
MarkLogic Server Kommerciel C ++ Ingen Delvis Ja Proprietære Proprietære Ingen Ingen Ja Ja Ingen
OpenText xDB Kommerciel Java Delvis Delvis Ja Ja Ja Ingen Ingen Ingen Ingen Ingen
Oracle Berkeley DB XML Kommerciel
Qizx Kommerciel Java Ingen Ingen Ja Ja Ja Ingen Ingen Ja Ingen Ingen
Sedna Apache-licens 2.0

Understøttede API'er

Navn XQJ XML: DB Rolig RESTXQ WebDAV
BaseX Ja Ja Ja Ja Ja
eksisterer Ja Ja Ja Ja Ja
MarkLogic Server Ja Ingen Ja Ja Ja
Qizx Ingen Ingen Ja Ingen Ingen
Sedna Ja Ja Ingen Ingen Ingen

Datacentrerede XML-datasæt

For datacentrerede XML-datasæt er den unikke og tydelige søgeordsmetode, nemlig XDMA til XML-databaser designet og udviklet baseret på dobbelt indeksering og gensidig summering.

Referencer

eksterne links