Arquitecturas de bd

39
Base de Datos: Arquitecturas de Bases de Datos Multiusuario Profesor: Msc. Luis Serna Jherry

Transcript of Arquitecturas de bd

Page 1: Arquitecturas de bd

Base de Datos: Arquitecturas de Bases de Datos Multiusuario

Profesor:

Msc. Luis Serna Jherry

Page 2: Arquitecturas de bd

Objetivos del Dia de Hoy

Sistemas Centralizados Sistemas Cliente Servidor Sistemas Distribuidos

Page 3: Arquitecturas de bd

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

Page 4: Arquitecturas de bd

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

Page 5: Arquitecturas de bd

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

Page 6: Arquitecturas de bd

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

Page 7: Arquitecturas de bd

Sistema Distribuido de Base de Datos

Red de Comunicaciones

Sitio 1

Sitio 2Sitio 3

Sitio 4

Sitio 5

Page 8: Arquitecturas de bd

Arquitectura de BD Distribuida

AP1

AP2

DDBMSOSnet

OSdm

AP2 DDBMSOSnet

OSdm

DDBMSOSnet

OSdm

AP2

AP3

DDBMSOSnet

OSdm

red

BD

BD

BD

BD

Page 9: Arquitecturas de 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

Page 10: Arquitecturas de bd

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

Page 11: Arquitecturas de bd

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.

Page 12: Arquitecturas de bd

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.

Page 13: Arquitecturas de bd

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

Page 14: Arquitecturas de 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.

Page 15: Arquitecturas de bd

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.

Page 16: Arquitecturas de bd

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.

Page 17: Arquitecturas de bd

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

Page 18: Arquitecturas de bd

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

Page 19: Arquitecturas de bd

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

Page 20: Arquitecturas de bd

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

Page 21: Arquitecturas de bd

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

Page 22: Arquitecturas de bd

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.

Page 23: Arquitecturas de bd

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.

Page 24: Arquitecturas de bd

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.

Page 25: Arquitecturas de bd

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

Page 26: Arquitecturas de bd

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

Page 27: Arquitecturas de bd

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”

Page 28: Arquitecturas de bd

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”

Page 29: Arquitecturas de bd

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”

Page 30: Arquitecturas de bd

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

Page 31: Arquitecturas de bd

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.

Page 32: Arquitecturas de bd

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

Page 33: Arquitecturas de bd

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

Page 34: Arquitecturas de bd

Tipos de BD Distribuidas

BD1

BD2

Línea de comunicación

Dividida y Duplicada

YXW

ZY

AP1

DBMS/OS

AP2

DBMS/OS

Page 35: Arquitecturas de bd

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

Page 36: Arquitecturas de bd

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

Page 37: Arquitecturas de bd

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

Page 38: Arquitecturas de bd

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

Page 39: Arquitecturas de bd

Bibliografia

Fundamentos de Sistemas de Base de Datos. Ramez Elmasri, Shamkant Navathe