Sistemas de almacenamento de información
As aplicacións informáticas adoitan usar bases de datos (BBDD) para o almacenamento da información. O habitual é empregar bases de datos relacionais (Postgress, mySQL, etc.) baseadas en táboas con campos relacionados entre si. Con todo a aparición de XML e as súas tecnoloxías asociadas permiten a posibilidade de almacenar os datos en bases de datos XML. Existen dous tipos de BBDD XML:
- Bases de datos relacionais con soporte para XML. Son BBDD relacionais que permiten exportar táboas, consultas, etc. a ficheiros XML. Practicamente todas as BBDD minimamente serias teñen soporte para isto. Neste sitio web hai unha listaxe bastante completa.
- Bases de datos XML nativas (NXD). Así como o elemento fundamental das BBDD relacionais é a táboa (tamén chamada relación), nas NXD é o documento XML. Unha base de datos nativa en XML, non posúe campos, nin almacena datos atómicos. O que almacena son documentos XML. Por tanto, a este tipo de bases de datos denomínaselles bases de datos centradas en documentos. Neste sitio web hai unha listaxe bastante completa. A pesar de que esta división en bases de datos centradas nos datos e bases de datos centradas no documento está un pouco obsoleta, resulta útil para entender a filosofía de XML e os conceptos máis importantes da tecnoloxía XML.
Os motivos para empregar XML nas BBDD son varios pero un dos principais é o uso, cada vez máis frecuente, de XML como mecanismo de transporte dos datos, é dicir, os datos extráense desde as BBDD e póñense en documentos XML para que as aplicacións os usen. Do mesmo xeito, as aplicacións deixan os seus "resultados" en ficheiros XML que son almacenados en BBDD.
Inconvenientes de almacenar datos en ficheiros XML
O almacenamento en ficheiros XML ten certos inconvenientes comparado coas bases de datos. O inconveniente máis obvio é que carece de funcións específicas de bases de datos, como desencadenadores (triggers), acceso multiusuario, almacenamento eficiente, índices, seguridade, transaccións, comprobacións de integridade de datos ou consultas en múltiples documentos.
Isto é normal, tendo en conta que un DBMS está deseñado para manipular, almacenar e recuperar datos de forma rápida e segura, mentres que XML está deseñado para intercambiar datos entre plataformas.
Como consecuencia do anterior, a busca en documentos XML tamén é máis lenta, debido á falta de índices e de funcións de optimización de, as cales si están dispoñibles nas bases de datos.