arquitecturas para bases de datos

49
Desarrollo de Aplicaciones con Sistemas de Gestión de Bases de Datos T ema 1  Arquitecturas de Sistemas  de Bases de Datos

Upload: lucita287

Post on 30-May-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 1/49

Desarrollo de Aplicaciones con Sistemas

de Gestión de Bases de DatosTema 1

 Arquitecturas de Sistemas

 de Bases de Datos

Page 2: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 2/49

Page 3: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 3/49

1.3DASGBD Curso 2007/2008

Contenido

• Introducción•  Arquitecturas cliente/servidor

•  Arquitecturas de sistemas de servidores

Bases de datos distribuidas

•  Arquitecturas para la Web

 Arquitectura de tres capas

 Arquitectura orientada a servicios

•  Arquitecturas paralelas

Page 4: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 4/491.4DASGBD Curso 2007/2008

Bibliografía

• Básica

Silberschatz et al. (2002)

Caps. 18-20• Complementaria

Connolly y Begg (2005) Caps. 2, 22 y 29

Date (2004) Cap. 2 y 21

 Atzeni et al. (1999) Cap. 10

Page 5: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 5/49

1.5DASGBD Curso 2007/2008

Introducción

Paradigmas Arquitecturales de Sistemas de BD

•  Arquitectura Centralizada : los datos y las aplicaciones están en unaúnica máquina.

•  Arquitectura Cliente-Servidor : separación del servidor de BD delcliente.

• BD Distribuida: varios servidores de BD usados por la misma aplicación.• BD Paralelas: varias unidades de almacenamiento de datos y

procesadores operan en paralelo para incrementar el rendimiento.

• BD Replicadas: datos lógicamente representando la misma información

están almacenados físicamente en diferentes servidores•  Almacenes de Datos : servidores especializados en la gestión de datos

orientados al soporte a la decisión.

• Las nuevas arquitecturas de BD para la Web son variantes delparadigma general cliente-servidor.

Page 6: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 6/49

1.6DASGBD Curso 2007/2008

Introducción

Distintas Funcionalidades

Las arquitecturas más recientes para BD cada vez son más especializadascon respecto al tipo de aplicación dominante, presentando dos tipos decomponentes:

• Sistemas OLTP (On-Line Transaction Processing):

Gestión optimizada y fiable de transacciones en servidores de BD,especializados para soportar cientos o miles de transacciones por segundo.

• Sistemas OLAP (On-Line Analytical Processing):

 Anális is de datos , operando sobre servidores de almacenes de datos(data warehouse), especializados en la gestión de datos para el soporte a latoma de decisiones.

Los servidores de datos normalmente soportan tanto OLTP y OLAP. Laseparación de ambas funcionalidades es muy reciente, y permiteespecialización, una mejor organización y un dimensionamiento óptimo delos servidores.

Page 7: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 7/49

1.7DASGBD Curso 2007/2008

Introducción

Propiedades Deseables

• En los Sistema de BD actuales, caracterizados por lanecesidad de interacción con otros sistemas, son altamentedeseables las siguientes propiedades:

Portabilidad: posibilidad de transportar aplicaciones de unentorno a otro. Facilitada por lenguajes estándares:

• SQL.

Interoperabilidad: habilidad para interactuar entresistemas heterogéneos. Facilitada por protocolos estándares de acceso a datos:

• ODBC (Open Database Connectivity): para permitir que BDheterogéneas que se comuniquen entre ellas.

• DTP (X-Open Distributed Transaction Processing): una versiónestandarizada del protocolo de dos fases que asegura la posibilidadde que diferentes SGBD interactuen en la misma transacción.

Page 8: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 8/49

1.8DASGBD Curso 2007/2008

 Arquitecturas Cliente-Servidor

• Cliente-Servidor: este paradigma es un modelo general deinteracción entre procesos software donde los procesos queinteractúan están divididos en:

Clientes (requieren servicios), y Servidores (ofrecen los servicios).

La interacción cliente-servidor requiere una definición precisa de un interfazde servicios, que especifica la lista de servicios ofrecidos por el servidor.

El proceso cliente desempeña un papel activo (de manera autónoma generapeticiones de servicios), mientras que el proceso servidor es reactivo (lleva acabo una acción sólo como resultado de una petición de un cliente).

Habitualmente, un proceso cliente solicita de forma secuencial unos pocosservicios de uno o varios servidores, mientras que un proceso servidorresponde a multitud de peticiones de muchos procesos clientes.

Page 9: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 9/49

1.9DASGBD Curso 2007/2008

 Arquitecturas Cliente-Servidor

• Ventajas de su uso en BD: Las funciones del cliente y del servidor están bien

