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:
- XML er gemt i en CLOB ( Character large object )
- XML er 'makuleret' i en række tabeller baseret på et skema
- XML gemmes i en native XML-type som defineret af ISO-standard 9075-14
RDBMS, der understøtter ISO XML-typen, er:
- IBM DB2 (pureXML)
- Microsoft SQL Server
- Oracle-database
- 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
- Rangordning af Native XML DBMS efter popularitet, opdateret månedligt fra DB-Engines
- XML-databaser - Business-sagen, Charles Foster, juni 2008 - Taler om den aktuelle tilstand af databaser og vedholdenhed af data, hvordan den aktuelle Relational Database-model begynder at knække i sømmen og giver et indblik i et stærkt alternativ til nutidens krav.
- En XML-baseret database over molekylære veje (2005-06-02) Hastighed / ydeevne sammenligninger af eXist, X-Hive, Sedna og Qizx / open
- XML Native Database Systems: Gennemgang af Sedna, Ozone, NeoCoreXMS 2006
- XML-databutikker: Emerging Practices
- Bhargava, P .; Rajamani, H .; Thaker, S .; Agarwal, A. (2005) XML-aktiverede relationsdatabaser , Texas, University of Texas i Austin.
- Initiativ til XML-databaser
- XML og databaser, Ronald Bourret, september 2005
- State of Native XML-databaser, Elliotte Rusty Harold, 13. august 2007