Download Introducción a XML

Document related concepts
Transcript
XML
Nociones básicas para entender el
“mundo XML”.
Índice
Índice
1)
2)
3)
4)
5)
6)
Introducción a XML
XML aplicado a bases de datos
dbXML
Exist
dbXML vs. Exist
Conclusiones
Mikel Alonso & Cynthia Fresno
2
1. Introducción a
XML
1. Introducción a XML
¿Qué es XML?
 Definición:
Lenguaje de metamarcado para
documentos que contienen información
estructurada
Mikel Alonso & Cynthia Fresno
4
1. Introducción a XML
Lenguaje de metamarcado:
 Mecanismo para identificar estructuras en un
documento.
Información estructurada:
 Consta de un contenido (palabras, imágenes…)
y de el papel que “interpreta” este contenido.
 Casi todos los documentos tienen una
estructura.
Mikel Alonso & Cynthia Fresno
5
1. Introducción a XML
¿Qué es un documento?
 Para XML un documento no es sólo un
“documento de texto propiamente dicho”.
 Pueden tener: gráficos vectoriales,
transacciones e-comerciales, meta-datas de
objetos, etc.
Mikel Alonso & Cynthia Fresno
6
1. Introducción a XML
¿Para que se creó XML?
 Para que documentos ricamente estructurados
se pudieran utilizar en Internet.
 Las únicas alternativas viables (SGML y HTML)
no son adecuadas para este propósito:
- HTML: Limitado por un grupo de semanticos,
no proporciona información estructurada.
- SGML: Proporciona una estructura arbitraria,
pero dificil implementarlo sólo para una
aplicación web.
Mikel Alonso & Cynthia Fresno
7
1. Introducción a XML
Objetivos de desarrollo de
XML
1) Debe ser sencillo utilizar XML en Internet: Los
usuarios deben ser capaces de ver
documentos XML como HTML.
2) Debe admitir una gran variedad de
aplicaciones.
3) Debe ser compatible con SGML.
4) Debe ser fácil escribir programas que
procesen documentos XML.
5) El número de características opcionales en
XML debe mantenerse absolutamente mínimo,
idealmente cero.Mikel Alonso & Cynthia Fresno
8
1. Introducción a XML
6) Los documentos XML deben ser
humanamente legibles y razonablemente
claros.
7) El diseño de XML debe de hacerse
rápidamente.
8) El diseño de XML debe ser formal y conciso.
(XML debe ser expresado en “EBNF”)
9) Los documentos XML deben de ser fáciles de
crear.
10) Ser conciso es de mínima importancia en el
marcaje de XML.
Mikel Alonso & Cynthia Fresno
9
1. Introducción a XML
¿Cómo está definido XML?
XML está definido por un número de
especificaciones relacionadas:
1) Extensible markup language (XML): Define la
sintaxis de XML.
2) XML Pointer Language (XPointer) y XML
Linking Language (XLink): Define una manera
estándar de representar uniones entre
recursos.
3) Extensible Style Language (XSL): Define el
lenguaje estándar de hojas de estilo para
XML.
Mikel Alonso & Cynthia Fresno
10
1. Introducción a XML
Estructura de un
documento XML
 Un documento XML tiene dos estructuras: Una
lógica y otra física.
 Físicamente: el documento está compuesto
por entidades.
- Una entidad puede hacer referencia a
otra entidad.
- Cada documento comienza con una
entidad documento (raiz).
Mikel Alonso & Cynthia Fresno
11
 Logicamente: Documento compuesto por
declaraciones, elementos, comentarios,
referencias a caracteres e instrucciones de
procesamiento.
Mikel Alonso & Cynthia Fresno
12
1. Introducción a XML
Especificaciones de XML
DTD: Definición de tipo documento
 Archivo(s) que lleva una definición formal de un
tipo de documento y especifica la estructura
lógica de cada uno.
 Define los elementos de una pagina y sus
atributos.
 DTD de XML opcional
XSL: Define o implementa el lenguaje de estilo de
los documentos escritos para XML.
 Permite modificar el aspecto de un documento.
Mikel Alonso & Cynthia Fresno
13
1. Introducción a XML
XXL: Define el modo de enlace entre los diferentes
enlaces.
 Se considera subconjunto de HyTime.
 Sige algunas especificaciones de TEI.
 Este lenguaje tiene dos importantes