identificadas, esto permite una separación convenientede las actividades de diseño y gestión: El programador de aplicaciones tiene la responsabilidad de escribir

y gestionar programas para hacer que el cliente responda a

determinadas demandas. El DBA tiene la responsabilidad de diseño de los datos y la gestión

de los datos en el servidor, que es compartido por varios clientes.El DBA debe organizar la BD para garantizar servicios óptimos para

todos los clientes.

Page 10: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 10/49

1.10DASGBD Curso 2007/2008

 Arquitecturas Cliente-Servidor

•  Ventajas de su uso en BD:

El uso de máquinas diferentes para el cliente y para el servidor esparticularmente conveniente en el ámbito de las BD:

Máquina cliente: orientada a la interacción con el usuario y al soporte alas herramientas de productividad (email, textos, hojas de cálculo, …)

Máquina servidor: Debe tener una gran memoria principal (para soportarla gestión de buffers) y una alta capacidad de disco (para almacenar la

BD completa). SQL ofrece un paradigma de programación ideal para la

identificación del “interfaz de servicio”:

Las consultas SQL son formuladas por el cliente y enviadas al servidor

Los resultados de las consultas son calculados por el servidor y devueltosal cliente

La estandarización, portabilidad e interoperabilidad de SQL permiteconstruir aplicaciones cliente que interactúan con diferentes servidores.

Page 11: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 11/49

1.11DASGBD Curso 2007/2008

 Arquitecturas Cliente-Servidor

Servidor de BD

colade entrada

colade salida

Cliente Cliente Cliente

Red

procesosdel servidor

Page 12: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 12/49

1.12DASGBD Curso 2007/2008

 Arquitecturas Cliente-Servidor

 Arquitectura Multi-hebra

• Frecuentemente, el servidor utiliza una arquitectura multi-hebra(multi-threaded) para gestionar las peticiones de los clientes (ver figuraanterior).

Desde el punto de vista del sistema operativo, se comporta como un único

proceso que trabaja de forma dinámica para atender diferentes transacciones. Pero internamente tiene una unidad de ejecución , denominada hebra

(thread), para atender a cada una de las transacciones.

Los procesos servidores están permanentemente activos para controlar una

cola de entrada de peticiones de los clientes y una cola de salida con losresultados de las consultas.

Los servidores gestionan estas colas de forma directa o por medio de otrosprocesos, llamados despachadores (dispatchers), que distribuyen laspeticiones entre los servidores y retornan las respuestas a los clientesadecuados.

 Algunas veces los despachadores pueden establecer de forma dinámica elnúmero de procesos servidor activos en función del número de peticionesrecibidas (igual que las cajas abiertas en un hipermercado).

Page 13: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 13/49

1.13DASGBD Curso 2007/2008

 Arquitecturas Cliente-Servidor

 Arquitecturas de Dos Capas y Tres capas

• Existen dos versiones de Cliente-Servidor: Arquitectura de dos capas (Two-Tier Architecture) :

El cliente es a la vez el interfaz de usuario y el gestor de la

aplicación. Se llama Thick-Client (cliente grueso) porque soporta la lógica de

la aplicación.

 Arquitectura de tres capas (Three-Tier Architecture) : Incorpora un segundo servidor llamado servidor de

aplicaciones, responsable de gestionar la lógica de aplicacióncomún a muchos clientes.

El cliente se llama Thin-Client (delgado) porque sólo esresponsable del interfaz con el usuario final (que puede serimplementado usando navegadores web).

En esta categoría se incluyen varios propuestas de arquitecturaspara aplicaciones web.

d d d

Page 14: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 14/49

1.14DASGBD Curso 2007/2008

 Arquitecturas de Sistemas de Servidores

Sistemas de Bases de Datos Distribuidas

• Hemos visto que en una arquitectura cliente-servidor, una transaccióninvolucra como máximo a un servidor. Cuando están involucrados máservidores hablamos de BD distribuidas.

• En un Sistema de Gestión de BD Distribuidas (SGBDD) al menos un

cliente interactúa con varios servidores para la ejecución de una mismaaplicación.

•  Ventajas:

Responder mejor a las necesidades de las aplicaciones.

La mayoría de las empresas son estructuralmente distribuidas y la gestión y controlde sus datos también suelen ser distribuidos.

Mayor flexibilidad y modularidad. Los sistemas distribuidos pueden ser configurados para la adición progresiva y

modificación de componentes.

Mayor resistencia a fallos.

 Aunque son más vulnerables a los fallos debido a su mayor complejidadestructural, soportan la degradación suave, es decir, responden a los falloscon una reducción del rendimiento pero no con un fallo total.

A it t d Si t d S id

Page 15: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 15/49

