70
1 Administración de Bases de Datos Administración de BD distribuidas Objetivos Comprender las nociones básicas de las BDD Conocer las ventajas e inconvenientes de las BDD Conocer diferentes arquitecturas y diseños de BDD Conocer diferentes estrategias de implementación de las BDD Conocer las funcionalidades y requerimientos de un SGBDD

1 Administración de Bases de Datos Administración de BD distribuidas Objetivos Comprender las nociones básicas de las BDD Conocer las ventajas e

Embed Size (px)

Citation preview

Page 1: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

1

Administración de Bases de Datos

Administración de BD distribuidas

Objetivos

Comprender las nociones básicas de las BDD Conocer las ventajas e inconvenientes de las BDD Conocer diferentes arquitecturas y diseños de BDD Conocer diferentes estrategias de implementación de las

BDD Conocer las funcionalidades y requerimientos de un

SGBDD

Page 2: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

2

Administración de Bases de Datos

Administración de BD distribuidas

Bases de Datos distribuidas: distribución de datos

Page 3: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

3

Administración de Bases de Datos

Administración de BD distribuidas

Arquitecturas Cliente/Servidor: distribución de procesos

Page 4: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

4

Administración de Bases de Datos

Administración BD distribuidas

Bases de Datos Distribuidas: precisan al menos de dos servidores de Bases de Datos

Cliente/servidor: separan el rol del servidor del de cliente

Bases de Datos paralelas: usan varias máquinas (o máquinas multiprocesador) y varios dispositivos de almacenamiento

Page 5: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

5

Administración de Bases de Datos

BD distribuidas

Contenidos Introducción y motivación Nociones generales de las BDD Ventajas y desventajas de las BDD Diseño de las BDD Procesamiento de transacciones en BDD Seguridad en BDD Control de Concurrencia en BDD Restricciones de Integridad en BDD Clasificación de BDD BDD en Oracle

Page 6: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

6

Administración de Bases de Datos

BD distribuidas

Bibliografía Elmasri, Navathe

Fundamentals of Database Systems (4a edición)Fundamentos de Sistemas de Bases de Datos (3a edición)Addison Wesley 2004

Ozsu, ValduriezPrinciples of Distributed Database Systems (2a edición)Pentice Hall International Inc. 1999

Connolly, BeggDatabase Systems. A Practical Approach to Design, Implementation and Management (3a edición)Addison Wesley 2002

Page 7: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

7

Administración de Bases de Datos

Motivación

Tecnología “tradicional” de las BDs Centralización de los datos

Múltiples ficheros => una base de datos

Tecnología de redes Distribución/compartición de recursos

BD centralizada => BDs distribuida (¿varias BDs?)

BDs distribuidas Unión de estas dos aproximaciones (aparentemente

incompatibles)

La tecnología de las BDs busca la INTEGRACIÓN de los datos y no la CENTRALIZACIÓN.

Page 8: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

8

Administración de Bases de Datos

Motivación

Tecnología “tradicional” de las BDs Centralización de los datos

Múltiples ficheros => una base de datos

Tecnología de redes Distribución/compartición de recursos

BD centralizada => BDs distribuida (¿varias BDs?)

BDs distribuidas Unión de estas dos aproximaciones (aparentemente

incompatibles)

La tecnología de las BDs busca la INTEGRACIÓN de los datos y no la CENTRALIZACIÓN.

Page 9: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

9

Administración de Bases de Datos

BD distribuidas vs. centralizadas

La diferencia principal entre ambos es que las BD centralizadas residen en una única ubicación física, mientras que las distribuidas residen en varias ubicaciones

La distribución de los datos puede causar muchas complicaciones y dificultades en el procesamiento de transacciones y consultas

Page 10: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

10

Administración de Bases de Datos

Definición de BD distribuida

BD que se encuentra repartida entre ubicaciones físicas dispersas pero conectadas via enlaces de comunicación que permite ver la BD de forma integrada

Colección de datos que pertenecen lógicamente a un único sistema pero físicamente están dispersos en distintos lugares de la red

Los usuarios de cada nodo pueden acceder a todos los datos de forma transparente

Para los usuarios sólo hay una única BD

Page 11: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

11

Administración de Bases de Datos

SGBDD

Un sistema de gestión de bases de datos distribuidas (SGBDD) es el software que permite el manejo de Bases de Datos Distribuidas y que hace dicha distribución transparente al usuario

