Almacenamiento
de documentos
XML
Autor: Sinuhé Navarro Martín
Índice
¿De qué vamos a hablar hoy?
➔ Tecnologías XML y ejemplos de uso
➔ Estado actual y dificultades a resolver
de las tecnologías XML
➔ Consideraciones sobre el
almacenamiento del XML
➔ Formas de almacenar XML
◆ En ficheros dentro del sistema de
ficheros
◆ En SGBD “habilitados”
◆ En SGBD nativas XML
➔ Pros y contras de cada manera.
Tecnologías XML
Se trata de un estándar del W3C ampliamente
usado para el intercambio y almacenamiento de
información, fuertemente orientado a la gestión
documental en este último caso. Es por esto que
distinguimos 2 tipos de documentos XML:
Centrados en datos
❖ Para el intercambio de datos
❖ Estructuras regulares
❖ App 2 App
Centrados en contenido
❖ Para el almacenamiento de información
❖ Estructuras no tan regulares
❖ Persona 2 Persona
Tecnologías XML
Usos
● Transmisión de documentos en sistemas B2B.
● Construcción de formatos de mensajes para integración de
aplicaciones Internet.
● Gestión de la configuración de aplicaciones y sistemas.
● Almacenamiento y obtención de datos.
● Actividades de manipulación de datos dentro de aplicaciones.
Ventajas:
● Independencia de la plataforma.
● Facilidad de compartir datos de manera transparente.
● Variedad de datos incluyendo texto, imágenes y sonido.
Ejemplos de documentos “data-centric”
Datos científicos, planificaciones de vuelos, datos de Stock u órdenes
de pedidos, fichero de configuración de aplicaciones.
Ejemplos de “document centric”
E-mails, libros, publicidad, órdenes de compra.
Mixto
Un periódico digital contiene datos sobre el/la autor/a del artículo,
categoría, fecha y otros datos “data centric” pero también información
“document centric” como el texto del artículo, imágenes, etc., que
pueden ser de tamaños y estructuras diferentes.
Ejemplos de uso de documentos XML
Aplicaciones reales del uso de XML:
● Desarrollo de pequeños portales web, con contenidos medianamente estáticos: Web de
Gulmu.
● Gestión documental:
○ Podemos guardar nuestros documentos, apuntes, memorias de prácticas, etc, etc en docBook. Por
ejemplo para preparar los apuntes. En XML,En PDF.
○ Podemos gestionar toda la documentación técnica que se genera durante la realización de un proyecto.
Documentos cedidos por cortesía de la Consejería de Agricultura, Agua y Medio Ambiente de la Región
de Murcia, y EXAGroup Consultores S.A.: Ver una muestra
● Impresión de informes en nuestras aplicaciones, y manuales de aplicaciones.
Documentos cedidos por cortesía de la Consejería de Agricultura, Agua y Medio Ambiente de
la Región de Murcia, y EXAGroup Consultores S.A.:
○ Pantallazo de Windows, con el aspecto de las aplicaciones.Ver Imagen.
○ Report en PDF, que se puede ver en el pantallazo.Ver PDF.
○ XML, resultado de la consulta a Oracle (usando XDK), del cual aparece el report.Ver XML.
● Desarrollo de Formularios de aplicaciones (Oracle Forms 9) y Autodocumentación.
Documentos cedidos por cortesía de la Consejería de Agricultura, Agua y Medio Ambiente de
la Región de Murcia, y EXAGroup Consultores S.A.:
○ Formulario Forms9 en XML.Ver XML.
○ En base a este formulario XML, se construye el html que autodocumenta el Form.Ver Html.
Dificultades a resolver sobre
tecnologías XML
● Estándares emergentes y conflictivos.
● Nuevos requerimientos de habilidades.
● Problemas administrativos causados por la
creciente cantidad de datos XML que deben
ser administrados.
Consideraciones sobre el almacenamiento
de XML
● El almacenamiento y acceso a los datos debe ser consistente,
confiable y eficiente.
● La mayoría de las aplicaciones dependen de BD relacional y estos
SGBD se esfuerzan por dar soporte a las tecnologías XML (BBDD
habilitadas XML).
● Sin embargo, nuevos productos nativos XML están construidos
para manejar las demandas de datos XML en forma nativa sin el
bagaje de conversiones a otras estructuras de bases de datos
como la relacional.
● Adicionalmente, existe una diversidad de estrategias de
almacenamiento XML, procesos de conversión, y niveles de
soporte para XML con los productos líderes de bases de datos.
Consideraciones sobre la elección del SGDB
● Deben soportar ambos tipos de tipos de documentos (“data centric” y
“document centric”) ya que XML está siendo ampliamente usado en
sistemas que administran ambos tipos.
● La mayoría de los productos se enfocan en gestionar uno de esos tipos de
documentos mejor que el otro.
● Es común tener ambos tipos de documentos XML dentro de la misma
aplicación.
● Los SGBD deben ser capaces de obtener datos en ambos sentidos XML-
Relacional y Relacional-XML.
● Los principales SGBD están incorporando soporte XML en sus productos
o proveyendo herramientas para el uso de XML en sus bases de datos
como búsquedas, organización en columnas y tablas, etc.
Opciones comunes de almacenamiento de
XML
1. Almacenamiento directo del fichero.
2. Almacenamiento en una BD relacional “habilitada”.
a. El XML se almacena en un campo CLOB (Character
large object).
b. El XML se desgaja en una serie de tablas según un
esquema.
c. El XML se almacena de forma nativa como tipo XML
según define ISO​.
3. Almacenar el fichero en una base de datos nativa XML.
1. Almacenamiento directo de ficheros
● Opción poco recomendable en general.
● Opciones de operación muy limitadas.
○ No se puede consultar ni modificar la información
mediante lenguajes.
○ No existe SGBD que gestione la información
■ No se controla el acceso seguro ni la concurrencia.
■ No se controla la integridad
■ Etc.
2.a Mapeo como un campo CLOB en una BD
Relacional
● Opción recomendable para documentos “document
centric”.
● Sólo será modificado cuando el documento completo es
reemplazado
Ventajas
● Mantiene formato del documento.
Desventajas
● No permite consultar la información
2.b Mapeo basado en tablas en una BD
Relacional
Se han creado complejas teorías y patrones para encajar objetos o
estructuras jerarquizadas en bases de datos relacionales
2.b Mapeo basado en tablas en una BD
Relacional
Existen numerosos middlewares encargados de la transferencia de
información entre estructuras XML y bases de datos relacionales
2.c Mapeo de forma nativa como tipo XML según
define ISO
ISO/IEC 9075-14:2011 define cómo usar SQL en conjunción con
XML. Define cómo importar, almacenar, manipular y publicar
datos XML en una BD SQL.
Entre los SGBD que soportan ISO XML están:
● IBM DB2 (XML puro5​)
● Microsoft SQL Server6​
● Oracle Database7​
● PostgreSQL8​
2. Conclusiones sobre el almacenamiento
en una BD relacional
● No son óptimas debido a las particularidades del XML.
● Probablemente se produzca pérdida de semántica y
redundancia en la transformación.
● Actualmente es una opción muy popular para documentos
“data centric” ya que son SGBD conocidos.
● Muchas organizaciones trabajan ya para solventar las
dificultades para almacenar información XML en BD
relacionales y en el futuro será una práctica más común.
3. Bases de datos nativas XML
Son bases de datos, y como tales soportan transacciones, acceso multi-usuario, lenguajes
de consulta, etc. Están diseñadas especialmente para almacenar documentos XML.
Las BD nativas se caracterizan principalmente por:
● La base de datos está estructurada en colecciones, una colección es un conjunto de
documentos, de modo que es una estructura de árbol donde cada documento
pertenece a una única colección.
● Las colecciones juegan en las bases de datos nativas el papel de las tablas en las BD
relacionales.
● Validación de los documentos.
● Consultas. La mayoría de las BD XML soportan uno o más lenguajes de consulta. Uno
de los más populares es XQuery.
● Indexación XML. Se ha de permitir la creación de índices que aceleren las consultas
realizadas.
● Creación de identificadores únicos. A cada documento XML se le asocia un
identificador único.
● Actualizaciones y Borrados.
3. Bases de datos nativas XML
Según el tipo de almacenamiento utilizado pueden dividirse en dos grupos:
Almacenamiento Basado en Texto. Almacena el documento XML entero en forma de texto y
proporciona alguna funcionalidad de base de datos para acceder a él. Hay dos posibilidades:
1. Almacenar el documento como un BLOB en una base de datos relacional, mediante un
fichero, y proporcionar algunos índices sobre el documento que aceleren el acceso a la
información.
2. Almacenar el documento en un almacén adecuado con índices, soporte para
transacciones, etc.
Almacenamiento Basado en el modelo. Almacena un modelo binario del documento (por
ejemplo, DOM) en un almacén existente o bien específico. Posibilidades:
1. Traducir el DOM a tablas relacionales como Elementos, Atributos, Entidades, etc.
2. Traducir el DOM a objetos en una BDOO.
3. Utilizar un almacén creado especialmente para esta finalidad.
Conclusiones a la hora de
elegir un SGBD
❖ La elección dependerá de muchos factores.
❖ No hay una fórmula única para determinar qué tipo de
SGBD para cada caso. Únicamente algunas
recomendaciones generales para nada estrictas.
Referencias
❖ http://openaccess.uoc.edu/webapps/o2/bitstream/10609/1064/1/0078
9tfc.pdf
❖ https://es.wikipedia.org/wiki/Bases_de_datos_nativas_XML
❖ http://profesor.uprb.edu/mvelez/cursos/sici4175/informes/xml.htm
❖ https://docs.oracle.com/cd/B19306_01/appdev.102/b14259/xdb05sto.
htm#i1042421
❖ https://docplayer.es/3240846-Xml-y-bases-de-datos-ana-belen-
martinez-prieto-universidad-de-oviedo.html
❖ https://www.um.es/linux/xml/ejemplos.html

