1 administración de bases de datos administración de bd distribuidas objetivos comprender las...
Post on 02-Feb-2016
216 Views
Preview:
TRANSCRIPT
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
2
Administración de Bases de Datos
Administración de BD distribuidas
Bases de Datos distribuidas: distribución de datos
3
Administración de Bases de Datos
Administración de BD distribuidas
Arquitecturas Cliente/Servidor: distribución de procesos
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
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
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
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.
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.
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
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
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
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
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
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
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
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
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
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
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)
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
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)
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
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
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.
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
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
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
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
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
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
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
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)
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
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
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
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...
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...
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
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 ...
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)
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
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.
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
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
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
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.
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.
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.
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
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
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
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
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
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
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)
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
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
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
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
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
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 ...
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
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
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
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
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
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
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 sales.orders@hq.us.americas;
Replicación (simétrica) avanzada: permite acceso de lectura/escritura a través de las BDD replicadas.
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
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
top related