Question

Je suis en train d’envisager une solution open source optimale pour le stockage de documents XML contenant davantage de requêtes. La quantité de données sera petite. Autant que je sache, les bases de données XML natives pourraient constituer une solution appropriée à mon cas. Ils stockent évidemment les documents XML de manière très efficace. Ce serait génial d'apprendre votre expérience. Des suggestions sur la solution appropriée? Avez-vous déjà utilisé des moteurs de stockage XML dans vos applications?

Était-ce utile?

La solution

Nous travaillons avec des serveurs XML natifs. Ils vont bien si vos données sont inférieures à 100-200 Mo-s, mais je ne pouvais pas trouver un serveur capable de gérer les données. J'ai essayé ce qui suit:

  • eXist: serveur XML natif basé sur Java (source ouverte): avec les gros fichiers, il consomme généralement la mémoire de la machine virtuelle puis émet une exception de mémoire insuffisante
  • sedna: serveur XML natif basé sur C (open source): peut gérer des bases de données très volumineuses, mais seffaults si vous essayez d’interroger des données non indexées à partir de la base de données
  • Base de données XML Tamino (propriétaire): l’une des premières bases de données XML, mature mais prenant en charge un support de xquery insignifiant (au moins la dernière version que nous utilisons a un très mauvais support pour XQuery), et comme nous l’avons déjà vu Un professionnel qualifié ne pouvait pas le configurer correctement pour être assez rapide.

Voici mes suggestions:

  • Pour les petites données et les systèmes basés sur Java, essayez eXist. Il prend même en charge une base de données basée sur des fichiers semblable à SQlite.
  • Pour les données petites à moyennes, où les performances importent, utilisez sedna. D'après mon test, c'est le plus rapide des trois.
  • Si vous avez besoin d'assistance, utilisez Tamino. Il a au moins un soutien.

Pour les bases de données volumineuses (1 Go et plus), je ne les recommanderais pas (encore). eXist plantait généralement avec une base de données de 200 Mo. sedna s'est écrasé avec une base de données de 1 Go lors de la requête de quelque chose qui n'était pas indexé, et tamino ne pouvait même pas charger 500 Mo de données en une seule exécution avant de faire planter tout le système. Bien sûr, tous ces systèmes évoluent. Ils pourront donc être utilisés en toute sécurité un peu plus tard, mais les bases de données XML natives restent malheureusement immatures.

Autres conseils

Avez-vous examiné les solutions proposées par les principaux fournisseurs, telles que Oracle XML DB . Je ne l'ai pas essayé, mais il vaudrait certainement la peine de l'évaluer si vous avez un budget pour ce genre de choses!

De plus, Wikipedia a une belle liste de XML Dbs , que vous voudrez peut-être évaluer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top