Tengo un par de archivos XML que contiene los datos para un proyecto de investigación que necesito para ejecutar algunas estadísticas. La cantidad de datos que es de cerca de 100 GB.

La estructura no es tan complejo (podría ser asignado a tal vez 10 mesas en un modelo relacional), y dada la naturaleza del problema, estos datos nunca se actualiza de nuevo, sólo necesito que esté disponible en un lugar donde sea fácil de ejecutar consultas en.

He leído acerca de XML, bases de datos, y la posibilidad de ejecutar XPATH estilo consultas sobre él, pero nunca he usado y no estoy tan cómodo con él. Tener los datos en una base de datos relacional sería mi opción preferida.

Por lo tanto, estoy buscando una manera de convertir a los datos almacenados en XML en una base de datos relacional (creo que de un grande .archivo sql similar a la generada por mysqldump, pero nada más se podía hacer).
El objetivo final es ser capaz de ejecutar consultas SQL para desmenuzar los datos.

Después de algunas investigaciones, estoy casi convencido de que tengo que escribir en mi propio.
Pero siento que este es un problema común, y por lo tanto no debe ser una herramienta que ya lo hace.

Así, ¿sabes de alguna herramienta para transformar los datos XML en una base de datos relacional?

PS1:

Mi idea sería algo así como (se puede trabajar de manera diferente, pero sólo para asegurarse de que usted consigue mi punto):

  1. Analizar la estructura de datos (basado en el XML de sí mismos, o en un XSD)
  2. Construir la base de datos relacional (tablas, claves), basado en que la estructura de
  3. Generar instrucciones SQL para crear la base de datos
  4. Generar instrucciones SQL para crear llenar los datos

PS2:

He visto algunos puestos aquí en algo ASÍ, pero todavía no pude encontrar una solución.
Microsoft «La Carga Masiva Xml» herramienta parece hacer algo en esa dirección, pero no tengo un MS SQL Server.

InformationsquelleAutor E.Z. | 2012-11-30

5 Comentarios

  1. 3

    La importación de archivos XML de la derecha de formato en una base de datos MySql es fácil:

    https://dev.mysql.com/doc/refman/5.6/en/load-xml.html

    Esto significa que, normalmente tendrá que transformar los datos XML en ese tipo de formato. Cómo hacerlo depende de la complejidad de la transformación, ¿qué lenguajes de programación que usted sabe, y si desea utilizar XSLT (que es probablemente una buena idea).

    De su ex respuestas parece que sabes Python, por lo http://xmlsoft.org/XSLT/python.html puede ser lo correcto para empezar con.

  2. 2

    Echa un vistazo a StAX en lugar de XSD para el análisis de los/extracción de datos. Es la corriente de base y puede lidiar con enormes archivos XML.

  3. 1

    Si usted se siente cómodo con Perl, he tenido muy buena suerte con XML::Twig módulo de procesamiento muy grande de archivos XML.

    Básicamente, todo lo que usted necesita es la instalación de unas ramita de controladores y la importación de datos en MySQL utilizando DBI/DBD::mysql.

    No es muy buen ejemplo en xmltwig.org.

  4. 1

    Si usted cómodo con productos comerciales, es posible que desee tener un vistazo a Asistente para datos de MySQL por el SQL Maestro de Grupo.

    Esta aplicación está dirigida especialmente a la exportación y, por supuesto, la importación de datos desde/a de bases de datos MySQL. Esto también incluye la importación XML. Usted puede descargar una prueba gratuita de 30 días para comprobar si esto es lo que usted está buscando.

    Tengo que admitir que yo no uso el MySQL de la línea de producto de ellos todavía, pero tuve una buena experiencia de usuario con su Firebird Maestro y SQLite Maestro de productos.

Dejar respuesta

Please enter your comment!
Please enter your name here