eXist-db (or eXist for short) is an open source software project for NoSQL databases built on XML technology. It is classified as both a NoSQL document-oriented database system and a native XML database (and it provides support for XML, JSON, HTML and Binary documents). Unlike most relational database management systems (RDBMS) and NoSQL databases, eXist-db provides XQuery and XSLT as its query and application programming languages.

eXist-db
Original author(s)Wolfgang Meier
Developer(s)Pierrick Brihayne, Leif-Jöran Olsson, Adam Retter,[1] Dmitriy Shabanov, and Dannes Wessels.
Initial release2000 (2000)
Stable release
6.2.0 / February 4, 2023; 13 months ago (2023-02-04)
Repositorygithub.com/exist-db/exist/
Written inJava
Operating systemLinux, Mac, Windows
PlatformJava
Standard(s)XML, XQuery, XSLT, XPath, XUpdate, XQJ, DTD, XML Schema, RelaxNG
TypeNoSQL DBMS
LicenseGNU LGPL v2.1.
Websitewww.exist-db.org

eXist-db is released under version 2.1 of the GNU LGPL.

Features edit

eXist-db allows software developers to persist XML/JSON/Binary documents without writing extensive middleware. eXist-db follows and extends many W3C XML standards such as XQuery. eXist-db also supports REST interfaces for interfacing with AJAX-type web forms. Applications such as XForms may save their data by using just a few lines of code. The WebDAV interface to eXist-db allows users to "drag and drop" XML files directly into the eXist-db database. eXist-db automatically indexes documents using a keyword indexing system.[citation needed]

History edit

eXist-db was created in 2000 by Wolfgang Meier.

eXist-db was awarded the best XML database of the year by InfoWorld in 2006.[2]

The companies eXist Solutions GmbH in Germany, and Evolved Binary in the UK, promote and provide support for the software.[3][4]

There is an O'Reilly book for eXist-db which is co-authored by Adam Retter and Erik Siegel.[5]

Version Release date Changes
6.0.0 January 27, 2022 Fixes for Log4Shell vulnerability and breaking changes to bundled Apache XML-RPC libraries to resolve security issues.[6]
5.0.0 September 2, 2019 More than 1,400 commits including improvements to document and collection locking, migration of build system from Apache Ant to Apache Maven, support removed for running eXist-db in Apache Tomcat.[7]
4.0.0 February 14, 2018 New UserManager application, Cache Extension Module rewritten to use more performant Caffeine Java library, improvements to language search support, backward compatible with v3.[8]
3.0.0 February 9, 2017 Almost 1,500 changes including support for XQuery v3.1, and updated version of Jetty with HTTP/2 support. Java 8 is now a requirement.[9]
2.0.0 February 2013 Not backward compatible with v1. Changes to permission system to more closely follow UNIX permission model, web applications are stored in database rather than in webapp directory.[10]
1.0.0 October 2006

Supported standards and technologies edit

eXist-db has support for the following standards and technologies:

  • XPath - XML Path language
  • XQuery - XML Query language
  • XSLT - Extensible Stylesheet Language Transformations
  • XSL-FO - XSL Formatting Objects
  • WebDAV - Web distributed authoring and versioning
  • REST - Representational state transfer (URL encoding)
  • RESTXQ - RESTful annotations for XQuery
  • XInclude - server-side include file processing (limited support)
  • XML-RPC - a remote procedure call protocol
  • XProc - a XML Pipeline processing language
  • XQuery API for Java[11]

See also edit

  • BaseX - another Open Source Native XML Database
  • CouchDB - a document-oriented database based on JSON

References edit

  1. ^ "Adam Retter - O'Reilly Media". O’Reilly Media. Retrieved November 30, 2017.
  2. ^ staff, InfoWorld (January 2, 2006). "2006 Technology of the Year Awards: The winners' list". InfoWorld.
  3. ^ "About eXist Solutions". existsolutions.com. Retrieved September 23, 2016.
  4. ^ "About Evolved Binary". evolvedbinary.com. Retrieved September 2, 2019.
  5. ^ Siegel, Erik; Retter, Adam (2014). eXist : A NoSQL Document Database and Application Platform. O'Reilly Media. ISBN 978-1-4493-3710-0.
  6. ^ "eXist-db 6.0.0". exist-db.org. January 2, 2022. Retrieved 2022-03-31.
  7. ^ "eXist-db 5.0.0". exist-db.org. September 2, 2019. Retrieved 2022-03-31.
  8. ^ "eXist-db v4.0.0". exist-db.org. February 14, 2018. Retrieved 2022-03-31.
  9. ^ "eXist-db v3.0 available". exist-db.org. February 9, 2017. Retrieved 2022-03-31.
  10. ^ "Known Issues when upgrading". exist-db.org. 2020. Retrieved 2022-03-31.
  11. ^ "eXist XQJ API". xqj.net.

External links edit