Databases Reference
In-Depth Information
Although
XML
is frequently associated with slow processing speeds, this often has
more to do with a specific implementation of an
XML
parser or a slow virtual machine.
It has little to do with how native
XML
systems work. The generation of
XML
directly
from a compressed tree storage structure is usually on par with any other format such
as
CSV
or
JSON
.
All native
XML
databases start with the cache-friendly document store pattern and
gain from the elimination of middle-tier, object-translation layers. They then leverage
the power of standards to gain both portability and reuse of XQuery function librar-
ies. The use of standard metaphors like data folders to manage document collections
and simple path expressions in queries make native
XML
databases easy to set up and
administer for nontechnical users. This combination of features has yet to appear in
other NoSQL systems, since standardization is only critical as third-party software
developers look for application portability.
Despite the
W3C
's work on extending XQuery for updates and full-text search,
there are still areas that lack standardization. Although native
XML
databases allow
you to create custom indexes for things like geolocation,
RDF
data, and graphs, there
are still few standards in these areas, making porting applications between native
XML
databases more difficult than it needs to be. New work by the
W3C
, EXPath develop-
ers, and other researchers may mitigate these problems in the future. If these stan-
dards continue to be developed, XQuery-based document stores may become a more
robust platform for NoSQL developers.
The cache-friendliness of documents and the parallel nature of the
FLWOR
state-
ment make native
XML
databases inherently more scalable than
SQL
systems. In the
next chapter, we'll focus on the some of the techniques NoSQL systems use when
managing large datasets.
5.9
Further reading
eXist-db.
http://exist-db.org/.
EXPath.
http://expath.org
.
MarkLogic.
http://www.marklogic.com.
“Metcalfe's Law.” Wikipedia.
http://mng.bz/XqMT
.
“Network effect.” Wikipedia.
http://mng.bz/7dIQ
.
W3C. “XML Schema Part 2: Datatypes Second Edition.”
http://mng.bz/F8Gx
.
W3C. “XQuery and XPath Full Text 1.0.”
http://mng.bz/Bd9E
.
W3C. “XQuery implementations.”
http://mng.bz/49rG
.
W3C. “XQuery Update Facility 1.0.”
http://mng.bz/SN6T
.
XSPARQL
.
http://xsparql.deri.org
.