Almacenamiento de documentos xml

  • 1.
  • 2.
    Índice ¿De qué vamosa hablar hoy? ➔ Tecnologías XML y ejemplos de uso ➔ Estado actual y dificultades a resolver de las tecnologías XML ➔ Consideraciones sobre el almacenamiento del XML ➔ Formas de almacenar XML ◆ En ficheros dentro del sistema de ficheros ◆ En SGBD “habilitados” ◆ En SGBD nativas XML ➔ Pros y contras de cada manera.
  • 3.
    Tecnologías XML Se tratade un estándar del W3C ampliamente usado para el intercambio y almacenamiento de información, fuertemente orientado a la gestión documental en este último caso. Es por esto que distinguimos 2 tipos de documentos XML: Centrados en datos ❖ Para el intercambio de datos ❖ Estructuras regulares ❖ App 2 App Centrados en contenido ❖ Para el almacenamiento de información ❖ Estructuras no tan regulares ❖ Persona 2 Persona
  • 4.
    Tecnologías XML Usos ● Transmisiónde documentos en sistemas B2B. ● Construcción de formatos de mensajes para integración de aplicaciones Internet. ● Gestión de la configuración de aplicaciones y sistemas. ● Almacenamiento y obtención de datos. ● Actividades de manipulación de datos dentro de aplicaciones. Ventajas: ● Independencia de la plataforma. ● Facilidad de compartir datos de manera transparente. ● Variedad de datos incluyendo texto, imágenes y sonido.
  • 5.
    Ejemplos de documentos“data-centric” Datos científicos, planificaciones de vuelos, datos de Stock u órdenes de pedidos, fichero de configuración de aplicaciones. Ejemplos de “document centric” E-mails, libros, publicidad, órdenes de compra. Mixto Un periódico digital contiene datos sobre el/la autor/a del artículo, categoría, fecha y otros datos “data centric” pero también información “document centric” como el texto del artículo, imágenes, etc., que pueden ser de tamaños y estructuras diferentes. Ejemplos de uso de documentos XML
  • 6.
    Aplicaciones reales deluso de XML: ● Desarrollo de pequeños portales web, con contenidos medianamente estáticos: Web de Gulmu. ● Gestión documental: ○ Podemos guardar nuestros documentos, apuntes, memorias de prácticas, etc, etc en docBook. Por ejemplo para preparar los apuntes. En XML,En PDF. ○ Podemos gestionar toda la documentación técnica que se genera durante la realización de un proyecto. Documentos cedidos por cortesía de la Consejería de Agricultura, Agua y Medio Ambiente de la Región de Murcia, y EXAGroup Consultores S.A.: Ver una muestra ● Impresión de informes en nuestras aplicaciones, y manuales de aplicaciones. Documentos cedidos por cortesía de la Consejería de Agricultura, Agua y Medio Ambiente de la Región de Murcia, y EXAGroup Consultores S.A.: ○ Pantallazo de Windows, con el aspecto de las aplicaciones.Ver Imagen. ○ Report en PDF, que se puede ver en el pantallazo.Ver PDF. ○ XML, resultado de la consulta a Oracle (usando XDK), del cual aparece el report.Ver XML. ● Desarrollo de Formularios de aplicaciones (Oracle Forms 9) y Autodocumentación. Documentos cedidos por cortesía de la Consejería de Agricultura, Agua y Medio Ambiente de la Región de Murcia, y EXAGroup Consultores S.A.: ○ Formulario Forms9 en XML.Ver XML. ○ En base a este formulario XML, se construye el html que autodocumenta el Form.Ver Html.
  • 7.
    Dificultades a resolversobre tecnologías XML ● Estándares emergentes y conflictivos. ● Nuevos requerimientos de habilidades. ● Problemas administrativos causados por la creciente cantidad de datos XML que deben ser administrados.
  • 8.
    Consideraciones sobre elalmacenamiento de XML ● El almacenamiento y acceso a los datos debe ser consistente, confiable y eficiente. ● La mayoría de las aplicaciones dependen de BD relacional y estos SGBD se esfuerzan por dar soporte a las tecnologías XML (BBDD habilitadas XML). ● Sin embargo, nuevos productos nativos XML están construidos para manejar las demandas de datos XML en forma nativa sin el bagaje de conversiones a otras estructuras de bases de datos como la relacional. ● Adicionalmente, existe una diversidad de estrategias de almacenamiento XML, procesos de conversión, y niveles de soporte para XML con los productos líderes de bases de datos.
  • 9.
    Consideraciones sobre laelección del SGDB ● Deben soportar ambos tipos de tipos de documentos (“data centric” y “document centric”) ya que XML está siendo ampliamente usado en sistemas que administran ambos tipos. ● La mayoría de los productos se enfocan en gestionar uno de esos tipos de documentos mejor que el otro. ● Es común tener ambos tipos de documentos XML dentro de la misma aplicación. ● Los SGBD deben ser capaces de obtener datos en ambos sentidos XML- Relacional y Relacional-XML. ● Los principales SGBD están incorporando soporte XML en sus productos o proveyendo herramientas para el uso de XML en sus bases de datos como búsquedas, organización en columnas y tablas, etc.
  • 10.
    Opciones comunes dealmacenamiento de XML 1. Almacenamiento directo del fichero. 2. Almacenamiento en una BD relacional “habilitada”. a. El XML se almacena en un campo CLOB (Character large object). b. El XML se desgaja en una serie de tablas según un esquema. c. El XML se almacena de forma nativa como tipo XML según define ISO​. 3. Almacenar el fichero en una base de datos nativa XML.
  • 11.
    1. Almacenamiento directode ficheros ● Opción poco recomendable en general. ● Opciones de operación muy limitadas. ○ No se puede consultar ni modificar la información mediante lenguajes. ○ No existe SGBD que gestione la información ■ No se controla el acceso seguro ni la concurrencia. ■ No se controla la integridad ■ Etc.
  • 12.
    2.a Mapeo comoun campo CLOB en una BD Relacional ● Opción recomendable para documentos “document centric”. ● Sólo será modificado cuando el documento completo es reemplazado Ventajas ● Mantiene formato del documento. Desventajas ● No permite consultar la información
  • 13.
    2.b Mapeo basadoen tablas en una BD Relacional Se han creado complejas teorías y patrones para encajar objetos o estructuras jerarquizadas en bases de datos relacionales
  • 14.
    2.b Mapeo basadoen tablas en una BD Relacional Existen numerosos middlewares encargados de la transferencia de información entre estructuras XML y bases de datos relacionales
  • 15.
    2.c Mapeo deforma nativa como tipo XML según define ISO ISO/IEC 9075-14:2011 define cómo usar SQL en conjunción con XML. Define cómo importar, almacenar, manipular y publicar datos XML en una BD SQL. Entre los SGBD que soportan ISO XML están: ● IBM DB2 (XML puro5​) ● Microsoft SQL Server6​ ● Oracle Database7​ ● PostgreSQL8​
  • 16.
    2. Conclusiones sobreel almacenamiento en una BD relacional ● No son óptimas debido a las particularidades del XML. ● Probablemente se produzca pérdida de semántica y redundancia en la transformación. ● Actualmente es una opción muy popular para documentos “data centric” ya que son SGBD conocidos. ● Muchas organizaciones trabajan ya para solventar las dificultades para almacenar información XML en BD relacionales y en el futuro será una práctica más común.
  • 17.
    3. Bases dedatos nativas XML Son bases de datos, y como tales soportan transacciones, acceso multi-usuario, lenguajes de consulta, etc. Están diseñadas especialmente para almacenar documentos XML. Las BD nativas se caracterizan principalmente por: ● La base de datos está estructurada en colecciones, una colección es un conjunto de documentos, de modo que es una estructura de árbol donde cada documento pertenece a una única colección. ● Las colecciones juegan en las bases de datos nativas el papel de las tablas en las BD relacionales. ● Validación de los documentos. ● Consultas. La mayoría de las BD XML soportan uno o más lenguajes de consulta. Uno de los más populares es XQuery. ● Indexación XML. Se ha de permitir la creación de índices que aceleren las consultas realizadas. ● Creación de identificadores únicos. A cada documento XML se le asocia un identificador único. ● Actualizaciones y Borrados.
  • 18.
    3. Bases dedatos nativas XML Según el tipo de almacenamiento utilizado pueden dividirse en dos grupos: Almacenamiento Basado en Texto. Almacena el documento XML entero en forma de texto y proporciona alguna funcionalidad de base de datos para acceder a él. Hay dos posibilidades: 1. Almacenar el documento como un BLOB en una base de datos relacional, mediante un fichero, y proporcionar algunos índices sobre el documento que aceleren el acceso a la información. 2. Almacenar el documento en un almacén adecuado con índices, soporte para transacciones, etc. Almacenamiento Basado en el modelo. Almacena un modelo binario del documento (por ejemplo, DOM) en un almacén existente o bien específico. Posibilidades: 1. Traducir el DOM a tablas relacionales como Elementos, Atributos, Entidades, etc. 2. Traducir el DOM a objetos en una BDOO. 3. Utilizar un almacén creado especialmente para esta finalidad.
  • 19.
    Conclusiones a lahora de elegir un SGBD ❖ La elección dependerá de muchos factores. ❖ No hay una fórmula única para determinar qué tipo de SGBD para cada caso. Únicamente algunas recomendaciones generales para nada estrictas.
  • 20.
    Referencias ❖ http://openaccess.uoc.edu/webapps/o2/bitstream/10609/1064/1/0078 9tfc.pdf ❖ https://es.wikipedia.org/wiki/Bases_de_datos_nativas_XML ❖http://profesor.uprb.edu/mvelez/cursos/sici4175/informes/xml.htm ❖ https://docs.oracle.com/cd/B19306_01/appdev.102/b14259/xdb05sto. htm#i1042421 ❖ https://docplayer.es/3240846-Xml-y-bases-de-datos-ana-belen- martinez-prieto-universidad-de-oviedo.html ❖ https://www.um.es/linux/xml/ejemplos.html

Notas del editor

  • #4 Esta clasificación no siembres es obvia. En ocasiones el contenido será mixto y difícil de catalogar por lo que dificultará la decisión a tomar sobre cómo almacenar dicha información.
  • #6 Se obvian las BBDD orientadas a objetos por su es
  • #9 Se obvian las BBDD orientadas a objetos por su es
  • #10 Se obvian las BBDD orientadas a objetos por su es
  • #11 Existe también la opción de SGBOO pero es mucho menos frecuente y no lo vamos a añadir en esta unida.
  • #19 No vamos a pararnos mucho. Las he incluído para completar la información a modo de resumen de la unidad-