1.15DASGBD Curso 2007/2008

 Arquitecturas de Sistemas de Servidores

Clases de Bases de Datos Distribuidas

• Las podemos clasificar según dos criterios: Homogéneas o heterogéneas según todos los servidores utilicen el

mismo SGBD o no, y

De área local o de área ancha según sea la red de comunicaciones

que conecta los servidores.

Tipo SGBD Tipo de Red

LAN WAN

Homogéneo Gestión de datos y aplicacionesfinancieras

Gestión de viajes y aplicacionesfinancieras

Heterogéneo Sistemas de Información inter-

divisionales

Banca integrada y sistemas inter-

bancos

Ejemplos de aplicaciones de diversos tipos de BDD 

A it t d Si t d S id

Page 16: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 16/49

1.16DASGBD Curso 2007/2008

 Arquitecturas de Sistemas de Servidores

Reglas de Date para BD Distribuidas

• Principio fundamental: Para el usuario un sistema distribuido (SD) debe funcionar igual que si no 

fuera distribuido .

1.  Autonomía local: los sitios de un SD deben ser autónomos en el mayor

grado posible.2. No dependencia de un sitio central: Todos los sitios deben ser tratados

como iguales.

3. Operación continua: El SD debe aumentar la confiabilidad (probabilidad

de que esté listo en un momento dado) y la fiabilidad (probabilidad deque esté listo en un periodo largo de tiempo). Los apagados planeadosnunca deberían ser necesarios.

4. Independencia de localización: para el usuario la localización física de

los datos debe ser transparente.5. Independencia de fragmentación: los usuarios no necesitan conocer los

fragmentos físicos en que está dividida cada colección lógica de datos.

6. Independencia de replicación: a nivel lógico los usuarios no necesitan

tener en cuenta si los datos tienen réplicas o no.

Arquitecturas de Sistemas de Servidores

Page 17: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 17/49

1.17DASGBD Curso 2007/2008

 Arquitecturas de Sistemas de Servidores

Reglas de Date para BD Distribuidas

7. Procesamiento de consultas distribuidas: el SD debe disponer demecanismos para optimizar las consultas y en el especial para reducir lacarga de tráfico necesaria.

8. Gestión de transacciones distribuidas: el SD debe disponer de

mecanismos (protocolos) adecuados para el control de concurrencia y larecuperación de transacciones distribuidas.

9. Independencia del hardware: poder ejecutar el mismo SGBD en sitioscon diferentes plataformas hardware.

10. Independencia del sistema operativo: poder ejecutar el mismo SGBD ensitios con diferentes sistemas operativos.

11. Independencia de la red: el SD debe poder operar con diferentes redesde comunicaciones.

12. Independencia del SGBD: Debe permitirse la heterogeneidad, es decir,que cada sitio puede funcionar con un SGBD diferente, incluso basadoen un modelo de datos diferente, siempre y cuando compartan uninterfaz común.

Arquitecturas de Sistemas de Servidores

Page 18: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 18/49

1.18DASGBD Curso 2007/2008

 Arquitecturas de Sistemas de Servidores

Tipos de Servidores de BD

Los sistemas de servidores pueden dividirse en:

• Servidores de Datos:

Los clientes interaccionan con los servidores realizando peticiones de

lectura o escritura de datos en unidades de datos de diversagranularidad (archivos, páginas, tablas, registros, objetos, etc.).

• Servidores de Transacciones:

También llamados servidores de consultas. Proporcionan una interfaz para que los clientes envíen peticiones para

realizar una acción (transacción) que el servidor ejecutará y devolverálos resultados al cliente.

Este tipo es mucho más potente y mucho más utilizado que elanterior.

• Un sistema de servidores de transacciones típico consiste en múltiples

procesos accediendo a los datos en una memoria compartida (ver sgte.figura)

Arquitecturas de Sistemas de Servidores

Page 19: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 19/49

1.19DASGBD Curso 2007/2008

 Arquitecturas de Sistemas de Servidores

Tipos de Servidores de BD

Estructura de memoria y 

 procesos de un 

servidor de transacciones 

discos del registro histórico discos de datos

escritor

del registro

gestor puntos

de revisión

lector/escritor

de la BD

gestor

de bloqueos

supervisor

de procesosgrupo de memorias intermedias

caché de planes de consulta

memoria intermedia

de registro

tabla de

bloqueos

Memoria

Compartida

proceso

servidor

proceso

servidor

proceso

servidor Servidor

proceso usuario proceso usuario proceso usuarioODBC JDBC API

Arquitecturas de Sistemas de Servidores

Page 20: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 20/49

1.20DASGBD Curso 2007/2008

 Arquitecturas de Sistemas de Servidores

Tipos de Servidores de BD