Transparente: las aplicaciones trabajaran, desde un punto de vista lógico, como si un solo SGBD ejecutado en una sola máquina, administrara esos datos

Page 12: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

12

Administración de Bases de Datos

Arquitectura de un SBDD

Conjunto de nodos que operan con SGBD locales que pueden participar en la ejecución de transacciones que acceden a datos de varios nodos

SBDD = BDD + SGBDD

SGBDDBDD

SGBDDBDD

SGBDDBDD

Page 13: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

13

Administración de Bases de Datos

Configuraciones de la red

Criterios que permiten comparar distintas configuraciones de SBDD

Coste de instalación: el coste de enlazar físicamente los nodos del sistema

Coste de comunicaciones: coste en tiempo y dinero de enviar un mensaje entre nodos

Disponibilidad: grado en que se puede tener acceso a los datos a pesar del nodo de algunos enlaces o nodos

Page 14: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

14

Administración de Bases de Datos

Nodos de la arquitectura

En los nodos pueden existir:

Usuarios locales: Sólo acceden a los datos de su nodo

Usuarios globales: Necesitan acceder a los datos almacenados en distintos nodos

Page 15: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

15

Administración de Bases de Datos

BD remotas vs. BD distribuidas

BD remotas: el usuario especifica los comandos de comunicación

BD distribuidas: se proporciona transparencia respecto a la distribución. Los usuarios realizan las transacciones como si se tratara de una BD centralizada

Page 16: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

16

Administración de Bases de Datos

Organización de los sistemas de BDD

Tradicionalmente se han clasificado respecto a: Nivel de compartición Nivel de acceso a los datos Nivel de conocimiento de las características de acceso

conocimiento

acceso

compartición

estático

datos

datos yprogramas

dinámico

parcial

total

Page 17: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

17

Administración de Bases de Datos

Organización de los sistemas de BDD

El nivel de compartición presenta tres alternativas

1. Inexistencia: cada aplicación y sus datos se ejecutan en un ordenador con ausencia total de comunicación con otros programas o datos

2. Se comparten sólo los datos y no los programas, existe una réplica de las aplicaciones en cada nodo y los datos se comparten por la red (BDD)

3. Se comparten datos y programas, dado un programa ubicado en un nodo, éste puede solicitar un servicio a otro programa localizado en otro lugar, el cual accederá a los datos situados en otro lugar

Page 18: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

18

Administración de Bases de Datos

Organización de los sistemas de BDD

Respecto a las características de acceso a los datos existen dos alternativas posibles:

1. Estático: el modo de acceso a los datos que solicitan los usuarios no cambiará a lo largo del tiempo

2. Dinámico: el modo de acceso cambia a lo largo del tiempo (BDD)

Resulta difícil encontrar sistemas distribuidos reales que puedan clasificarse como estáticos. Esta dimensión establece la relación entre el diseño de BDD y el procesamiento de transacciones y consultas, y el grado su variabilidad a lo largo del tiempo

Page 19: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

19

Administración de Bases de Datos

Organización de los sistemas de BDD

Respecto al nivel de conocimiento de las características de acceso:

1. Los diseñadores carecen de información sobre cómo los usuarios acceden a la BD (situación irreal)

2. Los diseñadores conocen perfectamente la forma de acceso de los usuarios o en su defecto, información parcial de ésta (BDD)

Page 20: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

20

Administración de Bases de Datos

Objetivo de las BDD

Transparencia: Separación del nivel semántico (QUÉ) del sistema de los aspectos de implementación (CÓMO)

Proporcionar INDEPENDENCIA DE DATOS

Tipos de transparencia: En la localización y distribución en la red En las copias En la fragmentación

Page 21: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

21

Administración de Bases de Datos

Transparencia en la localización y distribución

Los usuarios y los programas no deben conocer los detalles de cada dato

Transparencia en la localización: los comandos son independienes de la localización de los datos y del lugar donde se lanza el comando

Transparencia en los nombres: cuando se asignan nombres a los objetos, éstos se pueden acceder de forma no ambigua

Un esquema de localización describe el lugar donde están almacenados los datos (fragmentos)

Page 22: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

22

Administración de Bases de Datos

Transparencia en las copias

Todos los detalles para localizar y mantener copias deben ser tratados por el sistema. Se duplican los fragmentos.

