Post on 23-Jan-2016
transcript
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico
MóduloWeb Semántica
Bases de Datos Federadas
Eduardo MenaÁrea de Lenguajes y Sistemas Informáticos
Dpto. de Informática e Ingeniería de Sistemas
emena@unizar.es, 976-76 23 40
Despacho D0.17, Edificio Ada Byron
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Bases de Datos Federadas
Bases de Datos Distribuidas
Bases de Datos Interoperables
Bases de Datos Federadas
Sistemas de Información Globales
Prácticas: agentes que acceden a BDs y Webs para poblar una ontología sobre alimentos y comensales
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Bases de Datos Federadas
Objetivo: Una BD varias BDs Problemas de heterogeneidad
Sintáctica Semántica
Conocer las tendencias futuras (I+D) Saber aplicar nuestros conocimientos a casos reales
Prácticas: Desarrollo de un prototipo en entornos heterogéneos y distribuidos
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Bases de datos distribuidas
Tecnología de Bases de Datos (tradicional) Centralización de datos
Varios Ficheros Una Base de Datos
Redes de Computadores Distribución/compartición de recursos
BD centralizada BD distribuida (¿varias BDs?)
BD Distribuidas: unión de estas dos aproximaciones (aparentemente opuestas)
La tecnología de BD busca la INTEGRACIÓN de los datos y no la CENTRALIZACIÓN
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Integración vs. Centralización
El número de fuentes de datos accesibles crece
Centralización mantener un único depósito de datos donde acceder desde
distintos nodos
Integración enlazar virtualmente los distintos depósitos de datos
(heterogéneos) para ofrecer una visión similar a un único depósito centralizado
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Definición de base de datos distribuida
Un sistema de BD distribuidas es una colección de varias BDs que se encuentran lógicamente inter-relacionadas y distribuidas sobre una red de ordenadores.
Un sistema de gestión de bases de datos distribuidas (SGBDD) es el software que permite el manejo de sistemas de BDs distribuidas y que hace dicha distribución transparente al usuario.
No son Sistemas de BDs Distribuidas: Acceder remotamente a una BD que reside en uno de los
nodos de una red
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Transparencia en Entornos Distribuidos
Transparencia de red el usuario no debe ser consciente del uso de la red transparencia de localización: dónde están los datos, lenguajes
“locales” necesarios transparencia de nombres: nombres únicos en todo el sistema
distribuido, independientes de la localización
Transparencia de fragmentación el usuario no debe ser consciente de la existencia de varios
depósitos de datos
Transparencia de replicación el usuario no debe ser consciente de la existencia de varias copias
de los datos
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Ventajas de las BDD
La distribución puede ser la organización más naturalMayor fiabilidad y disponibilidad (puede haber replicación)Autonomía local (establecer políticas locales de acceso a datos)Más eficiencia al acceder a los datos locales (frente a una centralizada)Economía (mejor varios PCs en red que un mainframe) Más posibilidades de expansión (añadir más recursos a la red)Compartición de datos (debido a que se encuentran en red)
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Desventajas de las BDD
Falta de experiencia en el diseño de SBDDComplejidad
todos los problemas de las BD centralizadas + otros
Costo (hardware / tiempo acceso)Distribución del control
también era ventaja: autonomía
Seguridad se añaden los problemas de seguridad en redes
Dificultad de cambio Cuando ya existe una BD centralizada
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Factores que influyen en las arquitecturas de BDDs (I)
Distribución
Una BD es distribuida si esta dividida en distintos componentes (integrados)
BDD ≠ varias BDs no integradas
Los componentes distribuidos que constituyen una BD distribuida son a su vez bases de datos (BDs componentes o locales)
Las BDs componentes tendrán un grado de autonomía local determinado
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Factores que influyen en las arquitecturas de BDDs (II)
AutonomíaTipo de control que los SGBD tienen sobre cada BD local
Autonomía de diseño: existe si los administradores de la BD (ABD) pueden cambiar el esquema conceptual de sus BDs independientemente de si forman parte de un sistema distribuido o no.
Autonomía de comunicación: si se puede decidir localmente cuándo comunicarse con los otros SGBD locales.
Autonomía de ejecución: si se pueden ejecutar transacciones globales y locales en el orden en que se quiera.
Autonomía de participación: si puede decidir cómo participar en el sistema distribuido.
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Factores que influyen en las arquitecturas de BDDs (III)
Heterogeneidad Distinto hardware, SO, software comunicaciones.
Distinto modelo de datos (rel., jerárquico, red, OO,..)
Distintos SGBDs (aunque sean del mismo modelo)
Heterogeneidad semántica (aun con el mismo SGBD) sinonimia: elementos iguales con distintos nombres homonimia: elementos distintos con igual nombre otras relaciones semánticas (hiperonimia, hiponimia, agregación,
etc,…) el mismo elemento del mundo real puede ser representado como
entidad o atributo, atributos con tipos diferentes, etc. Puede existir tanto a nivel intensional como extensional
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Factores que influyen en las arquitecturas de BDDs (y IV)
Existencia o no de esquema global Si se proporciona un esquema global entonces es como si se
trabajara con una única base de datos. Las preguntas se realizan sobre dicho esquema global:
SELECT * FROM VUELOREAL, BILLETES WHERE VUELOREAL.ID=BILLETES.ID
En el esquema global se sabrá que VUELOREAL está en BD1 y BILLETES en BD2 pero es transparente al usuario (desarrollador de aplicaciones)
Si no, se necesita un lenguaje de acceso a distintas BDs. SELECT * FROM BD1@VUELOREAL, BD2@BILLETES WHERE VUELOREAL.ID=BILLETES.ID
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Arquitecturas de BD distribuidas
Sistemas de BDs Distribuidas (SBDD) Formados por BDs no autónomas. Proporcionan un esquema global. El esquema global se obtiene de arriba a abajo: primero se define el
esquema conceptual global y luego se fragmenta en varias BDs.
Sistemas de BDs Interoperantes (SBDI) Formados por BDs autónomas. No proporcionan esquema global sino lenguajes de acceso a BDs. El usuario es consciente de que trabaja con varias BDs.
Sistemas de BDs Federadas (SBDF) Formados por BDs autónomas. Proporcionan un esquema global. El esquema global se obtiene de abajo a arriba: los esquemas locales
son pre-existentes y se integran en un esquema global. No se decide fragmentar: la redundancia probablemente ya existe.
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Diseño de BDs Distribuidas
Es necesario un sistema de gestión de BD Distribuidas que realice lo siguiente:
procesamiento de preguntas mantenimiento de la consistencia si hay replicación de datos control de transacciones etc...
En algunos casos (determinados SBDD, SBDI) se podrá comprar, pero no siempre (SBDF)
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Diseño top-down de BDD
Esquema Global Información de Acceso(transacciones)
FRAGMENTACIÓN
Esquema Local 1 Esquema Local N
Esquema Físico 1 Esquema Físico N
DISEÑO FÍSICODISEÑO FÍSICO
ASIGNACIÓN
Esquema Global Fragmentado
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Fragmentación (I)
El problema de obtener los esquemas locales a partir del global se divide en dos:
Fragmentación: dividir el esquema global en fragmentos. Asignación: distribuir los fragmentos entre los esquemas locales.
El fragmento es la unidad a distribuir puede ser parte de un tabla o un cjto. de ellas. ventaja: incrementa el nivel de concurrencia de transacciones. desventaja: algunas transacciones se degradarán si tienen que
trabajar con varios fragmentos.
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Fragmentación (II)
Fragmentación horizontal: basada en encontrar condiciones de selección
Fragmentación vertical: basada en encontrar conjuntos de atributos a proyectar
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Fragmentación híbrida (y III)
Primero horizontal...
... y luego vertical a cada fragmento
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Corrección de la fragmentación
Completitud Todo elemento de la relación debe estar en alguno de los
fragmentos.
Reconstrucción La relación inicial debe poder reconstruirse aplicando
operadores sobre los fragmentos
Intersección vacía (disjointness) Intersección de los fragmentos debe ser vacía
• Nota: a excepción de las claves (para poder reconstruir la relación inicial a partir de los fragmentos)
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Asignación (I)
Asignar fragmentos a los esquemas locales
Sin replicación: todo fragmento reside en un único nodo bueno para actualizaciones, malo para preguntas
Con replicación total: todos los fragmentos residen en todos los nodos
bueno para preguntas, malo para actualizaciones
Con replicación parcial: algunos fragmentos pueden residir en más de un nodo
compromiso entre actualizaciones y preguntas
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Asignación (y II)
PROCESAMIENTODE PREGUNTAS
CONTROL DECONCURRENCIA
DISPONIBILIDADDE LOS DATOS
REPLICACIÓNCOMPLETA
REPLICACIÓNPARCIAL
SINREPLICACIÓN
Más fácil Más difícil Más difícil
Difícil Más difícil Más fácil
Muy alta Alta Baja
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Formulación del problema de la asignación
Dados N fragmentos y M nodos, encontrar la matriz X (Xij = true) el fragmento i se aloja en el nodo j tal que
minimiza el costo total suma de los costos de procesamiento de todas las preguntas,
actualizaciones (multiplicando cada costo por el nº de veces que se pregunta / actualiza) y costos de almacenar todos los fragmentos
sujeto a las siguientes restricciones: tiempo de respuesta máximo para cada pregunta existe un almacenamiento máximo en cada nodo no superar la carga de procesamiento en cada nodo
El problema es NP-completo. Pero se pueden usar heurísticos: problema de la mochila, técnicas de ramificar y acotar, algoritmos
genéticos, etc...
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Bases de Datos Federadas
Integración de distintas bases de datos autónomas, distribuidas y heterogéneasGeneración de un esquema global
Fase de traducción e integración Generación de información de enlace (GAV vs. LAV)
Procesamiento de preguntas formuladas sobre el esquema globalPrincipal objetivo
Ocultar la heterogeneidad al usuario
Ventajas Técnicas válidas para integración de otras organizaciones de
datos (no sólo BDs)
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Bases de Datos Federadas: Diseño bottom-up (5 niveles)
Esquema BD 1
Esq. Exportado 1
Esquema integrado (ont. integrada)
Esquema BD n
Esq. Exportado n
Vista 1 Vista m
Esq. Export. canónico n (ont2)Esq. Export. canónico 1 (ont1)
. . . . .
Traducción
Integración
. . . . .
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Obtención del Esquema Global (I)
El problema de obtener un esquema global a partir de N esquemas locales se divide en dos:
Traducción: cada esquema local se traduce a un modelo canónico
Integración: los esquemas locales se integran en uno solo
Este es un tema de investigación. Todavía no resuelto por productos comerciales
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Modelo canónico
El modelo de datos (canónico) utilizado para expresar el esquema global es muy importante.
– No hay que olvidar que las bases de datos locales pueden ser heterogéneas (distintos modelos de datos)
– Se utilizan modelos más ricos semánticamente que el relacional: OO, modelos funcionales, semánticos, etc...
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Obtención del Esquema Global (y II)
Supongamos que los esquemas locales son relacionales y se usa como modelo canónico el modelo semántico Entidad-Relación Extendido de Chen
Traducción A partir de tablas y atributos relacionales (esquema
exportado) se identifican entidades, relaciones y atributos (enriquecimiento semántico)
Pueden aparecer nuevas entidades (especializaciones/generalizaciones, etc.)
Integración Aplicación de las propiedades semánticas entre las entidades y
relaciones de distintos esquemas locales canónicos (sinonimia, unión, generalización/especialización, etc.)
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Uso del esquema global
Procesamiento de preguntas Las preguntas realizadas sobre el esquema global deben
responderse sobre los esquemas locales
Información de enlace Relación entre los elementos de datos del esquema global y
los elementos de datos de los esquemas locales
Necesaria para poder responder a las preguntas
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
LAV vs. GAV
GAV (Global As View) Enlaces desde el esquema global a los esquemas locales Fácil reescritura de preguntas Sensible a incorporación/eliminación de depósitos de datos
LAV (Local As View) Cada depósito de datos tiene su descripción Fácil incorporación de nuevos depósitos Procesamiento de preguntas complicado
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Ejercicio Práctico: Un ejemplo de BDF
Diseñar dos bases de datos Sobre el mismo contexto: alimentos, recetas, tipos de
comensales Añadir cierto grado de heterogeneidad (sintáctica, semántica)
Traducción Elegir un modelo de datos canónico Traducir cada esquema al modelo canónico (ontologías
componentes) Crear la información de enlace para cada término
Integración Definir las reglas de integración (relaciones semánticas) Obtener el esquema global Crear la información de enlace del esquema global
Simular el plan correspondiente a algunas consultas sobre el esquema global
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Sistemas de Información Globales
Muchos depósitos de datos (miles, millones)Gran heterogeneidad a todos los nivelesAltamente dinámico y cambianteUn ejemplo: La Web
Adaptación de las técnicas conocidas a dicho contextoAún es objeto de investigación
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Problema
Telnet
IP WWW FTP
Archie
C C++ Java
Formularios
Interfaces ad hoc
Oracle Sybase
Informix
Semántica, formatos,
etc.
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Objetivo
SemánticaFormatos
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Aproximaciones: clasificaciónSistemas de
Acceso a Información
Basados en Ontologías
Basados en palabras clave
Altavista,Yahoo!
Basados en Agentes
TSIMMIS, DISCO
Una Ontología GlobalCarnot,
Information Manifold
Varias Ontologías
SIMS, InfoSleuth,
OBSERVER
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Aproximaciones relevantes
SIMS (Univ. de California del Sur, 1992)
TSIMMIS (Univ. de Stanford & IBM, 1993)
Information Manifold (AT&T Bell Lab., 1994)
OBSERVER (Univ. Pais Vasco & UGA, 1995)
InfoSleuth (MCC, 1996)
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Un Ejemplo: Arquitectura de OBSERVER
Ontology
Based
System
Enhanced with
Relationships for
Vocabulary
hEterogeneity
Resolution
Query Processor
Ontology Server
IRM
Relaciones Interontología
Ontology ServerOntology Server
Enlaces
EnlacesEnlacesEnlaces
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Si
Expansión incremental a otra ontología
Acceso a los datos
Construcción de la pregunta
Procesamiento de Preguntas (Query Processor)
Seleccionar Ontología Usuario
Editar pregunta
Acceder datos subyacentes
Correlacionar ymostrar respuesta
Seleccionar ontología destino
Integrar nueva ont. y ont. usuario
Elegir plan con menor pérdida
Generar Planes
Más datos?
Comienzo
FinalNo
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Multiples ontologías: Transformaciones de la pregunta
Pregunta del usuario expresada en términos de la Ontología Usuario
Pregunta expresada en términos de la Ontología Destino
Pregunta expresada en Enlaces Respuesta expresada según la semántica de los depósitos
Respuesta expresada según la semántica de la Ontología Destino
Respuesta expresada según la semántica de la Ontología Usuario
Acceso a los datos subyacentes
Rel. del IRMF. Trans. Inv. del IRM
Traducción a EnlacesF. Trans. Inv. de enlaces
CorrelaciónF. Trans. de enlaces
CorrelaciónF. Trans. del IRM
Query Processor
Ontology Server
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Problemas de los sistemas de los 90’s
Integración estática de fuentes de datos La traducción e integración se hace “a mano” por humanos y
cuesta bastante tiempo
Generación no automática de la información de enlace Hay que definir a mano el camino hacia los datos
Generación no automática de las relaciones interontología Hay que definir a mano las propiedades semánticas entre
ontologías
Imposibles de aplicar a contextos altamente dinámicos (como la Web)
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Web Semántica
Problemas con la Web actual HTML Orientado a humanos Búsquedas sintácticas (palabras clave)
Objetivos Separar contenido de visualización Orientado a humanos y a programas (servicios) Búsquedas semánticas (expresar qué se está buscando)
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de
Zaragoza)
Web Semántica
Definición Proyecto W3C desde aprox. 1999 Nueva filosofía Red de ordenadores Espacio compartido Documentos autodescritos Procesable por máquinas (ni lenguaje natural, ni GUIs) Enlaces indirectos (independencia de la localización)
Claves Ontologías Servicios Web