¿Existe una solución de almacenamiento de datos de consulta simple, plana y basada en XML? [cerrado]

7

He estado buscando por mucho tiempo un almacén de datos de consulta basado en XML y, a pesar de las búsquedas y evaluaciones continuas, todavía tengo que encontrar una solución que satisfaga mis necesidades, que incluyen:

  1. Los datos están totalmente contenidos dentro de los nodos XML, en archivos de texto plano.
  2. Hay un método "nativo", o al menos no intrusivo, con el que se pueden realizar operaciones de Crear / Leer / Actualizar / Eliminar (CRUD) en el "esquema". Consideraría que el acceso a través de http, XHR, javascript, PHP, BASH o PERL es discreto, dependiendo de la complejidad del conjunto de dependencias.
  3. El sistema de archivos del lado del servidor lee y escribe.
  4. Un elemento de interfaz del lado del cliente, accesible en cualquier navegador sin un complemento.

Algunos requisitos adicionales, preferidos (pero opcionales) incluyen:

  1. Responda a consultas de SQL simple o de sintaxis similar.
  2. Servir los datos en un servidor https básico, sin "cosas extra", ya sea a través de XMLHTTPRequest, HTTP proper o JSON.

Algunos pensamientos:

Lo que estoy buscando puede ser posible a través de algunas implementaciones de servidor Java, pero por el bien de esta pregunta, no sugiera eso, a menos que cumpla con TODOS los requisitos. Java, especialmente en el lado del cliente no es realmente una opción, ni es atractivo desde el punto de vista del desarrollo. *

Sé que recorrer el sistema de archivos es un tramo, y he oído que es posible con XPATH o XSLT, pero por lo que sé, no está listo para el horario estelar, ni siquiera una recomendación. Sin embargo, la capacidad de recorrer recursivamente el sistema de archivos es necesaria para que dicho sistema sea de utilidad útil.

En este punto, básicamente he implementado lo que describí a través de, de todas las cosas, CGI y Bash, pero tiene que haber una manera más fácil. ¿Pensamientos?

    
pregunta alex gray 25.07.2011 - 00:08

3 respuestas

3

Hay bases de datos XML nativas por ahí, eXist podría ser la más famosa de ellas.

Se pueden consultar y modificar fácilmente mediante el lenguaje estandarizado xQuery . También puedes usar todas las otras características XML como xPath o xslt con ellas. La búsqueda de texto completo se integra fácilmente a través de Apache Lucene.

La desventaja de sus requisitos es que está basado en Java. Pero solo puede usarlo en el lado del servidor y acceder a él con el idioma que desee, ya que su método estándar para recuperar datos es básicamente un servicio REST. Algunos idiomas también tienen bibliotecas para obtener acceso al eXist-Datastore, como PHP y PERL .

Si eso le parece bien, eche un vistazo a la hoja de características de eXist . Estoy bastante seguro de que establece sus requisitos.

    
respondido por el Falcon 25.07.2011 - 09:10
2

Almacenar los datos en archivos xml parece ser un mecanismo de almacenamiento realmente terrible desde una perspectiva de ingeniería y esa es probablemente la razón principal por la que no existe una solución estándar para lo que está pidiendo. La mayoría de las personas almacenarán los datos en algún tipo de almacén de datos relacionales o no relacionales y realizarán la traducción de los datos a xml sobre la marcha si es necesario. Las bases de datos están diseñadas para operaciones CRUD rápidas y se han realizado muchas investigaciones para lograrlas. Reinventar todo eso y conectarlo a un sistema de archivos es un poco tonto.

    
respondido por el davidk01 25.07.2011 - 04:20
2

¿Ha echado un vistazo y / o evaluado estas Bases de datos XML ?

  

un sistema de software de persistencia de datos que permite almacenar los datos en formato XML. Estos datos se pueden consultar, exportar y serializar en el formato deseado. Las bases de datos XML suelen estar asociadas a bases de datos orientadas a documentos ...

     

una razón para el uso de XML en las bases de datos: el uso cada vez más común de XML para el transporte de datos, lo que significa que "los datos se extraen de las bases de datos y se colocan en documentos XML y viceversa". Puede resultar más eficiente (en términos de costos de conversión) y más fácil de almacenar los datos en formato XML ...

    
respondido por el Qwerky 25.07.2011 - 10:12

Lea otras preguntas en las etiquetas