Date post: | 14-Jun-2015 |
Category: |
Education |
Upload: | luis-jherry |
View: | 1,740 times |
Download: | 2 times |
Base de Datos: Arquitecturas de Bases de Datos Multiusuario
Profesor:
Msc. Luis Serna Jherry
Objetivos del Dia de Hoy
Sistemas Centralizados Sistemas Cliente Servidor Sistemas Distribuidos
Sistemas Centralizados
OScc
AP1
AP2
AP3
D
B
M
S
OSdm
DB
Usuario 1
Usuario 2
Usuario n
Oscc = Control de comunicaciones del sistema operativo
Osdm = Administración de datos del sistema operativo
Arquitectura cliente - servidor
BD
OSnetAP1
AP2
OSnetAP2
AP3
OSnetAP2
OSnet OSdmDBMS
Red
Usuario 1
Usuario 2
Usuario n Osnet= porción de comunicaciones de red del SO
Oddm= porción de administración de datos del SO
Motor SQL
Interfaz de
usuario SQL
Interfaz (SQL + API)
Sistemas Cliente/Servidor
Funcionalidades de la parte visible al usuario y del sistema subyacente
Interfaz de
formularios
Diseñador de
Informes
Interfaz gráfica
Parte visible al usuario
Sistema subyacente
Existen dos arquitecturas básicas: De dos niveles, en los que:
La lógica de la Presentación está en el Cliente. La lógica de los Datos y del negocio está en el
Servidor. De tres niveles, que implica servicios de
gestión de transacciones complejas, y donde: La lógica de la Presentación está en el Cliente. La lógica de los Datos está en el Servidor de Datos La lógica del Negocio está en el Servidor de
Aplicaciones.
Sistemas Cliente/Servidor
Sistema Distribuido de Base de Datos
Red de Comunicaciones
Sitio 1
Sitio 2Sitio 3
Sitio 4
Sitio 5
Arquitectura de BD Distribuida
AP1
AP2
DDBMSOSnet
OSdm
AP2 DDBMSOSnet
OSdm
DDBMSOSnet
OSdm
AP2
AP3
DDBMSOSnet
OSdm
red
BD
BD
BD
BD
En un sistema distribuido la base de datos se almacena en varias computadoras.
Varios medios de comunicación, como redes de alta velocidad o líneas telefónicas, ponen en contacto a las distintas computadoras.
No comparten memoria ni discos. Las computadoras pueden variar en
tamaño y función.
Sistemas Distribuidos
Un conjunto de localizaciones o sitios conectados entre si mediante algún tipo de red de comunicaciones, en el cual: Cada sitio es un sistema de base de
datos en sí mismo. Los sitios han convenido en trabajar
juntos (si es necesario) como si los datos estuvieran almacenados localmente en el propio sitio del usuario.
Sistemas Distribuidos
Sistemas Distribuidos Principio fundamental: Desde el punto de
vista del usuario, un sistema distribuido deberá ser idéntico a un sistema no distribuido.
Permite que cada sitio almacene y mantenga su propia BD.
Puede mejorar la fiabilidad; esto es, si falla un sitio el resto de la red puede seguir funcionando.
Permite el control local de los datos que se usan con mas frecuencia en un sitio.
Características
Los distintos emplazamientos están informados sobre los demás.
Aunque algunas tablas pueden estar almacenadas sólo en algunos emplazamientos, éstos comparten un esquema global común.
Cada emplazamiento proporciona un entorno para la ejecución de transacciones tanto globales como locales.
En general, en cada emplazamiento se ejecuta el mismo software de gestión de BD distribuidas.
Ventajas
Compartimiento de Datos Los usuarios de un emplazamiento pueden acceder a
los datos que residen en otros emplazamientos. Autonomía.
Cada emplazamiento conserva un cierto grado de control sobre los datos almacenados localmente. Cada administrador local de BD puede tener una autonomía local diferente, dependiendo del diseño del sistema distribuido de BD.
Mejora del rendimiento para procesamientos locales
La base de datos se fragmenta en bases de datos más pequeñas, manteniendo los datos cerca de donde más se necesitan
Las consultas y transacciones locales tienen mejor rendimiento debido al tamaño de la BD
Ventajas
Fiabilidad y Disponibilidad La fiabilidad se refiere a la probabilidad de que el
sistema esté operativo en cualquier momento dado. La disponibilidad consiste en la probabilidad de que el
sistema esté disponible continuamente durante un determinado período de tiempo
Si falla un emplazamiento, los restantes pueden continuar funcionando.
Si se duplican los elementos de datos acertadamente en varios emplazamientos, una transacción que requiera un determinado elemento puede obtenerlo de cualquiera de dichas copias.
Así, el fallo de un emplazamiento no implica necesariamente el cierre del sistema.
Inconvenientes
Costo de desarrollo del software. La implementación de un sistema distribuido de BD es
más difícil, y por tanto más costoso. Mayor probabilidad de errores.
Como los emplazamientos operan en paralelo, es mas difícil asegurarse de la corrección de los algoritmos, del funcionamiento especial durante los fallos de parte del sistema, así como de la recuperación.
Mayor sobrecarga de procesamiento Debido al intercambio de mensajes y el cómputo
adicional para la coordinación entre los emplazamientos.
Almacenamiento Distribuido de Datos
Fragmentación Significa dividir una relación en
fragmentos para propósito de almacenamiento. Mejora el desempeño.
• Fragmentación Horizontal: Consiste en la partición de una tabla en subconjuntos de filas.
• Fragmentación Vertical: Consiste en particionar una tabla por la proyección del subconjunto de sus atributos.
Fragmentación HorizontalNUMEMP
NUMDEPTO
SALARIO
E1 DX 45K
E2 DY 40K
E3 DZ 50K
E4 DY 63K
E5 DZ 40K
NUMEMP
NUMDEPTO
SALARIO
E1 DX 45KE3 DZ 50KE5 DZ 40K
Almacenamiento físico en Tokyo
NUM
EMP
NUM
DEPTOSALARIO
E4 DY 63K
E2 DY 40K
Almacenamiento físico en Lima
Percepción del
usuario
Fragmento enLima
Fragmento enTokyo
Réplica Ocurre si el sistema mantiene copias de una tabla X en
diferentes sitios para que la data tenga mas disponibilidad.
Los usuarios deberán poder comportarse como si solo hubiera una copia de los datos (Independencia de Réplica).
Permite la creación y eliminación dinámica de réplicas en respuesta a cambios en los requerimientos, sin afectar los programas o actividades de los usuarios.
Ventajas Si una de las estaciones que contiene la tabla X falla, la tabla
puede recuperarse de otro sitio Si la mayoría de los accesos a la tabla X sólo involucran una
consulta a la tabla, entonces varios sitios pueden estar solicitando datos de X en forma concurrente. Mientras mas copias haya de X será menor el tráfico de la red.
Almacenamiento Distribuido de Datos
Réplica
NUM
EMP
NUM
DEPTOSALARIO
E4 DY 63K
E2 DY 40K
Fragmento de Lima
Fragmento de Tokyo
Réplica del fragmento de Lima
Réplica del fragmento de Tokyo
Percepción del Usuario
Almacenamiento físico en
Tokyo
Almacenamiento físico en
Lima
NUM
EMP
NUM
DEPTOSALARIO
E1 DX 45K
E2 DY 40K
E3 DZ 50K
E4 DY 63K
E5 DZ 40K
NUM
EMP
NUM
DEPTOSALARIO
E1 DX 45K
E3 DZ 50K
E5 DZ 40K
NUM
EMP
NUM
DEPTOSALARIO
E1 DX 45K
E3 DZ 50K
E5 DZ 40K
NUM
EMP
NUM
DEPTOSALARIO
E4 DY 63K
E2 DY 40K
Mínimo Coste: De almacenamiento de cada fragmento en el
nodo correspondiente De modificar un fragmento que está replicado
en distintos nodos De trasferencia de datos en la red
Rendimiento: Minimizar tiempos de respuesta Maximizar capacidad de procesamiento en
cada nodo
Esquema de Asignación y Replicación: objetivos
Funciones Adicionales de los SGBDD
Mantenimiento de la pista de los datos Expandiendo el catálogo de la BD para seguir la pista
de la distribución de los datos, la fragmentación y la réplica
Gestión de Transacciones Distribuidas Determinar estrategias de ejecución de consultas y
transacciones que acceden a datos de más de una localización, sincronizar el acceso a dichos datos y mantener la integridad
Gestión de datos replicados Decidir a qué copia de los datos acceder y mantener la
consistencia entre dichas copias Recuperación de la base de datos distribuida
La capacidad de recuperarse de caídas de sitios individuales y de fallos de los enlaces de comunicación
Funciones Adicionales de los SGBDD
Seguridad Controlar la seguridad y privilegios de acceso de
los usuarios de las transacciones distribuidas Gestión del directorio (catálogo) distribuido
Información de dónde y cómo se almacenan los datos, el modo de acceso y características físicas.
Alternativas: catálogo centralizado, replicado completamente, dividido, combinación de centralizado y dividido.
Procesamiento Distribuido de Consultas Consideraciones:
El número de accesos a disco El costo de la trasmisión de datos por la red
(número y volumen de mensajes) La ganancia potencial en rendimiento
respecto de hacer que varios emplazamientos procesen en paralelo parte de la consulta
“Buscar todas las tuplas de la tabla Cuenta” Si replicada, si fragmentada, si replicada y
fragmentada.
Procesamiento Distribuido de Transacciones
Agente: proceso ejecutado a nombre de una determinada transacción en un determinado sitio. Control de concurrencia: No se permite
bloqueo mutuo entre dos agentes que sean parte de una misma transacción.
Control de recuperación: Todos los agentes de la misma transacción se comprometen (Commit) o abortan (Rollback) simultáneamente.
Manejar múltiples copias de los datos: Debe mantenerse la consistencia entre las copias: El
control de concurrencia debe asegurar que cada copia sea consistente con todas las demás, aún cuando el sitio en el que reside falla y se recupera posteriormente
Fallo de sitios individuales: El sistema debe continuar operando con sus sitios
activos, si es posible, cuando fallen sitios individuales. Cuando el sitio que falló se recupera, su BD local debe
sincronizarse con las demás antes de reincorporarse al sistema.
Control de Concurrencia y Recuperación en BDD
Confirmación (commit) distribuida: Podría haber problemas al confirmar una
transacción distribuida si alguno de los sitios involucrados falla durante la confirmación
Bloqueo mortal distribuido: Podría ocurrir bloqueo mortal (interbloqueo)
entre varios sitios, por lo que deben extenderse las técnicas para su tratamiento para considerar esta situación
Control de Concurrencia y Recuperación en BDD
Se designa una de las copias de cada elemento de datos como copia distinguida
Todos los bloqueos se asocian a la copia distinguida, y todas las solicitudes de bloqueo y desbloqueo se envían al sitio que contiene esa copia
Control de Concurrencia por “Copia Distinguida”
Técnicas de elección de copia distinguida: Sitio primario:
Se designa un sitio como coordinador para todos los elementos de la base de datos. Los bloqueos son hechos en este sitio.
Control de Concurrencia por “Copia Distinguida”
Técnicas de elección de copia distinguida: Sitio primario con sitio de respaldo
Se designa un segundo sitio como de respaldo, y los bloqueos se mantienen en ambos sitios
Control de Concurrencia por “Copia Distinguida”
Técnicas de elección de copia distinguida: Copia primaria
Se mantienen las copias distinguidas de los elementos de datos almacenadas en diferentes sitios.
Se puede combinar con sitios de respaldo
Control de Concurrencia por “Copia Distinguida”
A
B
A
B
A B
Recuperación en BDD
El sistema debe ser capaz de detectar un fallo en uno de los emplazamientos, de modo que pueda decidir si es necesaria alguna acción de recuperación.
El sistema debe dejar de utilizar los servicios del emplazamiento con falla.
Deben existir mecanismos para reintegrar fácilmente en el sistema al emplazamiento que falló, cuando se haya recuperado.
Tipos de BD DistribuidasAP1
AP2
DBMS/OS ZYXW
AP1
DBMS/OS
AP2
DBMS/OS ZY
XW
BD1
BD2
Línea de comunicación Dividida no
Duplicada
No Distribuida
Tipos de BD Distribuidas
AP2
DBMS/OS
BD (copia 1)
BD (copia 2)
Línea de comunicación No Dividida
y Duplicada
AP2
DBMS/OS
AP1
AP1
ZYXW
ZYXW
Tipos de BD Distribuidas
BD1
BD2
Línea de comunicación
Dividida y Duplicada
YXW
ZY
AP1
DBMS/OS
AP2
DBMS/OS
Clases de SGBDD
Heterogeneidad
Distribución
Autonomía
SGDB integrados,
heterogéneos
SGDB heterogéneo y
distribuido
Múltiples SGDB homogéneos, lógicamente integrados
SGDB homogéneo y
distribuido
SGDB federado, homogéneo y
distribuido
Sistema multibase,
homogéneo y distribuido
SGDB federado, heterogéneo y
distribuido
SGDB federado, heterogéneo en
una sede
SGDB federado, homogéneo en
una sede
Sistema multibase, heterogéneo
Sistema multibase, homogéneo
Sistema multibase, heterogéneo y
distribuido
Arquitectura para SGBDDEsquema Externo
Global 1Esquema Externo
Global 2Esquema Externo
Global n
Esquema ConceptualGlobal
Esquema ConceptualBD Local 1
Esquema ConceptualBD Local n
Esquema InternoBD Local n
Esquema InternoBD Local 1
EsquemaExternoLocal 11
EsquemaExternoLocal 1h
EsquemaExternoLocal n1
EsquemaExterno
Local nm
Arquitectura de los SGBD Multibase
Esquema Externo 1
EsquemaExterno 2
EsquemaExterno n
Esquema ConceptualBD Local 1
EsquemaConceptualBD Local n
Esquema InternoBD Local n
Esquema InternoBD Local 1
EsquemaConceptualBD Local 2
Esquema InternoBD Local 2
Diseño de BDD
Esquema LógicoGlobal
Esquema LógicoLocal 1
Esquema LógicoLocal 2
Esquema LógicoLocal n
Distribución
Inte
grac
ión
Bibliografia
Fundamentos de Sistemas de Base de Datos. Ramez Elmasri, Shamkant Navathe