Ventajas: Seguridad menor número de comunicaciones

Inconvenientes: Modificaciones Más espacio de almacenamiento

Page 23: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

23

Administración de Bases de Datos

Transparencia en las copias

1. Distribución redundante: replicar toda la BD en cada nodo.

Ventajas: Disponibilidad: el sistema funciona mientras

funciona alguno de sus nodos Paralelismo incrementado

Inconvenientes: Modificaciones más costosas Mecanismos de control de concurrencia y

recuperación ante fallos más complejas

Page 24: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

24

Administración de Bases de Datos

Transparencia en las copias

2. Distribución reduntante parcial: algunos fragmentos se duplican y otros no.

La descripción de los fragmentos duplicados se denomina esquema de duplicación. El grado de duplicación de un fragmento depende de los objetivos deseados de rendimiento y disponibilidad del sistema y de los tipos y frecuencias de las preguntas enviadas a cada nodo

3. Distribución no redundante: no existen copias de los datos. Cada fragmento está en un nodo.

Page 25: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

25

Administración de Bases de Datos

Tipos de fragmentación

Fragmento: unidad lógica de la BD (p.e. Relación)

Tipos de fragmentación:

Horizontal Vertical Mixta

Page 26: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

26

Administración de Bases de Datos

Fragmentación horizontal

La fragmentación horizontal de una relación consiste en un subconjunto de tuplas de dicha relación. Las tuplas que pertenecen al fragmento horizontal se especifican por una condición (condición de guardia)

Operador: SELECT Propiedades:

Completa: cada tupla de la relación original R está en alguno de los fragmentos (F1 or F2 or ... or Fn)

Disjunta: para cualquier i#j ninguna tupla está en Ci and Cj

Si es completa y disjunta, se puede utilizar la operación UNION para reconstruir la relación original

Page 27: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

27

Administración de Bases de Datos

Fragmentación vertical

La fragmentación vertical de una relación contiene sólo ciertos atributos que están relacionados entre sí de alguna forma

Operador: Proyección Es necesario incluir en cada fragmento el

atributo clave primaria Propiedades:

Completa: el conjunto de fragmentos verticales incluye todos los atributos de la relación original y comparten el atributo clave primaria

La operación OUTER UNION nos permite reconstruir la relación original

Page 28: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

28

Administración de Bases de Datos

Fragmentación

Mixta: Combinación de los tipos de fragmentación Horizontal y Vertical

Combinación de SELECT-PROJECT del tipo F (C

(R))

IF C=true AND F#ATTRS(R) Fragmento vertical IF C#true AND F=ATTRS(R) Fragmento horizontal IF C#true AND F#ATTRS(R) Magmento mixto IF C=true AND F=ATTRS(R) Relación original

Page 29: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

29

Administración de Bases de Datos

Esquema de Fragmentación

Un esquema de fragmentación de una BDD contiene la definición del conjunto de fragmentos que incluyen todos los atributos y tuplas de la BD y que cumple la condición de que toda la BD puede ser reconstruida a partir de los fragmentos mediante una secuencia de operaciones

Page 30: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

30

Administración de Bases de Datos

Objetivos de la BD distribuidas

Transparencia en la localización + Transparencia en copias + Transparencia en fragmentación

La transparencia en la localización permite trasladar relaciones entre nodos sin alterar las aplicaciones

La transparencia en las copias permite incrementar el factor de disponibilidad de los datos y el del rendimiento del sistema

La transparencia en la fragmentación también permite incrementar el factor de rendimiento del sistema

Permite que el usuario vea el sistema distribuido como un sistema centralizado

Page 31: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

31

Administración de Bases de Datos

Ventajas y desventajas de las BD distribuidas

+ Manejo de datos distribuidos con diferentes niveles de transparencia

+ Mejora la seguridad y disponibilidad de los datos+ Permite la expansión incremental con el mínimo impacto

en las aplicaciones+ Incrementa el rendimiento del sistema+ Permite la compartición de datos mateniendo un control

local de los datos más utilizados en el nodo

Page 32: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

32

Administración de Bases de Datos

Ventajas y desventajas de las BD distribuidas

