PresentaciónT2-BasesDeDatosDistribuidas
PresentaciónT2-BasesDeDatosDistribuidas
PresentaciónT2-BasesDeDatosDistribuidas
- Introducción___________________3
01 Consideraciones de diseño______4
01 Consideraciones de diseño______4
02 Niveles de Transparencia______14
02 Niveles de Transparencia______14
03 Fragmentación de Datos________21
03 Fragmentación de Datos________21
04 Distribución de Datos_________26
04 Distribución de Datos_________26
05 Diccionario de Datos__________31
05 Diccionario de Datos__________31
06 Conclusión____________________36
06 Conclusión____________________36
07 Referencias___________________38
07 Referencias___________________38
Introducción
En esta presentación revisaremos los aspectos clave
del Diseño de Bases de Datos Distribuidas, como las
consideraciones de diseño, los niveles de
transparencia para simplificar el acceso a los datos, la
fragmentación y distribución de datos para optimizar
el rendimiento, y la importancia del diccionario de
datos para gestionar la estructura de la base.
01
Diseño de Bases de Datos Distribuidas
Consideraciones
de diseño
¿Qué incluye?
• Modelo de datos
Debe ser cuidadosamente diseñado para reflejar la estructura y las
relaciones de los datos en el sistema distribuido. Esto incluye decidir si
se utilizarán esquemas relacionales, orientados a objetos o basados en
documentos, dependiendo de los requisitos del sistema (Bell, 1992).
Estrategias de Diseño
• Arquitectura del sistema
Se deben considerar diferentes arquitecturas, como la arquitectura
cliente-servidor, la arquitectura de base de datos federada o la
arquitectura basada en middleware. Cada una tiene sus propias ventajas
y desventajas en términos de rendimiento, escalabilidad y complejidad
(Bell, 1992).
Seguridad y Privacidad
• Controles de acceso
Implementar mecanismos de autenticación y autorización para asegurar
que solo los usuarios autorizados puedan acceder a los datos. Esto puede
incluir el uso de políticas de acceso basadas en roles y el cifrado de
contraseñas (Date, 2011).
Seguridad y Privacidad
• Cifrado de datos
Protege los datos durante el tránsito y en reposo mediante técnicas de
cifrado. Esto asegura que los datos no puedan ser leídos o modificados
por usuarios no autorizados (Date, 2001).
Performance y
Escalabilidad
• Optimización de Consultas
Implementar técnicas para mejorar el rendimiento de las consultas,
como el uso de índices, vistas materializadas y particionamiento de
tablas. Esto puede reducir el tiempo de respuesta y mejorar la eficiencia
del sistema (Connolly, 2005).
Performance y
Escalabilidad
• Balanceo de Carga
Distribuir la carga de trabajo entre varios nodos para evitar la sobrecarga
de cualquier nodo individual. Esto puede implicar el uso de algoritmos
de balanceo de carga y técnicas de cache para mejorar la respuesta del
sistema (Connolly, 2005).
02
Niveles de
Transparencia
Niveles de
Transparencia
La transparencia se puede entender como la separación de la
semántica de alto nivel de un sistema de los aspectos de
bajo nivel relacionados a la implementación de este. Un
nivel de transparencia adecuado permite ocultar los detalles
de implementación a las capas de alto nivel de un sistema y
a otros usuarios (I.E.S. San Vicente, s.f.).
Tipos de Transparencia
Localización Fragmentación
Replicación Acceso
Transparencia de
Localización
• Métodos de Implementación
Utilizar servicios de descubrimiento de servicios y enrutamiento de
consultas para ocultar la ubicación física de los datos. Los usuarios
envían solicitudes sin saber en qué nodo se encuentran los datos, y el
sistema se encarga de dirigir la solicitud al nodo correcto (Connolly,
2005).
Transparencia de
Replicación
• Protocolos de Replicación
Implementar protocolos para garantizar que todas las copias de los datos
estén sincronizadas. Esto incluye técnicas de replicación síncrona y
asíncrona, cada una con sus propios beneficios y compromisos en
términos de consistencia y rendimiento (Rob, 2004).
Transparencia de
Fragmentación
• Esquemas de fragmentación
Diseñar esquemas de fragmentación que permitan al sistema manejar la
distribución de datos de manera eficiente. Esto incluye la planificación
de cómo los datos se dividen y se distribuyen entre los nodos para
optimizar el rendimiento (Date, 2001).
Transparencia de
Acceso
• Interfaces Uniformes
Proporcionar una interfaz de usuario que permita el acceso a los datos
sin preocuparse por la complejidad del sistema subyacente. Esto puede
incluir el uso de consultas SQL estándar y API de acceso a datos
(LIHectorTorres, 2010).
03
Fragmentación de
Datos
¿Qué es?
La fragmentación es un tipo de partición distribuida e
independiente, a menudo asociada con el escalamiento en
múltiples servidores o nodos. Ambos implican dividir un
conjunto de datos grande en piezas más pequeñas y
manejables, pero la diferencia clave radica en sus objetivos y
en la escala a la que operan (Pure Storage, s.f.).
Fragmentación
Horizontal
Divide una tabla en subtablas basadas en un subconjunto de
las filas. Por ejemplo, una tabla de empleados puede ser
fragmentada horizontalmente para almacenar empleados de
diferentes departamentos en diferentes fragmentos
(Marqués, 2001; UV, 2017).
Fragmentación
Vertical
Divide una tabla en subtablas basadas en un subconjunto de
las columnas. Por ejemplo, una tabla de productos puede
ser fragmentada verticalmente para almacenar información
básica en una subtabla y detalles extensivos en otra. (Rob,
2004; LIHectorTorres, 2010).
Fragmentación Mixta
Combina fragmentación horizontal y vertical para optimizar
aún más la distribución y el acceso a los datos. Este
enfoque permite una mayor flexibilidad y puede adaptarse
mejor a patrones de acceso específicos y a las necesidades
del sistema (Connolly, 2005; IESSanVicente, n.d.).
04
Distribución de
Datos
¿Qué es?
La distribución de datos implica la creación de copias de
datos para su diseminación entre dos o más geodatabases o
servicios. La distribución de datos mejora su
disponibilidad y soluciona problemas como la contención
del servidor y el acceso lento a través de la red a un
servidor central.
Basada en
Fragmentación
Los fragmentos de datos se colocan en diferentes nodos
según criterios específicos, como la carga del nodo o la
ubicación geográfica. Esto permite una mejor gestión
del rendimiento y asegura que los datos estén cerca de
los usuarios que los necesitan (Date, 2001; ITPN, n.d.).
Estrategias
Diccionario de
Datos
Definición
Conclusión
Conclusión
El diseño de bases de datos distribuidas permite
gestionar datos eficientemente en múltiples
ubicaciones. Una correcta implementación de la
fragmentación, distribución y niveles de transparencia
es clave para asegurar el rendimiento y la seguridad.
Además, el uso del diccionario de datos facilita la
administración del sistema, contribuyendo al éxito en
entornos organizacionales distribuidos.
07
Referencias
Referencias
Bell, D. (1992). Distributed database systems. Addison-Wesley.