Database Reference
In-Depth Information
When running eXist as a server, you can develop entire applications in eXist's
high-level query languages (XQuery and XSLT) without necessarily having to be
a computer scientist or programmer.
Transaction management
Most RDBMSs and many NoSQL databases allow you to control your transac‐
tions from within your database queries or API calls. Unfortunately, eXist does
not currently support database-level transaction control. eXist does have transac‐
tions internally and uses a database journal to ensure the durability and consis‐
tency of your data, but these are not exposed to the user. Transaction control is
high on the list of desirable features for eXist, and some options have already
been explored for the future.
Horizontal scalability and replication
A feature of many RDBMSs and NoSQL database systems is the ability to cluster
database nodes to increase database scalability and capacity. eXist is currently
mostly deployed on single servers. As of this writing, it has no support for auto‐
matic sharding of data. eXist has recently gained support for replication in ver‐
sion 2.1 through JMS (Java Message Service) message queueing. The replication
feature allows you to have a master/slave database, which is highly available for
reads that may occur from any node, but it is still currently recommended to
send writes to the master node. For further details of the emerging replication
support in eXist, see https://github.com/eXist-db/messaging-replication/wiki .
History
Once upon a time, around the turn of the 21st century, there was a researcher named
Wolfgang Meier working at the Technical University of Darmstadt. He was in need
of a system to analyze and query XML data, and since there was nothing around that
satisfied his needs, he decided to write something himself: eXist.
Starting out in C++, Meier quickly turned to Java, and by the beginning of 2001, a
first version was available. It was based on a relational database backend and, com‐
pared to where we are now, very primitive. The functionality was basic and it was
slow on indexing, but yes, it already had some XPath on board. Immediately, some
dictionary research projects started using it.
The next stage was replacing the relational backend with native XML storage. While
this was happening, more and more people started using eXist, and around 2004 the
first commercial projects arrived. The development of eXist has since then mostly
been financed by its users, who needed new functionality and were willing to pay
for it.
Implementing XQuery met some resistance. At that stage, eXist was still mostly an
XML database only. Why would you need something like XQuery if you already have
Search WWH ::




Custom Search