componentes: XLink y XPointer.
XUA: Estandarización de navegadores XML.
 En proceso de creación.
 Se aplicará a los navegadores, para que todos
compartan las especificaciones XML.
Mikel Alonso & Cynthia Fresno
14
1. Introducción a XML
XML vs. HTML
 HTML:
- Semántica de etiquetas y sistema de
etiquetas fijos.
- Cambios limitados por:
 Vendedores del navegador.
 Compatibilidad con antiguas versiones.
• XML:
- No especifica el sistema de etiquetas, así
que no puede haber una semántica predefinida.
- Semanticos XML: serán definidos por las
aplicaciones que los procesan o por las
hojas de estilo.
Mikel Alonso & Cynthia Fresno
15
1. Introducción a XML
XML vs. SGML
SGML:
 Lenguaje generalizado estádar de etiquetas.
 Forma estándar e independiente de los
vendedores, para mantener los depositos de la
información estructurada.
 No funciona bien sirviendo documentos en
internet.
XML:
 Perfil de aplicación de SGML.
Mikel Alonso & Cynthia Fresno
16
1. Introducción a XML
 Los sistemas totalmente ajustados a SGML
deben poder leer documentos XML.
 Aun así, utilizar y leer documentos XML no
requiere un sistema que entienda la totalidad de
SGML.
Mikel Alonso & Cynthia Fresno
17
1. Introducción a XML
¿Cómo son los
documentos XML?
Ejemplo:
<?xml version="1.0"?>
<oldjoke>
<burns>Say<quote>goodnight</quote>,
Gracie.</burns>
<allen><quote>Goodnight,
Gracie.</quote></allen>
<applause/>
</oldjoke>
Mikel Alonso & Cynthia Fresno
18
2. Relacional vs.
XML
2. Relacional vs. XML
Introducción
 La diferencia principal entre las bases de datos
relacionales y las XML:
- Relacional: centrada en datos (almacena en
sus campos datos atómicos).
- XML: almacenan documentos XML (ni
tiene campos, ni almacena datos
atómicos.).
 Asi, vemos que las diferencias principales se
darán en cuanto al ALMACENAMIENTO, la
BÚSQUEDA, y el PROCESAMIENTO de dicha
información.
Mikel Alonso & Cynthia Fresno
20
2. Relacional vs. XML
Almacenamiento
RELACIONAL:
 Una BD relacional consiste en una colección
de tablas que guardan sistemas particulares
de datos.
 Las tablas pueden relacionarse entre si de
diferentes maneras:
- Dependencias funcionales: se crean cuando
un atributo de una tabla se relaciona con el
atributo de otras tablas.
- Relación más simple: 1:1
- 1:n, n:1, n:n.
Mikel Alonso & Cynthia Fresno
21
2. Relacional vs. XML
 Esta información almacenada en tablas está
organizada lógicamente para poder cumplir los
siguientes propósitos:
- minimizar la duplicación.
- reducir las anomalías en lo datos.
- reforzar la integridad de los datos.
 Proceso de organización lógica: normalización
(simplifica la manera en la que los datos están
definidos y su organización).
- Existen 5 formas de normalización: 1NF – 5NF.
Mikel Alonso & Cynthia Fresno
22
2. Relacional vs. XML
XML:
 Supuestamente una base de datos nativa de
XML debería almacenar la información en
formato XML.
 Pero en realidad lo que hace es que una base
de datos de este tipo tiene repositorios “tipo
XML”, en los que se almacenan los indices
generados por cada documento XML
almacenado.
Mikel Alonso & Cynthia Fresno
23
2. Relacional vs. XML
Búsqueda
RELACIONAL:
 La mayoría de bases de datos relacionales
utilizan SQL.
XML:
 Utiliza XPath y XQuery.
 Algunas bases de datos permiten seleccionar
los elementos que deben tener índice, otras
indexan todo el documento.
 Problema: No permite realizar búsquedas muy
complicadas (ej: ordenamiento y cross join).
Mikel Alonso & Cynthia Fresno
24
2. Relacional vs. XML
XQuery y XPath
 XQuery: Lenguaje diseñado para procesar