Los procesos que forman parte del sistema de DB inluyen:• Procesos servidor: son procesos que reciben consultas del usuario, las

ejecutan, y devuelven los resultados.

• Proceso gestor de bloqueos: se encarga de la concesión de bloqueos,liberación de bloqueos y detección de interbloqueos.

• Proceso escritor de BD: hay uno o más procesos que vuelcan al discolos bloques de memoria intermedia modificados de forma continua.

• Proceso escritor del registro: genera entradas del registro en elalmacenamiento estable a partir de la memoria intermedia del registro.

• Proceso punto de revisión: este proceso realiza periódicamente puntosde revisión.

• Proceso monitor de proceso: observa a otros procesos y, si cualquierade ellos falla, realiza acciones de recuperación para el proceso, talescomo cancelar cualquier transacción que estuviera ejecutando el procesofallido, y reinicia el proceso.

Arquitecturas de Sistemas de Servidores

Page 21: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 21/49

1.21DASGBD Curso 2007/2008

 Arquitecturas de Sistemas de Servidores

Tipos de Servidores de BD

Todos los procesos de la base de datos pueden acceder a losdatos de la memoria compartida, que contiene:

• Grupo de memorias intermedias

• Tabla de bloqueos• Memoria intermedia del registro, que contiene las entradas

del registro que esperan a ser volcadas en el

almacenamiento estable• Planes de consulta en caché, que se pueden reutilizar si se

envía de nuevo la misma consulta

Arquitecturas de Sistemas de Servidores

Page 22: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 22/49

1.22DASGBD Curso 2007/2008

 Arquitecturas de Sistemas de Servidores

Independencia Local y Cooperación

• En una BDD cada servidor tiene su propia capacidad paragestionar aplicaciones de forma independiente.

• La independencia de cada servidor es un objetivo

importante en los SGBDD. Una BDD no debe implicar maximizar la interacción y la necesidad de

transmitir datos por la red de comunicaciones.

 Al contrario, la planificación de la distribución y localización de losdatos debe hacerse buscando que el mayor número de aplicacionespuedan operar de forma independiente en un único servidor.

Arquitecturas de Sistemas de Servidores

Page 23: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 23/49

1.23DASGBD Curso 2007/2008

 Arquitecturas de Sistemas de Servidores

Fragmentación y Localización de Datos

• La Fragmentación de Datos es una técnica paraorganización de datos que permite la distribución y elprocesamiento eficientes. Sólo es aplicable si la distribución de los datos sigue un patrón bien

conocido, que es tomado en cuenta durante el diseño de la BDD. Dada una colección de elementos de datos R, su fragmentación

consiste en establecer fragmentos R i aplicando a R diversasoperaciones algebraicas.

Hay dos tipos de fragmentación: Horizontal: cada fragmento R i incluye un subconjunto de los elementos de

datos de R.  Vertical: cada fragmento incluye todos los elementos de R pero sólo

algunas de sus propiedades (atributos).

Es correcta si es Completa: cada elemento de datos de R debe estar presente en uno de

sus fragmentos R i. Restaurable: el contenido de R puede ser regenerado a partir de sus

fragmentos.

Arquitecturas de Sistemas de Servidores

Page 24: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 24/49

1.24DASGBD Curso 2007/2008

 Arquitecturas de Sistemas de Servidores

Fragmentación y Localización de Datos

• Cada fragmento R i corresponde a un archivo físico diferenteque está localizado en un servidor diferente =>

La colección de elementos de datos R sólo existe virtualmente pero no

físicamente. Los fragmentos existen físicamente.

El esquema de localización (allocation schema) describe losvínculos (mapping) entre las colecciones completas o los fragmentos ylos servidores, es decir, entre la descripción lógica de los datos y sudescripción física en archivos de servidores.

Esta vinculación puede ser:

Redundante, si al menos un fragmento o colección está localizado en másde un servidor.

No Redundante, en caso contrario.

 Arquitecturas de Sistemas de Servidores

Page 25: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 25/49

1.25DASGBD Curso 2007/2008

qu tectu as de S ste as de Se do es

Transparencia para las Aplicaciones

• Una BDD debe ser transparente para las aplicaciones: Las aplicaciones deben utilizarla como si fuera no distribuida, sin

preocuparse por la fragmentación o localización de los datos.

• De mayor a menor, los niveles de transparencia que puedehaber son:

De fragmentación: el programador no necesita saber si la BD esdistribuida o está fragmentada.

De localización: el programador debe conocer los fragmentos queexisten pero no necesita indicar su localización.

De lenguaje: el programador debe conocer los fragmentos y sus

localizaciones, pero interacciona con todos los servidores con elmismo lenguaje.

 Ausencia de transparencia: cada servidor utiliza un lenguaje o dialectoparticular.

 Arquitecturas de Sistemas de Servidores

