Una base de datos XML es un sistema de software de persistencia de datos que permite especificar y almacenar datos en formato XML. Estos datos pueden consultarse, transformarse, exportarse y devolverse a un sistema que los solicite. Las bases de datos XML son una variante de las bases de datos orientadas a documentos, que a su vez constituyen una categoría de bases de datos.
Justificación del uso de XML como formato de base de datos
Las razones para almacenar datos en formato XML como una base de datos XML incluyen: [ 1 ] [ 2 ]
- Una empresa puede tener numerosos documentos XML con datos similares, pero dispersos en diferentes formatos XML. Agrupar estos datos en una única estructura de base de datos XML estandarizada evitará problemas de compatibilidad.
- Es posible que los datos deban exponerse o ingerirse como XML, por lo que el uso de otro formato, como el relacional, obliga a realizar un doble modelado de los datos.
- XML es muy adecuado para analizar datos, datos anidados en profundidad y contenido mixto (como texto con etiquetas de marcado incrustadas).
- XML es legible para humanos, mientras que las tablas relacionales requieren conocimientos especializados para acceder a ellas.
- Los metadatos suelen estar disponibles en formato XML.
- Los datos de la web semántica están disponibles en formato RDF /XML.
- Proporciona una solución para el desajuste de impedancia objeto-relacional [ 3 ]
- Compatibilidad con el uso de XML en la capa de transporte de datos .
Bases de datos habilitadas para XML
Las bases de datos habilitadas para XML suelen ofrecer uno o más de los siguientes enfoques para almacenar XML dentro de la estructura relacional tradicional:
- XML se almacena en un CLOB ( objeto grande de caracteres ).
- XML se "desmenuza" en una serie de tablas basadas en un esquema [ 4 ].
- XML se almacena en un tipo XML nativo según lo define la norma ISO 9075-14 [ 5 ].
Los sistemas de gestión de bases de datos relacionales (RDBMS) que admiten el tipo XML ISO son:
Por lo general, una base de datos compatible con XML es la más adecuada cuando la mayoría de los datos no están en formato XML. Para conjuntos de datos donde la mayoría de los datos están en formato XML, una base de datos XML nativa es más apropiada.
Ejemplo de consulta de tipo XML en IBM DB2 SQL
select id , vol , xmlquery ( '$j/name' , passing journal as "j" ) as name from journals where xmlexists ( '$j[licence="CreativeCommons"]' , passing journal as "j" )Bases de datos XML nativas
Las bases de datos XML nativas están especialmente diseñadas para trabajar con datos XML. Dado que gestionar XML como cadenas largas sería ineficiente, y debido a la naturaleza jerárquica de XML, se utilizan estructuras de datos optimizadas a medida para el almacenamiento y las consultas. Esto suele aumentar el rendimiento tanto en términos de consultas de solo lectura como de actualizaciones. [ 10 ] Los nodos y documentos XML son la unidad fundamental de almacenamiento (lógico), al igual que una base de datos relacional tiene campos y filas. Una advertencia importante es que las bases de datos XML nativas necesitan más espacio en disco para almacenar tanto datos como índices que las bases de datos habilitadas para XML. A medida que crece el tamaño de la base de datos XML nativa, las necesidades de almacenamiento crecen casi exponencialmente. [ 11 ]
El estándar para consultar datos XML, según la recomendación del W3C, es XQuery ; la versión más reciente es XQuery 3.1. [ 12 ] XQuery incluye XPath como sublenguaje, y XML es una subsintaxis válida de XQuery. Además de XPath, algunas bases de datos XML admiten XSLT como método para transformar documentos o resultados de consultas obtenidos de la base de datos.
Características del idioma
API compatibles
Referencias
- ↑ Nicola, Matthias (28 de septiembre de 2010). "5 razones para almacenar XML en una base de datos" . Native XML Database . Archivado del original el 25 de marzo de 2015. Recuperado el 17 de marzo de 2015 .
- ↑ Feldman, Damon (11 de abril de 2013). Transición del modelado relacional a los modelos de datos XML y MarkLogic . MarkLogic World . Consultado el 17 de marzo de 2015 .
- ↑ [NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence. Addison-Wesley Educational Publishers Inc, 2009] ISBN 978-0321826626
- ↑ "Almacenamiento y consulta de esquemas XML: conceptos básicos" . Guía del desarrollador de Oracle XML DB, versión 10g , versión 2. Oracle Corporation. Agosto de 2005. Consultado el 17 de marzo de 2015 .Sección Creación de tablas y columnas XMLType basadas en esquemas XML
- ↑ "ISO/IEC 9075-14:2011: Tecnología de la información -- Lenguajes de bases de datos -- SQL -- Parte 14: Especificaciones relacionadas con XML (SQL/XML)" . Organización Internacional de Normalización . 2011. Consultado el 17 de marzo de 2015 .
- ↑ "Descripción general de pureXML: DB2 como base de datos XML" . Centro de conocimiento de IBM . IBM . Consultado el 17 de marzo de 2015 .
- ↑ "Uso de XML en SQL Server" . Microsoft Developer Network . Microsoft Corporation . Consultado el 17 de marzo de 2015 .
- ↑ "Operaciones de XMLType" . Guía del desarrollador de Oracle XML DB, versión 10g , versión 2. Oracle Corporation. Agosto de 2005. Consultado el 17 de marzo de 2015 .
- ↑ "8.13. Tipo XML" . Documentación de PostgreSQL 9.6 . Consultado el 1 de abril de 2017 .
- ↑ Matthias, Nicola (22 de agosto de 2010). "Rendimiento de XML frente a bases de datos relacionales" . Native XML Database . Archivado del original el 4 de marzo de 2017. Recuperado el 28 de junio de 2017 .
- ↑ Balamurugan, S (mayo de 2017). "Evaluación del rendimiento de bases de datos XML nativas y bases de datos habilitadas para XML" (PDF) . Revista internacional de investigación avanzada en informática e ingeniería de software . 7 (5): 1– 10.
- ↑ "Recomendación de XQuery 3.1" . 21/03/2017.
- XML
- Gestión de datos
- Modelado de datos
- bases de datos XML
- Sistemas de gestión de bases de datos