datos XML.
- No sólo ficheros en XML, también otro tipo de
datos (incluidas las bases de datos), cuya
estructura sea similar a XML.
 XQuery como “generalización” de XPath: pues
XQuery utiliza las “expresiones path” de
XPath.
- Exceptuando algunas expresiones más
ambiguas, todas las expresiones XPath lo
son tambiénMikel
deAlonso
XQuery.
& Cynthia Fresno
25
2. Relacional vs. XML
Procesamiento
RELACIONAL:
 Al igual que la búsqueda se hace con SQL.
XML:
 No funciona muy bien debido a su estructura
jerárquica.
- Muchas bases de datos necesitan que el
usuario recupere en documento XML entero,
lo actualice con algún API y luego lo vuelva a
almacenar todo el documento.
Mikel Alonso & Cynthia Fresno
26
- Esto pasa porque no existe un lenguaje
oficial para la actualización, inserción o
eliminación de elementos en un documento
XML. (hay un lenguaje de actualizaciones pero
hay muchos gestores de bases de datos que
no lo damiten, se llama XUpdate).
Mikel Alonso & Cynthia Fresno
27
2. Relacional vs. XML
Resumen de diferencias
XML
RDBMS
Los datos en una estructura jerárquica Datos en tablas múltiples
única.
Los nodos tienen elementos y/o
valores de atributo.
Celdas con un único valor
Los elementos pueden ser
jerarquizados
Valores celulares atómicos
Los elementos están ordenados.
Orden filas/columnas sin definir
Los elementos pueden ser recursivos
Poca aceptación para los elementos
recursivos.
Esquema opcional
Esquema requerido
Almacenamiento y recuperación
directa de documentos XML.
Joins necesarios a menudo para
recuperar datos
Mikel Alonso & Cynthia Fresno
28
3. XML APLICADO A
BASES DE DATOS
¿Qué ofrece?
 Nuevas necesidades frente a la web
 Intercambio de datos
 Soluciones para la estandarización de XML
1. Fuentes de datos no XML
2. Fuentes de datos XML
 Problemas de integracion
Mikel Alonso & Cynthia Fresno
30
Nuevas necesidades
frente a la web
 Con la entrada y generalización del uso de
Internet un basto abanico de posibilidades de
comunicación se ha abierto ante nosotros
 Internet se ha convertido en una herramienta de
intercambio de información usada tanto en el
ámbito personal como empresarial (muy
especialmente por empresas)
Mikel Alonso & Cynthia Fresno
31
 Pero el intercambio de información no es tan
fácil:
 diferentes formatos de representación de
información
 la conversión de todos los formatos de
representación a uno
 único es inviable
 la transformación de uno a otro es costosa
Mikel Alonso & Cynthia Fresno
32
Intercambio de datos
 El uso de la Web para el intercambio de datos es
fundamental para las empresas hoy por hoy
 El máximo exponente de este problema son las
bases de datos
- bastas fuentes de información
- diferentes formatos según empresa proveedora
- su cambio es costoso
 Para solucionar este problema grave nació XML.
Mikel Alonso & Cynthia Fresno
33
 XML se ha convertido en el estándar para la
presentación de información en la Web y
también para el intercambio de información
Inter. o intr. empresas
 La generación de XML a partir de la información
que tienen almacenada bases de datos se hace
cada vez mas necesario para facilitar la
comunicación a través de la Web
 Los sistemas de gestión de bases de datos
(DBMS) empleados siguen siendo en su
mayoría relacionales aunque poco a poco se
instauran otras soluciones
Mikel Alonso & Cynthia Fresno
34
 Para resolver estos problemas de conversión (a
XML) distinguimos varias soluciones
Mikel Alonso & Cynthia Fresno
35
Soluciones para la
estandarización de XML
1. FUENTES DE DATOS NO XML:

La principal fuente de datos no XML con que
cuentan las empresas son los RDBMS.

El numero de estas es muy elevado por lo que
su conversión a otro SGBD es inviable

La solución pasa por un nivel intermedio entre la
capa cliente y la base de datos que transforme
las soluciones a un
documento XML
Mikel Alonso & Cynthia Fresno
36
 Estas herramientas las podemos clasificar en
dos grupos:
- las que transforman el modelo relacional a una
representación XML:
 Crean una vista virtual XML con información de la base de
