Download datos - Adimen

Document related concepts

Base de datos distribuida wikipedia , lookup

MySQL Cluster wikipedia , lookup

NewSQL wikipedia , lookup

Partición (base de datos) wikipedia , lookup

Base de datos jerárquica wikipedia , lookup

Transcript
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
 Bases de Datos distribuidas: distribución de datos
2
Administración de Bases de Datos
Administración de BD distribuidas
 Arquitecturas Cliente/Servidor: distribución de
procesos
3
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
4
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
5
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, Valduriez
Principles of Distributed Database Systems (2a edición)
Pentice Hall International Inc. 1999
 Connolly, Begg
Database Systems. A Practical Approach to Design,
Implementation and Management (3a edición)
Addison Wesley 2002
6
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.
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
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
9
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
10
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
11
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
SGBDD
BDD
SGBDD
BDD
SGBDD
BDD
12
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
13
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
14
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
15
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
acceso
dinámico
estático
parcial
total
datos
datos y
programas
conocimiento
compartición
16
Administración de Bases de Datos
Organización de los sistemas de BDD

El nivel de compartición presenta tres alternativas
1.
2.
3.
Inexistencia: cada aplicación y sus datos se ejecutan en un
ordenador con ausencia total de comunicación con otros
programas o datos
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)
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
17
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
18
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)
19
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
20
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)
21
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
22
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
23
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.
24
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
25
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
26
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
27
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 pF (sC (R))




IF
IF
IF
IF
C=true
C#true
C#true
C=true
AND
AND
AND
AND
F#ATTRS(R) Fragmento vertical
F=ATTRS(R) Fragmento horizontal
F#ATTRS(R) Magmento mixto
F=ATTRS(R) Relación original
28
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
29
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
30
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
31
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)
32
Administración de Bases de Datos
Ventajas y desventajas de las BD distribuidas
 Asignación
Replicación
Completa
Replicación
Parcial
Sin
replicación
Procesamiento
De Consultas
Fácil
Difícil
Difícil
Control de
concurrencia
Difícil
Muy difícil
Fácil
Disponibilidad
de datos
Muy alta
Alta
Baja
33
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
34
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
35
Administración de Bases de Datos
Diseño bottom-up de BDD
Esquema global canónico
integración
Esquema local canónico 1
Esquema local canónico N
traducción
traducción
Esquema local 1
...
Esquema local N
36
Administración de Bases de Datos
Diseño top-down de BDD
Esquema global
Fragmentación
Esquema global fragmentado
Asignación
Esquema local 1
Esquema local N
Diseño físico
Diseño físico
Esquema físico 1
...
Esquema físico N
37
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
38
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 ...
39
Administración de Bases de Datos
Diseño de BDD

Dónde se almacena el catálogo global?
1.
2.
3.
4.
Centralizado: en un único nodo
Totalmente replicado: en cada nodo
Distribuido: en cada nodo se almacena la información
necesaria para el nodo
Combinación de 1) y 3)
40
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
41
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.
42
Administración de Bases de Datos
Procesamiento de consultas
Pregunta inicial
Descomposición de consultas
Esquema global
Pregunta inicial en algebra relacional
Localización de datos
Esquema de fragmentos
Pregunta sobre fragmentos
Optimización global
Estadísticas sobre
fragmentos
Pregunta sobre fragmentos y
operaciones de comunicación
Optimización local
Preguntas locales
Esquema Local
43
Administración de Bases de Datos
Procesamiento de consultas

Descomposición de preguntas


Localización de datos


Determina qué fragmentos están involucrados en la
consulta y la transforma en consulta sobre fragmentos
distribuidos
Optimización global



Transforma la pregunta en otra del álgebra relacional
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
44
Administración de Bases de Datos
Procesamiento de Transacciones


Las transacciones distribuidas deben conservar las
propiedades ACID
Atomicity:


Consistency:


Gestor de restricciones de integridad
Isolation:


Gestor de transacciones y gestor de recuperación
Gestor de control de concurrencia
Durability

Gestor de recuperación
45
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.
46
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.
47
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.
48
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
49
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
50
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
51
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
52
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
53
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
54
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)
55
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


56
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
57
Administración de Bases de Datos
Seguridad en BDD

Autentificación de usuarios remotos
Cualquier 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
58
Administración de Bases de Datos
Clasificación BDD

Grado de homogeneidad

Homogéneas:


Heterogéneas:


si todas los SGBDs locales son del mismo tipo
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
59
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
60
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 ...
61
Administración de Bases de Datos
Clasificación BDD

Sistemas de Bases de Datos Distribuidas (SGBDD)




Sistemas de Bases de Datos Interoperantes (SGBDI)



Formados por BDs no autónomas
Utilizan un esquema global
El esquema global se diseña top-down
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
62
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
63
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
64
Administración de Bases de Datos
Anexo: BDD con Oracle

Cada BD tiene su propio nombre global
SALES.US.AMERICAS.ACME_AUTO.COM
SALES.UK.EUROPE.ACME_AUTO.COM
65
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
66
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
67
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 AS
SELECT * FROM [email protected];
 Replicación (simétrica) avanzada: permite acceso de
lectura/escritura a través de las BDD replicadas.
68
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




69
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
70