Page 26: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 26/49

1.26DASGBD Curso 2007/2008

q

Interoperabilidad

• Es la principal dificultad en el desarrollode aplicaciones heterogéneas para BDD,es decir, cuando los servidores utilizanmás de un SGBD diferente. Significa capacidad para la interacción entre

diferentes SGBDs.

Requiere la disponibilidad de funciones para la

adaptación y conversión, de forma que seaposible el intercambio de información entre losdiversos SGBDs.

Es posible gracias a la existencia deestándares adecuados (tema 2): ODBC

JDBC

 Aplicación

Gestor deDrivers ODBC

Driver ODBC(SGBD/SO/Red)

Fuente de datos

Arquitectura de

ODBC

 Arquitecturas de Sistemas de Servidores

Page 27: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 27/49

1.27DASGBD Curso 2007/2008

q

Cooperación entre Sistemas de BD

• Se plantea al intentar utilizar sistemas de BD pre-existentes.• Es la capacidad de las aplicaciones de un determinado

sistema de utilizar los servicios provistos por las aplicaciones

de otro sistema, incluso de organizaciones diferentes.• La cooperación es necesaria en BD porque: La integración de BD es bastante difícil. Los objetivos de integración o

estandarización ambiciosos siempre han fracasado.

El modelo ideal de una BD altamente integrada que puede serconsultada de forma transparente y eficiente es imposible dedesarrollar y gestionar.

 Arquitecturas de Sistemas de Servidores

Page 28: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 28/49

1.28DASGBD Curso 2007/2008

Cooperación entre Sistemas de BD

• Hay de dos clases: Centrada en los procesos: los sistemas ofrecen servicios a los otros

sistemas por medio de intercambio de mensajes, información odocumentos, o el disparo de actividades, sin hacer visibles “sus datos” 

a los demás sistemas. Centrada en los datos: hacer accesibles desde localizaciones 

remotas, por medio de algún acuerdo de cooperación, datos distribuidos, heterogéneos y autónomos .

Características:• Nivel de transparencia, grado de enmascaramiento de la distribución

y heterogenidad de los datos)

• Complejidad de las operaciones distribuidas, grado de coordinación

necesario para realizar operaciones entre BD’s coordinadas.• Nivel de actualización, indica si los datos accesibles están

actualizados o no (réplicas que se actualizan periódicamente).

Según se consideren estos tres criterios, existen tres arquitecturas

para la cooperación de BD.

 Arquitecturas de Sistemas de Servidores

Page 29: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 29/49

1.29DASGBD Curso 2007/2008

Cooperación – Multi-BD

BD

Gestor Local

Mediador

Gestor Global

Cliente

BD

Gestor Local

Mediador

BD

Gestor Local

Mediador Cliente

Cliente Cliente

 Arquitecturas de Sistemas de Servidores

Page 30: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 30/49

1.30DASGBD Curso 2007/2008

Cooperación – Sistemas de Almacenes de Datos

BD

Gestor Local

Mediador

Integrador

BD

Gestor Local

Mediador

BD

Gestor Local

Mediador

Cliente

Cliente Cliente

 Almacén de Datos (DW)

Gestor del DW

Cliente

 Arquitecturas de Sistemas de Servidores

Page 31: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 31/49

1.31DASGBD Curso 2007/2008

Cooperación – Sistemas con acceso a Datos Externos

BD

Gestor Local

Mediador

Integrador

BD

Gestor Local

Mediador

BD

Gestor Local

MediadorCliente

Cliente Cliente

 Almacén de Datos (DW)

Gestor del DW

BD

Gestor Local

BD

Gestor Local

MediadorCliente

 Arquitecturas de Sistemas de Servidores

Page 32: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 32/49

1.32DASGBD Curso 2007/2008

BD Replicadas

• Replicación de Datos es un servicio esencial para muchasaplicaciones distribuidas.

Es provisto por productos llamados replicadores (replicators), cuya

función principal es mantener la consistencia entre las copias.Funcionan de forma transparente a las aplicaciones que se ejecutanen el servidor SGBD.

En general, existe una copia principal y varias copias secundarias, a

las cuales se propagan las modificaciones de forma asíncrona. Existen dos tipos de propagación de modificaciones:

Incremental: la información que se envía desde la copia principal a lassecundarias son las variaciones en los datos.

Total: se envía toda la copia principal completa.

Principal Utilidad: hacer que el sistema sea menos sensible a los fallos,ya que si la copia principal no estuviera disponible se puede seguir

usando alguna de las copias secundarias.

 Arquitecturas de Sistemas de Servidores

l d

Page 33: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 33/49