datos.
 El usuario es lo que ve y hace las consultas sobre ello
 La consulta es interpretada y ejecutada en la RDBMS
 Finalmente se devuelve la solución en XML
Mikel Alonso & Cynthia Fresno
37
Mikel Alonso & Cynthia Fresno
38
 Alguna de las herramientas que siguen este
modelo son:
 XTABLES (también conocido como XPERANTO)
 SilkRoute
 XBD
- las que transforman el resultado de consultas
SQL a la RDBMS:
 Estas usan SQL como lenguaje de consulta del cliente
 La RDBMS devuelve la solución y esta es transformada a XML
Mikel Alonso & Cynthia Fresno
39
2. FUENTES DE DATOS XML:
 Dentro de estas distinguimos dos familias:
- 2.1 RDBMS habilitados para XML:

son bases de datos tradicionales que definen
un nuevo tipo de dato que permite el
almacenamiento de información en formato
XML.

Esta información sufre una transformación a la
hora de su almacenado en tablas
relacionales.
Mikel Alonso & Cynthia Fresno
40
 Esta forma de almacenado tiene dos
planteamientos diferentes:
- El planteamiento de DB2 y ORACLE: Donde el
dato XML tiene una tabla adjunta en la que se
almacena la información contenida en este.
- El planteamiento de SQLSERVER2005: Este
sistema almacena el documento en formato
binario en el que los elementos se identifican
mediante un numero que actúa como índice;
esta información debe ser previamente
convertida al correspondiente tipo de dato
Mikel Alonso & Cynthia Fresno
41
 En esta tabla podemos ver un breve esbozo de
sus caracteristicas
Mikel Alonso & Cynthia Fresno
42
- 2.2 Bases de datos nativas XML:
• Permiten el almacenamiento, consulta y
actualización de información XML
• Su principal diferencia es el lenguaje de
acceso que usan ( XPath, Xquery o ambos)
• Por el contrario el lenguaje de actualizacion
en general es el mismo XUpdate
Mikel Alonso & Cynthia Fresno
43
4. dbXML
4. dbXML
¿Qué es dbXML?
 Idea principal: proporcionar una manera simple
de almacenar y administrar grandes
cantidades de documentos XML.
Mikel Alonso & Cynthia Fresno
45
4. dbXML
¿Qué ofrece dbXML?
Cumple la mayoría de los requisitos de las bases
de datos XML nativas, entre ellos:
 Almacenamiento de colecciones de
documentos XML.
 un motor de base de datos “multi-threaded”
optimizado para datos XML.
 Almacenamiento de datos semiestructurados y
carentes de esquema.
 Almacenamiento de documentos preanalizados y comprimidos.
Mikel Alonso & Cynthia Fresno
46
4. dbXML
 Maquina XPath de búsqueda.
 Una colección de indices para mejorar el
funcionamiento de la búsqueda.
 La implementación XUpdate de XML:DB para
las actualizaciones.
 La implementación de Java API para de XML:
DB para construir aplicaciones.
 Una completa variedad de herramientas de linea
de comandos.
Mikel Alonso & Cynthia Fresno
47
4. dbXML
Almacenamiento
 Documentos almacenados en colecciones,
donde cada documento individual está
almacenado en una forma pre-analizada
comprimida → Significativamente aumenta la
velocidad cuando trabajamos con datos XML.
 La máquina dbXML está optimizada para el
almacenaje de documentos que tengan como
mucho 50K.
 Almacenaje en colecciones → herramienta
sencilla para manipular y buscar documentos
en forma de sistema.
Mikel Alonso & Cynthia Fresno
48
4. dbXML
RDBMS vs. dbXML:
 Diferencia principal: En dbXML el esquema de lo
que se puede encontrar en no está fijo.
- Se pueden mezclar documentos de esquemas
completamente diferentes en la misma
colección.
Ejemplo:
- Un catalogo de productos, donde cada
producto necesita datos especializados.
Mikel Alonso & Cynthia Fresno
49
4. dbXML
Seguridad en dbXML
 dbXML tiene tres formas de encargarse la
seguridad.
- Sin seguridad.
- Seguridad simple: nombre de usuario y
“password” (definido en system.xml)
- Seguridad por defecto defecto: Basado
usuarios y roles.
Mikel Alonso & Cynthia Fresno
en
50
4. dbXML
Sistema de Comandos: Existen tres relacionados
con la seguridad.
 Usuarios: Los comandos relacionados con los