+ Compartición de datos+ Autonomía local (permite políticas locales de acceso a

datos)+ Más eficiencia local (en cada nodo)+ Mayor fiabilidad/disponibilidad de datos (hay datos

replicados)+ Economía (varios ordenadores vs. un solo mainframe)+ Escalabilidad (permite expandir nodos fácilmente)- Complejidad (todos los problemas de la BD centralizadas y

otros)- Costo (SGBDD, varios ordenadores)- Resistencia al cambio (de centralizadas a distribuidas)

Page 33: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

33

Administración de Bases de Datos

Ventajas y desventajas de las BD distribuidas

Asignación ReplicaciónCompleta

ReplicaciónParcial

Sin replicación

Procesamiento De Consultas

Control deconcurrencia

Disponibilidadde datos

Muy alta Alta Baja

Difícil Muy difícil Fácil

Fácil Difícil Difícil

Page 34: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

34

Administración de Bases de Datos

Nuevas funciones del SGBDD

Manejar el catálogo global que contiene los esquemas de localización, duplicación y fragmentación

Implementar estrategias de ejecución para preguntas globales

Transmitir transacciones y datos entre los nodos Decidir a qué copia duplicada acceder Mantener la consistencia entre cópias

duplicadas Recuperación entre fallos en los nodos o en la

red

Page 35: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

35

Administración de Bases de Datos

Diseño de BDD

Hay que decidir en qué nodos deben residir:

Cómo distribuir los datos entre diferentes sitios?

Diseño bottom-up: integración de BD ya existentes Diseño top-down: fragmentar y asignar

Las aplicaciones que trabajan con los datos

Objetivos: Procesamiento local Distribución de la carga de trabajo: Coste de almacenamiento Disponibilidad

Page 36: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

36

Administración de Bases de Datos

Diseño bottom-up de BDD

Esquema global canónico

integración

Esquema local canónico 1

traducción

Esquema local 1

Esquema local canónico N

traducción

Esquema local N...

Page 37: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

37

Administración de Bases de Datos

Diseño top-down de BDD

Esquema global

Fragmentación

Esquema global fragmentado

Asignación

Esquema local 1

Diseño físico

Esquema físico 1

Esquema local N

Diseño físico

Esquema físico N...

Page 38: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

38

Administración de Bases de Datos

Diseño top-down de BDD

Asignación Sin replicación:

todo fragmento reside en un único nodo Bueno para actualizaciones Malo para consultas

Con replicación total Todos los fragmentos residen en todos los nodos Malo para actualizaciones Bueno para consultas

Con replicación parcial Algunos fragmentos pueden residir en más de un nodo Compromiso entre actualizaciones y preguntas

Si hay más actualizaciones que preguntas, la replicación será menos ventajosa

Page 39: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

39

Administración de Bases de Datos

Diseño top-down de BDD

Asignación Dados N fragmentos y M nodos, encontrar la matriz Q

donde Qij = true si el fragmento i se aloja en el nodo j tal que minimiza el coste total de transacciones

Suma de los costos de procesamiento de todas las consultas y

Actualizaciones sujeto a las siguientes restricciones No superar una determinada carga de procesamiento en

cada nodo Existe un almacenamiento máximo en cada nodo Hay un tiempo de respuesta máximo para cada

transacción

El problema es NP-completo: problema de la mochila, etc. Pero se podrían usar heurísticos ...

Page 40: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

40

Administración de Bases de Datos

Diseño de BDD

Dónde se almacena el catálogo global?

1. Centralizado: en un único nodo2. Totalmente replicado: en cada nodo3. Distribuido: en cada nodo se almacena la

información necesaria para el nodo4. Combinación de 1) y 3)

Page 41: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

41

Administración de Bases de Datos

Procesamiento de consultas

El SGBDD debe:

Descomponer la consulta original en subpreguntas que se puedan ejecutar en nodos individuales

Generar un plan para combinar los resultados de las subpreguntas para obtener la respuesta final

Maneja los esquemas de localización, copias y fragmentación

El álgebra relacional no es suficiente para expresar la ejecución de planes distribuidos. Debe ser completada con operaciones para intercambio de datos entre distintos nodos

Elegir el orden de las operaciones del álgebra relacional Seleccionar los mejores sitios para procesar los datos

Page 42: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

42

Administración de Bases de Datos

Procesamiento de consultas

Como regla general, minimizaremos el coste de enviar los datos entre nodos

Por ejemplo, Procesamiento de preguntas utilizando la operación SEMI-JOIN para reducir el número de tuplas de una relación antes de transferirlas a otro nodo Enviar los atributos de una relación R necesarios