1.33DASGBD Curso 2007/2008

BD Replicadas

servidor servidor

F1 Copia (F2) F2 Copia (F1)

Cliente Cliente Cliente Cliente Cliente

Arquitecturas para la Web

Page 34: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 34/49

1.34DASGBD Curso 2007/2008

 Arquitecturas para la Web

• Los principales requisitos para la integración de lastecnologías Web y SGBD, son:

Poder acceder a datos corporativos de forma segura.

Disponer de conectividad independiente de los datos y el vendedor,para dar libertad a la hora de elegir SGBD.

Poder interactuar con la BD de forma independiente a cualquiernavegador o servidor web.

Una arquitectura abierta que permita la interoperabilidad condiferentes sistemas y tecnologías: servidores web, DCOM/COM,CORBA, Java/RMI, etc.

Conseguir la escalabilidad, crecimiento y cambios a costes aceptables.

Soportar transacciones que abarcan múltiples peticiones HTTP.

Soportar autenticación basada en sesiones y usuarios.

Rendimiento aceptable.

 Arquitecturas para la Web

A it t d T C W b SGBD

Page 35: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 35/49

1.35DASGBD Curso 2007/2008

 Arquitectura de Tres Capas Web-SGBD

CAPA EQUIPOS ( Hard Soft ) TAREAS

Presentación

Dominio

Persistencia

Cliente 

Navegador Web 

Servidor de Aplicaciones Servidor Web 

Servidor de BD 

SGBD 

Interfaz de usuario

Lógica de negocio

Lógica de procesamientode los datos

 Validación de datos

 Acceso a la BD

 Arquitecturas para la Web

A it t d T C W b SGBD

Page 36: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 36/49

1.36DASGBD Curso 2007/2008

 Arquitectura de Tres Capas Web-SGBD

•  Ventajas: Debidas al uso de SGBD’s

Simplicidad HTML

Independencia de plataforma HTML, Navegador web

Interfaz Gráfico de Usuario Navegador web

Estandarización HTML y otros

Soporte inter-plataforma. Navegador web

Transparencia del acceso a red Internet / Intranet

Desarrollo escalable

Innovación

• Inconvenientes: Fiabilidad

Internet

Seguridad

Internet Escalabilidad

Sobrecarga de servidores

Funcionalidad limitada de HTML

Extensiones Inestabilidad

Juventud

 Ancho de banda

Internet Rendimiento

Clientes interpretados

Inmadurez de las herramientas

 Arquitecturas para la Web

A q itect a de T es Capas Web SGBD Ventajas

Page 37: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 37/49

1.37DASGBD Curso 2007/2008

 Arquitectura de Tres Capas Web-SGBD: Ventajas 

• Debidas al uso de SGBD’s: muchas de las ventajas de ustilizar SGBD vs.Sistemas de ficheros son aplicables para la integración the Web y el SGBD. Porejemplo, el problema de sincronización de información en laBD y los archivosHTML desaparece, ya que las páginas HTML se generan dinámicamente desde laBD.

• Simplicidad: en su forma original el lenguaje HTML era fácil para desarrollos yusuarios finales.

• Independencia de plataforma: Un razón importante de crear una versión Web deuna aplicación de BD, es que los clientes Web (navegadores) son en su mayoríaindependientes de la plataforma.

• Interfaz Gráfico de Usuario (GUI): Los navegadores Web proveen interfacescomunes, fáciles de usar, que pueden servir para acceder a a diferentes cosas,como la BD. Tener una interfaz común reduce el tiempo y coste de

entrenamiento.• Estandarización: HTML es el estándar de facto para todos los navegadores Web.

Utilizando HTML, los desarrolladores tienen que aprender un lenguaje fácil, y losusuarios finales utilizan una Interfaz Gráfica de Usuario muy sencilla.

 Arquitecturas para la Web

Arquitectura de Tres Capas Web SGBD: Ventajas

Page 38: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 38/49

1.38DASGBD Curso 2007/2008

 Arquitectura de Tres Capas Web-SGBD: Ventajas 

• Soporte inter-plataforma: Los navegadores Web están disponibles para cualquiertipo de plataforma. Este tipo de soporte inter-plataforma permite a los usuariosen diferentes tipos de plataformas acceder a las BD desde cualquier lugar en elmundo. De esta manera, la información puede estar diseminada con mínimoesfuerzo y tiempo, y sin tener que resolver los problemas de incompatibilidad dediferentes hardware, S.O. y software.

• Transparencia del acceso a red: el principal beneficio de la Web es que el accesoa la red es esencialmente transparente al usuario.