usuarios permiten administrar los usuarios de
las bases de datos. (crear, borrar, participación
de roles y sistema de contraseñas)
 Roles: Los roles se asignan para poder entrar
en las listas de control.(comandos relacionados:
crear, borrar y participación de usuario).
Mikel Alonso & Cynthia Fresno
51
 Lista de control de acceso: Como se garantiza
acceder a una base de datos.
- Acceso garantizado a nivel de colecciones (ni
recursivo, ni automático).
- Crear una colección no garantiza al usuario
poder acceder a la misma.
- Acceder a una colección “padre” no implica
poder acceder a la “colección hijo”.
Mikel Alonso & Cynthia Fresno
52
4. dbXML
Linea de comandos
 El servidor dbXML tiene un amplio número de
herramientas de líneas de comando para
poder desarrollar cualquier tipo de
administración básica. Veremos unos ejemplos
para hacernos una idea:
(en todos los comandos myaddress.xml contiene
un simple documento)

<address id="1">
<name>
<first>John</first>
<last>Smith</last>
</name>
</address>
Mikel Alonso & Cynthia Fresno
53
4. dbXML
 Crear una colección:
dbxmladmin add_collection -c /db -n addresses
 Añadir un documento:
dbxmladmin add_document -c /db/addresses -n myaddress -f
myaddress.xml
 Eliminar un documento:
dbxmladmin retrieve_document -d /db/addresses -n myaddress
Mikel Alonso & Cynthia Fresno
54
4. dbXML
 Crear un índice en el atributo id:
dbxmladmin add_indexer -c /db/addresses -n id_idx -p @id
 Ejecutar una búsqueda XPath:
dbxmladmin xpath -c /db/addresses -q /address[@id = 1]
• Patrón básico para ejecutar un comando dbxmladmin:
- decir que operación se quiere ejecutar.
- que contexto de colección debe ser ejecutado (-c
switch).
- y cualquier argumento especifico de la operación.
Mikel Alonso & Cynthia Fresno
55
4. dbXML
Desarrollando
aplicaciones
 El verdadero valor de dbXML se ve cuando
desarrolla aplicaciones hechas a medida.
 Para esto se utiliza el XML: DB API de Java.
- Hecho para habilitar el desarrollo de las
aplicaciones de las bases de datos de XML
portables.
 XML: DB API es relativamente fácil de utilizar y
da una gran flexibilidad para desarrollar
aplicaciones . Mikel Alonso & Cynthia Fresno
56
5. EXIST XML
NATIVE DB
5. Exist XML native DB
Características básicas
 Exist es una base de datos nativa XML
 Desarrollada por OPEN SOURCE
 Facil de integar en aplicaciones que trabajan
con XML
 Esta totalmente desarrollada en JAVA
 Es una base de datos preparada para trabajar
como:
-proceso independiente del servidor
-integrado en un server-engine
-directamente integrada en una aplicacion
Mikel Alonso & Cynthia Fresno
58
5. Exist XML native DB
 Exist utiliza un almacange de textos XML
basado en coleciones jerarquizadas
 Usa tanto XPATH com XQUERY para el aceso
de los datos. Aunque es una sintaxis ligera:
- el usuario puede preguntar por una parte de la
jerarquía de datos o hasta
por
todos los documentos contenidos en la base de
datos.
- el motor de procesamiento de preguntas
proporcionado por eXist es eficiente gracias al
uso de índices.
Mikel Alonso & Cynthia Fresno
59
5. Exist XML native DB
 Exist integra un esquema de indexación por
cada documento XML que mejora la
identificación de relaciones estructurales entre
nodos.
 Usa XUpdate para la actualizacion de los datos
 Las aplicaciones java pueden acceder
medianteel API XML:DB interfaz común para el
acceso a bases de datos nativasXML
Mikel Alonso & Cynthia Fresno
60
5. Exist XML native DB
Indices y organización de
datos
 Exist utiliza cuatro ficheros de indices diferentes