para hacer el join al nodo donde esté almacenada S. Hacer el join. Proyectar los atributos necesarios para el resultado y enviar de vuelta al nodo que está R.

Page 43: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

43

Administración de Bases de Datos

Procesamiento de consultas

Pregunta inicial

Descomposición de consultas

Pregunta inicial en algebra relacional

Localización de datos

Pregunta sobre fragmentos

Optimización global

Pregunta sobre fragmentos y operaciones de comunicación

Esquema global

Esquema de fragmentos

Optimización local

Preguntas locales

Estadísticas sobre fragmentos

Esquema Local

Page 44: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

44

Administración de Bases de Datos

Procesamiento de consultas

Descomposición de preguntas Transforma la pregunta en otra del álgebra

relacional

Localización de datos Determina qué fragmentos están involucrados en la

consulta y la transforma en consulta sobre fragmentos distribuidos

Optimización global Obtiene un plan de ejecución cercana a la óptima La salida es una consulta algebraica con primitivas

de comunicación para transferir datos entre nodos

Optimización local Con los algoritmos vistos para BD centralizadas

Page 45: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

45

Administración de Bases de Datos

Procesamiento de Transacciones

Las transacciones distribuidas deben conservar las propiedades ACID

Atomicity: Gestor de transacciones y gestor de recuperación

Consistency: Gestor de restricciones de integridad

Isolation: Gestor de control de concurrencia

Durability Gestor de recuperación

Page 46: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

46

Administración de Bases de Datos

Procesamiento de Transacciones

Cada nodo tiene dos subsistemas Gestor de transacciones: Gestiona la ejecución

de las transacciones que tienen acceso a datos almacenados en el nodo

Coordinador de transacciones: coordina la ejecución de las transacciones iniciadas en ese nodo Inicia la ejecución de la transacción Divide la transacción en una serie de

subtransacciones y las distribuye para su ejecución en los nodos adecuados

Coordina la terminación de la transacción. Todos los nodos que intervienen en la transacción deben ponerse de acuerdo sobre el resultado final de la ejecución: COMMINT o ROLLBACK en todos los nodos.

Debe seguir un protocolo: de dos fases, de tres fases.

Page 47: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

47

Administración de Bases de Datos

Protocolo de dos fases

Fase 1 (Votación)El coordinador de transacciones del nodo envía un mensaje a todos los nodos donde se ejecuta la transacción. Al recibir el mensaje, el gestor de transacciones de cada nodo determina si está dispuesto a comprometer su parte de la transacción.

Fase 2 (Decisión) Cuando el coordinador recibe la respuesta de todos los nodos, o

cuando ha transcurrido un intervalo de tiempo predeterminado desde su envío,

determina si puede hacer COMMIT o ABORTAR. Será COMMIT global si recibe la confirmación de todos los nodos. Una vez tomada la decisión, envía

un mensaje a todos los nodos para que ejecuten el COMMIT o el

ROLLBACK.

Page 48: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

48

Administración de Bases de Datos

Protocolo de dos fases

La estructura de comunicaciones puede ser:

Centralizada: el coordinador centraliza la comunicación

Lineal: Se establece un orden entre los nodos, que pueden comunicarse entre sí.

Distribuida: comunicación entre todos los nodos participantes durante la primera fase del protocolo. Esta estructura no requiere de la segunda fase. Cada participante envía su decisión al resto de nodos participantes.

Page 49: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

49

Administración de Bases de Datos

Control de concurrencia en BDD

Mediante bloqueos. Costo adicional: Una transacción sobre un

objeto con N réplicas: N solicitudes de bloqueo. N concesiones de bloqueo. N mensajes de actualización. N verificaciones. N solicitudes de liberación. TOTAL = 5*N mensajes.

Solución: métodos que se basan en la extensión de las técnicas de control de concurrencia en las BD centralizadas

Page 50: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

50

Administración de Bases de Datos

Control de concurrencia en BDD

Idea: designar una copia de cada elemento a bloquear como una copia distinguida

Las reservas para ese elemento de información se asocian a la copia distinguida y todas las solicitudes de reservas y liberalizaciones se envían al nodo que contiene esa copia

Los métodos difieren en la forma en que se escogen las copias distinguidas: Nodo primario Nodo primario con respaldo Copia primaria

