![]() |
Licence Creative Commons by-nc-nd
(Paternité, pas d'utilisation commerciale, pas de modification) |
eXist-db est un système de gestion de base de données XML.
Il offre un stockage indexé de données XML et permet leur interrogation avec XQuery.
eXist-db est un logiciel libre écrit en Java, il a été fondé par Wolfgang Meier en 2000.
eXist-db est principalement utilisé dans le cadre d'applications web. Il peut être utilisé comme un serveur de base de données indépendant, déployé dans une application web ou intégré dans une application Java.
eXist-db supporte de nombreux standards :
La version stable actuelle est la 1.4.2
La version 2.0 est sur les rails pour devenir la prochaine version stable
Un des intérêts d'eXist-db réside dans ses index dont l'implémentation repose sur une architecture modulaire. Cela rend possible l'utilisation d'index existants comme greffons (index n-gram, index d'informations spatiales de type GML) ou le développement de nouveaux types d'index.
Un fichier de configuration permet aussi de créer des index personnalisés pour chacune des collections de documents de la base. Ainsi, en plus des index par défaut, l'utilisateur pourra ajouter un index pour un élément ou un attribut XML fréquemment utilisé dans les interrogations opérées sur la base. Ce type d'index permet des gains de temps d'exécution notables.
eXist offre une bibliothèque de fonctions fournie (voir la page XQuery Function Documentation). Il est assez facile pour l'utilisateur d'y ajouter ses propres fonctions sous la forme de modules écrits soit directement en XQuery soit en Java.
eXist-db offre aussi des mécanismes de sauvegarde/restauration et de vérification de l'intégrité de la base.
eXist-db repose sur le format XML, même si des données binaires peuvent être stockées dans une base eXist seules les données au format XML seront indexées et interrogeables.
En sortie, les données XML peuvent être transformées avec XQuery ou XSLT en XML, HTML, JSON, LaTeX, ...
L'implémentation des interfaces REST, SOAP, WebDAV, XMLRPC rend eXist-db interopérable avec un grand nombre de logiciels.
eXist-db est utilisé dans le cadre d'applications web de publication et d'interrogation de données linguistiques.
Nous utilisons eXist-db en test depuis la version 1.0 et en production depuis la version 1.2.
eXist-db est un logiciel très facile à mettre en œuvre et à utiliser. A ce titre il est souvent utilisé dans un contexte d'enseignement d'XQuery, XPath, ...
Cette facilité fait parfois oublier que son utilisation en production demande des efforts de configuration et d'optimisation. Le choix du mode de déploiement et la configuration des index notamment sont des facteurs importants d'optimisation.
Les changements apportés avec la version 1.4 ont rendu le logiciel beaucoup plus performant, l'intégration de Lucene (cf fiche PLUME) rend la recherche plein texte beaucoup plus efficace.
eXist n'implémente pas les fonctions 'import schema' et 'validate' de la spécification XQuery 1.0 (seule entorse à la spécification).
eXist-db 1.4 nécessite J2SE 5 pour fonctionner.
oXygen. eXist-db est une des bases de données qui peut être utilisée avec l'éditeur XML oXygen voir http://www.oxygenxml.com/eXist_support.html
Lucene
BaseX (open source)
Oracle Berkeley DB XML (open source)
MarkLogic Server (propriétaire)
Projet associant plusieurs développeurs (depuis 2000)
http://sourceforge.net/mail/?group_id=17691 (anglais) : Liste de diffusion très active
http://demo.exist-db.org/exist/documentation.xml (anglais) : pages de documentation
http://atomic.exist-db.org/blogs/eXist (anglais) : blog