para almacenar documentos de xml:
- collections.dbx: maneja la jerarquia de los
datos del documento Xml.
- dom.dbx: recoge nodos en un archivo
paginado y asocia de nodos a los nodos reales.
- elements.dbx: se compone de los indices de
los elementos y sus atributos.
- words.dbx: registro de palabras que se usa
para busquedas en todo el texto.
Mikel Alonso & Cynthia Fresno
61
5. Exist XML native DB
 Todos estos indices estan basados en B+trees.
- Este sistema se basa en la idea de organizar
los elementos, sus atributos correspondientes
y las palabras clave en colecciones en lugar de
hacerlo mediante el documento.
Mikel Alonso & Cynthia Fresno
62
5. Exist XML native DB
 La jerarquica que lleva a elementos comunes (
serian los diferentes pasos por etiquetas
gerarquicas por las que tenemos que pasar) o
mas bien de la misma familia es unico; el
conjunto de todas estas rutas de acceso a los
datos se almacena en elements.dbx
 En el collections.dbx tendremos almacenada la
estructura del documento,gracias a el
podremos movernos con facilidad por la
estructura gerarquica de los datos. Ademas
durante su creacion a cada coleccion de datos
le asigna un identificador unico.
Mikel Alonso & Cynthia Fresno
63
5. Exist XML native DB
 El dom.dbx representa el componente principal
Exist ya que en el almacenaremos todas las
colecciones de datos. En si solo es un fichero
estrutrurado por nodos.
 La estructura tendria mas o menos este
aspecto:
Mikel Alonso & Cynthia Fresno
64
5. Exist XML native DB
 Por ultimo, el elemento que nos queda es el
fichero word.dbx. Este fichero no es mas que
un indice inverso de palabras que nos ayuda a
conseguir las rutas de las palabras en los
textos Xml. Gracias a el las busquedas en la
base de datos son mas rapida.
Mikel Alonso & Cynthia Fresno
65
5. Exist XML native DB
Acceso a los datos
 Exist como cualquier otra badse de datos
nativaXml tiene como estandar de acceso a los
datos el lenguaje Xpath. Adfemas de ser
compatible con otros lenguajes derivados del
mismo como Xquery.
 Pero esto no es todo, Exist gracias a su
estructura peculiar de ficheros que estructuran
los datos de los documentos XML utiliza un
lenguaje que podriamos definir como
experimental.
Mikel Alonso & Cynthia Fresno
66
5. Exist XML native DB
 Este nuevo lenguaje no es mas que una
extension de Xpath que intenta subsanar las
carencias que tiene este frente a las nuevas
necesidades.
Mikel Alonso & Cynthia Fresno
67
5. Exist XML native DB
Exist en acción
 Para ver la eficiencia de EXIST presentamos
una serie de pruebas.
 Para realizar las pruebas se a elegido un
conjunto de datos constituido por una 39.15
MB XML.Los dato integran 5000 documentos
tomados de una base de datos de película.
 Las pruebas se efectuaros sobre una maquina
con microprocesador AMD Athlon 4 de 1400
MHZ y memoria de 256 MB,con un sistema
operativo Linux (Mandrake Linux 8.2)
Mikel Alonso & Cynthia Fresno
68
5. Exist XML native DB
 Las pruebas consisten en:
1. Comparar el tiempo de respuesta de varios
sistemas basados en xml frente a consultas
sobre los mismos datos.
Los sistemas elegidos son: el propio Exist
trabajando Xpath estandar, Exist
usando su
Xpath especifico, otra base de datos Xml nativa
(Apache’s Xindice) y un motor de preguntas
Xpath externo(Jasen).
Mikel Alonso & Cynthia Fresno
69
5. Exist XML native DB
XPath Query
eXist
eXist
+extensions
/movie[.//genre='Drama']//credit
[@role='directors']
3.44
/movie[genres/genre='Western']/title
0.79
/movie[languages/language=
'English']/title
1.45
/movie[.//credit/@charactername=
'Receptionist']
3.12
/movie[contains(.//comment,
'predictable')]
2.79
/movie[.//credit='Gable, Clark']
4.47
/movie[.//languages/language='English']
/title[starts-with(.,'42 nd Street')]
1.63
/movie[languages/language='English'
and cred-its/credit='Sinatra, Frank']
5.16
Xindice Jaxen
1.14
0.23
10.62
1.39
21.86
7.58
0.97
34.18
8.50
0.21
27.04
51.48
0.20
0.35
25.75
0.38
31.49
33.72
0.32
17.47
32.64
0.58
0.11
13.26
Mikel Alonso & Cynthia Fresno
70
5. Exist XML native DB
2. La segundra prueba consiste en ver como
reacciona Exist frente al incremento del volumen
de datos, de esta manera veremos la
escalabilidad que tiene Exist.
 Para realizar la prueba vamos a dividir los datos
iniciales (39.15 MB) subgrupos de de 5MB cada
uno,de esta manera iremos añadiendo tamaño a
la fuente de datos y veremos como responde
Exist.
 Como en el caso anterior proberemos el
experimento sobre Exist usando Xpath estandar
y sobre su Xpath especifico .
Mikel Alonso & Cynthia Fresno
71
5. Exist XML native DB
Mikel Alonso & Cynthia Fresno
72
5. Exist XML native DB
Comentarios
 Aunque hoy en dia Exist es una herramienta
utilizada en inumerables proyectos, todavia
necesita resolver algunos aspectos importantes.
 Los defectos mas importantes de Exist que se
busca subsanar son:
- la velocidad de indesado de nombres
- las exigencias de almacenaje
Mikel Alonso & Cynthia Fresno
73
5. Exist XML native DB
 Otro problema importante es el uso de
Xupdate(estandar de XML:DB para la
actuaizacion de partes distintas de un
documento)no es una herramienta apropiada
para las necesidades de una actualizacion mas
avanzada.
Mikel Alonso & Cynthia Fresno
74
6. EXIST VS DBXML
6. Exist vs. dbXML
 En este apartado veremos las diferentes
caracteristicas entre EXIST y DBXML
 Con ello intentaremos presentar las posibles
diferencias existentes entre ellas
DBXML
EXIST
Lengua de desarrollo:
Lengua de desarrollo:
Java
Aplicaciones: Java
Resto: código propio
Plataformas donde trabaja:
Plataformas donde trabaja:
Plataforma no definida aunque ha
sido resesteado en WinXP y Red Hat
Linux
Plataforma no definida aunque ha
sido testeado en WinXP y Red Hat
Linux
Mikel Alonso & Cynthia Fresno
76
Formato de almacenamiento:
Formato de almacenamiento:
almacena los datos mediante B+-trees y
archivos paginados.
se almacenan los datos mediante
ficheros indesados
los nodos de los documentos se
almacenan en un DOM (Document
Object Model) persistente.
guardan en directorio apropiado
los ficheros y sus anexos van comprimidos
juntos y se guardan en directorio apropiado
los datos son almacenados en:
Webapp/WEB-INF/data respecto al
directorio raiz de Exist.
de cada documento se almacena:
wcollections.dbx-->los datos sin mas
wdom.dbx-->DOM persistente
welements.dbx-->indice de elementos
wwords.dbx-->Indice de palabras(datos)
Mikel Alonso & Cynthia Fresno
77
Soporte de ficheros en binario
Soporte de ficheros en binario
no tiene soporte para ellos
los soporta pero solo puede tener ficheros
binarios o ficheros Xml
Estandars Xml con los que trabajan
Estandars Xml con los que trabajan
-XPath/Xquery
-Xupdate
-Xinclude/Xpointers
-API: XML:DB
-XPath/Xquery
-Xupdate
-Allows full-text query
-API: Java/C++ API’s
-No supported:
Xpointers,XQL,Xquery
Caracteristicas de la BD's
Caracteristicas de la BD's
sistema de autorizacion:
usa un sistema de permisos por niveles
para el acceso a los documentos similar al
que usa Unix
resto de caracteristicas desconocidas
sistema de autorizacion:
sistema de autorizacion por niveles
usa la base de datos Berkeley para la
concurrencia, realizar las transacciones,
recuperación y replicado
Interface de usuario
Interface de usuario
incorpora una interface grafica
No incorpora ninguna interface grafica
Mikel Alonso & Cynthia Fresno
78
Conclusiones
 XML es un “lenguaje” para definir
lenguajes de etiquetas.
 XML se está expandiendo mucho gracias
a Internet, pues para ese uso fue creado.
 WWW lo estandarizó para el intercambio
de documentos.
 El código se encuentra fácilmente en
inernet.
Mikel Alonso & Cynthia Fresno
79