Un nodo que incluye una copia distinguida de un elemento de información actúa como coordinador para el control de concurrencia de ese elemento

Page 51: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

51

Administración de Bases de Datos

Control de concurrencia en BDD

Nodo primario Se designa un solo nodo primario como coordinador de

todos los elementos de la BDD Todas las reservas se mantienen en ese sitio y todas las

solicitudes de bloqueo y desbloqueo las procesa el nodo primario

Aunque el acceso a todas las reservas es en el nodo primario, el acceso a los elementos puede realizarse en cualquier otro nodo replicado

+ Extensión del enfoque centralizado- Se origina un cuello de botella en el nodo primario- Un fallo del sitio primario paraliza el sistema

Page 52: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

52

Administración de Bases de Datos

Control de concurrencia en BDD

Nodo primario con reserva Se pretende evitar que delante de un fallo del nodo

primario, se paralice toda la BDD Se designa un segundo nodo de respaldo Toda la información de bloqueo se mantiene

simultáneamente en los dos nodos+ En el caso de fallar el nodo primario, el de respaldo puede

asumir las funciones de nodo primario y se escoge un nuevo nodo de respaldo

- Proceso de adquisición de reservas más lento

Page 53: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

53

Administración de Bases de Datos

Control de concurrencia en BDD

Copia primaria Almacenar las copias distinguidas de diferentes

elementos en distintos nodos EL fallo de un sistema afecta a las transacciones que

accedan a reservas sobre elementos cuyas copias primarias residan en ese nodo pero las demás transacciones no resultan afectadas

Page 54: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

54

Administración de Bases de Datos

Control de concurrencia en BDD

Idea: no hay copia distinguida. Las reservas se realizan por votación.

Cada solicitud de reserva se envía a todos los nodos que incluyan una copia del elemento

Cada copia mantiene su propia reserva y puede conceder o rechazar la solicitud. Si la mayoría de las copias otorgan una reserva a una transacción, ésta poseerá la reserva e informará a todas las réplicas que está reservada.

Si una transacción no recibe la mayoría de los votos de concesión de la reserva en un periodo de tiempo predefinido, cancelará su solicitud e informará de ello a todos los nodos

- Tráfico alto de mensajes

Page 55: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

55

Administración de Bases de Datos

Control de concurrencia en BDD

Idea: marcas temporales. Se da a cada transacción una marca temporal única que el sistema utiliza para decidir el orden de secuenciación

En un entorno de BDD hay que desarrollar un esquema para generar marcas temporales únicas

Esquema centralizado: se escoge un nodo para distribuir las marcas temporales

Esquema distribuido: cada nodo genera una marca temporal única. La marca temporal global única se obtiene concatenando la marca temporal local única con el identificador del nodo (que también debe ser único)

Page 56: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

56

Administración de Bases de Datos

Restricciones de Integridad en BDD

La BDD es consistente si satisface las restricciones de integridad Definición y almacenamiento de las restricciones Comprobación de la consistencia

Hay que decidir dónde se almacenan las restricciones y dónde se comprueban las restricciones

En cualquier caso la restricción se verifica globalmente

Objetivo: disminuir el costo de transferencia de mensajes y el costo de procesamiento

Page 57: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

57

Administración de Bases de Datos

Seguridad en BDD

Problemas adicionales:

Encriptación de las comunicaciones Autentificación de usuarios remotos Manejo de las reglas de autorización distribuidas Manejo de vistas Manejo de grupos de usuarios

Page 58: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

58

Administración de Bases de Datos

Seguridad en BDD

Autentificación de usuarios remotosCualquier nodo puede aceptar transacciones iniciadas por

otros a) La información de los usuarios se almacena en todos los nodos (las transacciones deben venir acompañadas de usuario y password)b) Se identifican autentifican los nodos. Se usan password

de nodo

Page 59: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

59

Administración de Bases de Datos

Clasificación BDD

Grado de homogeneidad Homogéneas:

si todas los SGBDs locales son del mismo tipo Heterogéneas:

en caso contrario

Grado de autonomía Sin autonomía local:

todas las preguntas sobre el esquema local Federadas:

no existe un esquema global, pero sí un lenguaje que permite hacer preguntas sobre datos de otros nodos

Page 60: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

60

Administración de Bases de Datos

Clasificación BDD

Grado de transparencia Transparente sobre fragmentación Transparente sobre duplicación Transparente sobre distribución Sin transparencia:

el usuario ve la información sobre fragmentación, duplicación y distribución y es responsable de su manejo

Page 61: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

61

Administración de Bases de Datos

Clasificación BDD

Heterogeneidad Distinto hardware, SO, software de comunicaciones Distinto modelo de datos (relacional, jerárquico, OO,

...) Distintos SGBD (aunque sean del mismo modelo) Semántica (aún con el mismo SGBD)

Sinonimia: elementos iguales con distintos nombres Homonimia: elementos distintos con igual nombre El mismo elemento del mundo real puede ser

representado de forma distinta: atributo, tabla, clase, con tipo distinto ...

Page 62: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

62

Administración de Bases de Datos

Clasificación BDD

Sistemas de Bases de Datos Distribuidas (SGBDD) Formados por BDs no autónomas Utilizan un esquema global El esquema global se diseña top-down

Sistemas de Bases de Datos Interoperantes (SGBDI) Formados por BDs autónomas No utilizan un esquema global

Sistemas de Bases de Datos Federadas (SGBDF) Formados por BDs autónomas Utilizan un esquema global El esquema global se diseña bottom-up

Page 63: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

63

Administración de Bases de Datos

Conclusiones

Sólo falta que las grandes empresas decidan dar impulso a este enfoque y que se consoliden las soluciones a los problemas que produce el enfoque distribuido

Page 64: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

64

Administración de Bases de Datos

Anexo: BDD con Oracle

Nodos clientes y servidores

Software de red: Net8 BD Remotas BD Distribuidas

http://www-rohan.sdsu.edu/doc/oracle/server803/A54653_01/toc.htm

Page 65: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

65

Administración de Bases de Datos

Anexo: BDD con Oracle

Cada BD tiene su propio nombre globalSALES.US.AMERICAS.ACME_AUTO.COM SALES.UK.EUROPE.ACME_AUTO.COM

Page 66: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

66

Administración de Bases de Datos

Anexo: BDD con Oracle

Usa el protocolo de confirmación de dos fases RECO (recoverer)

Proceso background que automáticamente determina la respuesta de aquellas transacciones distribuidas donde el COMMIT ha sido interrumpido, manteniendo la consistencia de la BDD en todos los nodos involucrados

La consistencia global puede mantenerse restaurando la base de datos de cada sitio a un punto fijo predeterminado en el pasado

Page 67: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

67

Administración de Bases de Datos

Anexo: BDD con Oracle

Oracle usa database links:Define caminos unidireccionales de una BD a otra

CREATE DATABASE LINK sales.us.americas;

PRIVATE: sólo lo puede usar el que lo crea PUBLIC: todos los usuarios de la BD GLOBAL: todos los usuarios de la red

Page 68: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

68

Administración de Bases de Datos

Anexo: BDD con Oracle

La replicación es un proceso que copiar y mantener objetos de bases de datos (p.e. Tablas) en múltiples BDs que pertenecen a una BDD

Los datos pueden ser replicados usando:

Snapshots: réplicas sólo para lectura

CREATE SNAPSHOT sales.orders ASSELECT * FROM [email protected];

Replicación (simétrica) avanzada: permite acceso de lectura/escritura a través de las BDD replicadas.

Page 69: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

69

Administración de Bases de Datos

Anexo: BDD con Oracle

Nodo master: nodo primario Nodo snapshot: asociado a un nodo master Un nodo puede ser master y snapshot a la vez Los nodos master se comunican los cambios

continuamente Los nodos snapshot se refrescan

periódicamente para sincronizarse con los nodos master

Page 70: 1 Administración de Bases de Datos Administración de BD distribuidas  Objetivos  Comprender las nociones básicas de las BDD  Conocer las ventajas e

70

Administración de Bases de Datos

Anexo: BDD con Oracle

Réplica Multimaster: todos los nodos son de tipo master. Permite las actualizaciones en cualquier réplica y se propagan de manera automática al resto (sincrónicamente o asíncronamente).

A veces, los sistemas actualizan un solo nodo, con propagación perezosa de las actualizaciones a los demás nodos

Réplica sanpshot: nodos master y snapshot

Replication object: objeto que existe en múltiples servidores de una BDD: tablas, índices, vistas, etc.

Replication Group: colección de objetos replicados que están lógicamente relacionados. Todos los objetos se administran conjuntamente