UNIDAD 2 DISEÑO DE LAS BASES DE DATOS DISTRIBUIDAS
1. UNIDAD 2 DISEÑO DE LAS BASES
DE DATOS DISTRIBUIDAS
Profesor : Mario Alberto Vargas Moreno
Sandra Cecilia Romero Chávez
Adriana de Luna Santillán
Luis Jesús López Cervantes
Luis Eduardo Sánchez de Loera
2. 2.1 Consideraciones de diseño
de bases de datos distribuidas.
Considerar:
1 Autonomía local
• Los nodos o localidades deben ser
independiente entre ellos.
• Características de cada nodo
– Tienen su propio Sistema de gestión de bases
de datos
– DBMS controla todos los aspectos ligados a él
– Las operaciones de acceso a datos locales
utilizan solo recursos locales
– Hay cooperación entre los nodos para el
acceso distribuido de datos.
2
3. Bases de Datos Distribuidas
2 No es necesario un sitio central
• Todos los sitios/nodos deben ser tratados
como iguales
• De existir un sitio central, sería cuello de
botella
• De existir un sitio central, el sistema sería
vulnerable, porque una falla haría fallar todo el
sistema
3
4. Bases de Datos Distribuidas
3 Operación continua
• Un sistema BDD no requiere estar nunca fuera
de servicio
• Debe proporcionar mayor confiabilidad y mayor
disponibilidad
• Se requiere
– Soporte para backups on line, total o incremental
– Soporte para recuperaciones rápidas de BD
– Soporte de DBMS tolerante a fallos (con hardware
acorde)
4
5. Bases de Datos Distribuidas
4 Independencia de ubicación
de datos
• Los usuarios y las aplicaciones no
tienen que conocer la ubicación
física de los datos. Actúan como si
fuesen locales a ellos.
• Sin transparencia local deberían
distinguirse los datos locales de los
remotos.
• Simplifica los programas de usuario 5
6. Bases de Datos Distribuidas
5 Independencia de Fragmentación de datos
– Fragmentación
– La fragmentación es necesaria por razones de rendimiento.
– Los usuarios deben comportarse como si los datos no
estuvieran fragmentados
– Los datos pueden estar almacenados en la ubicación donde
son usados más frecuentemente para que la mayoría de las
operaciones sean locales y se reduzca el tráfico de la Red
6
7. Bases de Datos Distribuidas
6 Independencia de la Replicación de
datos
Replicación
– Mejor rendimiento: las aplicaciones operan
sobre copias locales en vez de comunicarse
con sitios remotos
– Mejor disponibilidad: un objeto replicado
esta disponible mientras haya al menos una
copia
– Desventaja: propagar las actualizaciones
– El usuario debe comportarse como si los
datos no estuvieran replicados
7
8. Bases de Datos Distribuidas
7 Procesamiento de consultas distribuidas
– El rendimiento de una consulta debe ser
independiente del sitio donde se realiza la
consulta
– Se debe maximizar la optimización de consultas
8
9. Bases de Datos Distribuidas
8 Administración de transacciones
distribuidas
– Debe mantenerse la atomicidad de
las transacciones
– Control de recuperación de
información
– Control de concurrencia
– Protocolos utilizado para preservar
la atomicidad: dos fases o tres fases
más conocidos.
9
10. Bases de Datos Distribuidas
9 Independencia de hardware
– Es necesario tener la posibilidad de
ejecutar el mismo DBMS en diferentes
plataformas de Hardware
10
11. Bases de Datos Distribuidas
10 Independencia del SO
Es necesario tener la posibilidad de ejecutar el
mismo DBMS en diferentes SO
11 Independencia del DBMS
Todos los DBMS en sitios distintos deben soportar la
misma interface
11
12. Bases de Datos Distribuidas
12 Denominación de elementos
– Como asegurar nombre únicos entre
localidades
• Asignador de nombres central
• Cada localidad agrega como prefijo su nombre
12
13. Bases de Datos Distribuidas
13 Procesamiento de consultas
– Aspectos
• Costos de transmisión de datos por la red
• Ganancia potencial ante la posibilidad de utilizar
paralelismo en la consulta
• Existen diversas posibilidades para el desarrollo de las
consultas en BDD, el desarrollo de las mismas depende
de la ubicación de los datos y del tipo de consulta.
13
14. Bases de Datos Distribuidas
14 Transacciones distribuidas
– El coordinador actúa como centro durante la vida de la
transacción.
– Deben preservar ACID
• Autonomía
• Consistencia
• Isolation (aislamiento)
• Durabilidad
– Se complica con transacciones globales, el fallo puede estar
en varios lugares
– Cuando una transacción se genera y se determina que es
global se subdivide y cada copia es gestionada en cada
localidad. ESTO PRESERVA LA AUTONOMÍA
14
15. Bases de Datos Distribuidas
15 Arquitectura del sistema
– Gestor de transacciones: encargado local de la
transacción.
• El gestor de transacciones preserva la
autonomía de cada localidad, (una transacción
es gestionada en cada localidad por el gestor
de la misma).
– Coordinador de transacciones: coordina la
ejecución de la transacción generada localmente.
Actua como centro durante la vida de la
transacción.
15
16. 2.2. Diccionario de Datos
El diccionario de datos es
un conjunto de tablas de
solo lectura y vistas que
registra, verifican y
proveen información.
El diccionario de datos
describe la base de datos y
sus objetos.
16
17. Bases de Datos Distribuidas
Un diccionario de datos es un conjunto de
metadatos que contiene las características
lógicas de los datos que se van a utilizar en
el sistema que se programa, incluyendo
nombre, descripción, alias, contenido y
organización.
17
18. Bases de Datos Distribuidas
Estos diccionarios se desarrollan durante
el análisis de flujo de datos y ayuda a los
analistas que participan en la
determinación de los requerimientos del
sistema, su contenido también se emplea
durante el diseño del proyecto.
18
19. Bases de Datos Distribuidas
Los elementos más importantes son
flujos de datos, almacenes de datos y
procesos. El diccionario de datos guarda
los detalles y descripción de todos estos
elementos.
19
20. Bases de Datos Distribuidas
Ejemplo:
Nombre = Título + Primer_nombre + Apellido_paterno +
Apellido_materno
Título = [ Sr | Sra | Dr | Ing]Primer_nombre =
{carácter}Apellido_paterno = {carácter}
Apellido_materno = {carácter}
Carácter = [A-Z|a-z| |’] a
20
21. Bases de Datos Distribuidas
Razones para su utilización:
1. Para manejar los detalles en sistemas muy
grandes, ya que tienen enormes cantidades
de datos, aun en los sistemas más chicos
hay gran cantidad de datos. Los sistemas al
sufrir cambios continuos, es muy difícil
manejar todos los detalles.
21
22. Bases de Datos Distribuidas
2. Para asignarle un solo significado a
cada uno de los elementos y
actividades del sistema.
22
23. Bases de Datos Distribuidas
3. Para documentar las características
del sistema, incluyendo partes o
componentes así como los aspectos
que los distinguen.
También es necesario saber bajo que
circunstancias se lleva a cabo cada
proceso y con que frecuencia ocurren.
23
24. Bases de Datos Distribuidas
4. Para facilitar el análisis de los detalles
con la finalidad de evaluar las
características y determinar donde
efectuar cambios en el sistema.
5. Determina si son necesarias nuevas
características o si están en orden los
cambios de cualquier tipo. Se abordan
las características:
24
25. Bases de Datos Distribuidas
5. Localizar errores y omisiones en el
sistema, detectan dificultades, y las
presentan en uniforme. Aun en los
manuales, se revelan errores.
25
26. Conclusión
El diccionario de datos, se aplica para
la examinación de los diagramas de
flujos de datos y a su vez registra
detalles adicionales dentro del flujo de
un sistema.
26