• Desarrollo escalable: al utilizar una arquitectura de tres capas, se almacena laaplicación en un servidor diferente al del cliente, la Web elimina el tiempo ycoste asociado al desarrollo de la aplicación. Permite el manejo deactualizaciones y la gestión de trabajar con múltiples plataformas a lo largo dediferentes oficina.

• Innovación: La Web permite a las organizaciones proveer nuevos servicios y así llegar a nuevos clientes a través de aplicaciones globalmente accesibles.

 Arquitecturas para la Web

Arquitectura de Tres Capas Web SGBD: Desventajas

Page 39: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 39/49

1.39DASGBD Curso 2007/2008

 Arquitectura de Tres Capas Web-SGBD: Desventajas 

• Fiabilidad: Internet es actualmente un medio de comunicación poco fiabley lento. Debido a la falta de fiabilidad muchas empresas continúandependiendo de su Intranet.

• Seguridad: la seguridad es un aspecto fundamental para una organización que

permite el acceso a sus datos a través de Internet. La autenticación de usuariosy la transmisión de datos segura so aspectos críticos debido a la gran cantidadde usuarios anónimos.

• Coste: el coste de sitios Web comerciales suele ser elevado.

• Escalabilidad: Sobrecarga de servidores• Funcionalidad limitada de HTML: Aunque HTML es una interfaz común y fácil de

usar, su simplicidad hace que algunas aplicaciones de Bd altamente interactivas,no sena fácilmente convertidas en aplicaciones Web. Para agregar funcionalidad

extra existen diferentes lenguajes como JavaScript, VBScript, etc .

 Arquitecturas para la Web

Arquitectura de Tres Capas Web SGBD: Desventajas

Page 40: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 40/49

1.40DASGBD Curso 2007/2008

 Arquitectura de Tres Capas Web-SGBD: Desventajas 

• Inestabilidad: La juventud del entorno Web hace que la gestión de lasconexiones BD y transacciones de usuario sean difíciles.

•  Ancho de banda: Una restricción de Internet es el ancho de banda.

• Rendimiento: la mayor parte de clientes de bases de datos Web se centran en

lenguajes interpretados, haciéndolos tan lentos como los clientes de BDtradicionales.

• Inmadurez de las herramientas: las herramientas que permiten crearaplicaciones de BD Web son están en su mayoría inmaduras.

 Arquitecturas para la Web

Integración Web-SGBD

Page 41: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 41/49

1.41DASGBD Curso 2007/2008

Integración Web-SGBD

•  Aproximaciones para integrar la Web y los SGBDs: Lenguajes de Script: órdenes en otro lenguaje incrustadas dentro

de código HTML.

JavaScript, VBScript, Perl, PHP

CGI (Common Gateway Interface): especificación para transferirinformación entre un servidor web y un programa del mismo equipo.

 API ( Application Programming Interface): son interfaces de

programación que permiten añadir nueva funcionalidad a losservidores web superando las limitaciones de CGI.

NSAPI (Netscape), ISAPI (Microsoft), …

Java Servlets: programas ejecutados en servidores web basados enJava.

 Ventajas frente a CGI: mejor rendimiento (multi-hebra), portabilidad,extensibilidad, gestión de sesiones más simple, seguridad y fiabilidadmejoradas.

 Arquitecturas para la Web

Integración Web-SGBD

Page 42: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 42/49

1.42DASGBD Curso 2007/2008

Integración Web-SGBD

 Aprox imación basada en  pasarelas CGI o API 

Cliente Web

Internet

HTTP

HTTP

BD

Servidor Web

Pasarela CGI/API

DocumentoHTML

Otras fuentesde datos

Servidor

 Arquitecturas para la Web

Integración Web-SGBD

Page 43: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 43/49

1.43DASGBD Curso 2007/2008

Integración Web SGBD

• Plataformas para Aplicaciones Web: J2EE (Java 2 Platform Enterprise Edition)

Estándar industrial (Sun, IBM, Oracle, …) para aplicaciones web

robustas, escalables, multiusuario y seguras. La pieza clave son los Enterprise Java Beans (EJB), un estándar

para construir componentes Java del lado del servidor. Hay de dosclases:

• EJB de sesión: implementan la lógica de negocio, reglas de negocio yflujos de trabajo. Su vida es la de una sesión y sólo son usados porun cliente a la vez.

• EJB de entidad: encapsulan datos de empresa. Son persistentes ypueden compartirse por varios clientes.

Otra pieza importante es Java Server Pages (JSP): lenguaje descript para servidores web basados en Java que permite combinarHTML normal (estático) con HTML dinámico (páginas generadasautomáticamente a partir de código HTML y código Java).

 Arquitecturas para la Web

Integración Web-SGBD

Page 44: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 44/49

1.44DASGBD Curso 2007/2008

Integración Web SGBD

Presentación

Negocio

Datos

Servidor de Aplicaciones

ConectorRMI/IIOP

EJB de Sesión

EJB de Entidad

Base de DatosSistemaexistente

JDBC

SQLJ

JDBC

SQLJ

Servidor Web

HTML/XML

ServletsJava Server Pages (JSP’s)

Cliente HTML

RMI/IIOP RMI/IIOP CORBA/IIOP

HTTP

Applet Java

Aplicación Java

Cliente CORBA

 Arquitectura

J2EE

 Arquitecturas para la Web

Integración Web-SGBD

Page 45: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 45/49

1.45DASGBD Curso 2007/2008

Integración Web SGBD

• Plataformas para Aplicaciones Web: Microsoft .NET

Incluye una infraestructura completa para el desarrollo e

implantación de software multi-lenguaje. Está basada en laexistencia de una infraestructura común (.NET Framework ).

Los principales componentes de .NET relacionados con lainteracción Web-SGBD son:

•  ASP .NET: conjunto de clases para crear aplicaciones web usando

- páginas de servidor activas (active server pages) que pueden incluircódigo escrito en cualquier lenguaje .NET; y

- servicios web (con soporte a los estándares SOAP, WSDL y UDDI).

•  ADO .NET: clases para acceso a datos almacenados en BDrelacionales (SQL), en XML y en otros formatos.

Propone una arquitectura de aplicaciones web con n capas ybasada en el nuevo paradigma “Service-Oriented Computing”.

 Arquitecturas para la Web

Integración Web-SGBD

Page 46: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 46/49

1.46DASGBD Curso 2007/2008

Componentes de IU

Componentes de Procesos de IU

Integración Web SGBD

Capas dePresentación

Capas deNegocio

Capas deDatos

.NET Usuarios

Fuentes de datos Servicios

 Aplicaciones web basadas en ‘Service-Oriented Architecture’ (SOA)

Componentes deLógica de Acceso a Datos

 Agentes deServicios

Interfaces de Servicios

Flujos de Trabajode Negocio

Componentesde Negocio

Entidadesde Negocio

ServiciosInvocados

 Arquitecturas Paralelas

Page 47: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 47/49

1.47DASGBD Curso 2007/2008

• El paralelismo en BD fue desarrollado en los años 90 gracias a la difusiónde las arquitecturas estándares de multiprocesadores hardware, despuésdel fracaso en los años 80 de las arquitecturas hardware especiales paraBD (máquinas de BD).

•Las soluciones técnicas son diferentes según se disponga de memoriacompartida o no.

• El éxito del paralelismo en BD es debido a que las operaciones de gestiónde datos son de naturaleza bastante repetitiva, por lo que pueden serllevadas a cabo en paralelo con gran eficiencia. Ejemplo:

Una búsqueda completa (recorrido) en una BD muy grande no distribuidaconsume un tiempo t.

La misma búsqueda en una BDD con n sitios funcionando en paralelo (ndiscos gestionados por n procesadores) consumirá aproximadamente un

tiempo t/n.• El paralelismo suele estar asociado con la fragmentación de datos: los

fragmentos se distribuyen entre varios procesadores y se localizan enunidades de disco diferentes.

 Arquitecturas Paralelas

Clases de Paralelismo en BD

Page 48: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 48/49

1.48DASGBD Curso 2007/2008

Clases de Paralelismo en BD

• Inter-Consulta: El sistema puede realizar diferentes consultas en paralelo. La carga sobre el SGBD está caracterizada por transacciones sencillas y

frecuentes (hasta miles de transacciones por segundo).

El paralelismo se introduce multiplicando el número de servidores y

localizando un número óptimo de peticiones en cada servidor. Muchas veces existe un proceso despachador que redirige las consultas a los

servidores.

Es utilizado por los sistemas OLTP.

• Intra-Consulta: partes de una misma consulta se realizan en paralelo.

La carga del SGBD viene dada por unas pocas transacciones muy complejas,que están formadas por varias sub-consultas parciales que se ejecutan enparalelo.

En general, se utiliza el sistema multiprocesador completo para cada consulta.

Es utilizado por los sistemas OLAP.

 Arquitecturas Paralelas

Clases de Arquitecturas

Page 49: Arquitecturas Para Bases de Datos

8/9/2019 Arquitecturas Para Bases de Datos

http://slidepdf.com/reader/full/arquitecturas-para-bases-de-datos 49/49

1.49DASGBD Curso 2007/2008

q

P MP

P

P

P

P

P

P

M

M

M

M

M P

M P

P MP

P

PP

M

MM

M

P MP

PP

P MP

PP

Memoria compartida Disco compartido

Sin compartimiento

Jerárquica o Híbrida