Bases de Datos Distribuidas – Unidad 1
- 1 -
Curso:
Base de Datos Distribuidas Unidad 1:
Fundamentos de Sistemas de Base de Datos Distribuidas
M. en C. José Mario Martínez Castro
Chilpancingo, Gro., Febrero del 2007
Bases de Datos Distribuidas – Unidad 1
- 2 -
C O N T E N I D O
1. Fundamentos de bases de datos distribuidas
. Ventajas de las bases de datos distribuidas . Los doce objetivos de una base de datos
distribuidas . Sistema cliente /servidor . Problemas de los sistemas distribuidos . Soporte del SQL
Bases de Datos Distribuidas – Unidad 1
- 3 -
FUNDAMENTOS DE SISTEMAS DE BASES DE DATOS DISTRIBUIDAS
MOTIVACIONES
COMPUTACION DISTRIBUIDA
Un concepto en busca de un nombre y una definición.
Un conjunto de elementos de procesamiento autónomos (no necesariamente homogéneos) que se encuentran interconectados mediante una red de comunicaciones y que cooperan en la ejecución de sus tareas asignadas.
Términos sinónimos:
Función distribuida. Procesamiento distribuido de datos. Procesamiento satelital. Procesamiento dorsal. Computadoras de propósito especial/dedicado. Sistemas de tiempo compartido. Sistema modular funcional.
Tecnología de base de datos
Redes de computadoras
Sistemas de bases de datos
distribuidas
Integración
Integración
Integración ≠ Centralización
Distribución
Bases de Datos Distribuidas – Unidad 1
- 4 -
¿QUE ESTA DISTRIBUIDO?
Lógica de procesamiento. Funciones. Datos. Control.
¿QUE ES UN SISTEMA DE BASE DE DATOS DISTRIBUIDA? Una Base de Datos Distribuida (BDD) es aquella en la que sus datos se encuentran repartidos en varias computadoras que están interconectadas por una red de comunicaciones. Un Sistema Administrador de Bases de Datos Distribuidas (SABDD) es el software que administra la BDD y proporciona un mecanismo de acceso que hace transparente esta distribución a los usuarios.
Sistema de Base de Datos Distribuida (SBDD) = BDD + SABDD ¿QUE NO ES UN SBDD?
Un sistema de cómputo de tiempo compartido. Un sistema multiprocesador fuertemente o débilmente acoplado. Un sistema de base de datos, el cual reside en un solo nodo de la red (esto es una base
de datos centralizada).
SMBD CENTRALIZADAS
SMBD DISTRIBUIDAS
Bases de Datos Distribuidas – Unidad 1
- 5 -
IMPLICITAMENTE SE SUPONE QUE
Los datos están almacenados en diferentes sitios (cada uno de los sitios lógicamente consiste de un procesador).
Los procesadores en diferentes sitios se encuentran interconectados vía una red de comunicaciones (no multiprocesadores).
Sistemas de bases de datos en paralelo. La base de datos distribuida es una base de datos, no una colección de archivos (datos
lógicamente relacionados que son presentados al usuario con un patrón de acceso). Modelo de datos relacional.
Un SABDD es un SABD completo. No es un sistema de archivos distribuidos, ni un sistema TP.
ARQUITECTURA DE MEMORIA COMPARTIDA Ejemplos: Multiprocesadores simétricos (Sequent, Encore) y algunos “mainframes” (IBM 3090, DPS8 de Bull).
Bases de Datos Distribuidas – Unidad 1
- 6 -
ARQUITECTURA DE DISCO COMPARTIDO
Ejemplo: V AXcluster de DEC, IMS/VS de IBM y Data Sharing. ARQUITECTURA CON NADA COMPARTIDO
Ejemplos: DBC de Teradata, Tandem, Paragon de Intel, 3600 y 3700 de NCR. APLICACIONES
Manufactura (especialmente en manufactura multiplanta). Comando y control militar. SIGs corporativos. Aerolíneas. Cadenas hoteleras. Cualquier organización que tenga una estructura organizacional descentra-lizada.
VENTAJAS DE LOS SBDDs.
Razones económicas y organizacionales. Fiabilidad y disponibilidad. Distribución del control y utilización compartida de datos. Reducción de tráfico en la comunicación de datos. Agilización del procesamiento de consultas. Interconexión de bases de datos existentes. Crecimiento incremental.
Bases de Datos Distribuidas – Unidad 1
- 7 -
OBJETIVOS DE LAS BDDs.
Autonomía local. Independencia de un sitio central. Operación continua. Transparencia de lozaclización. Transparencia de fragmentación. Transparencia de repetición. Procesamiento distribuido de consultas. Procesamiento de transacciones distribuidas. Transparencia de “hardware”. Transparencia de sistema operativo. Transparencia de red. Transparencia de SMBD.
DESVENTAJAS DE LOS SBDD
Falta de experiencia. Complejidad. Costo. Distribución del control. Dificultad de cambio.
PROBLEMATICAS EN LOS SABDDs
Diseño de bases de datos distribuidas. • ¿Cómo distribuir la base de datos? • Distribución de la base de datos replicada y no-replicada. • Problema relacionado con la administración del diccionario.
Procesamiento de consultas. • Problema de optimización. • Min {costo = transmisión de datos + procesamiento local}. • La formulación general es un problema NP completo. • Conversión de transacciones de usuario de instrucciones de
manipulación de datos. PROBLEMÁTICA EN EL PROCESAMIENTO DE CONSULTAS
El proceso de optimización de consultas necesita ser distribuido; consta de dos fases: Optimización Global:
o Medios de transmisión. o Distribución de subconsultas.
Bases de Datos Distribuidas – Unidad 1
- 8 -
Optimización local: o Acceso a disco. o Manipulación de memoria. o Uso de índices.
OPCIONES PARA ALMACENAR EL DICCIONARIO
PROBLEMATICAS EN LOS SABDDs
Control de concurrencia. • Sincronización de accesos concurrentes. • Mantenimiento de congruencia y aislamiento de los efectos de las
transacciones. • Manejo de interbloqueo.
Fiabilidad.
• ¿Cómo hacer el sistema resistente a fallas? • Atomicidad y durabilidad.
Bases de Datos Distribuidas – Unidad 1
- 9 -
RELACION ENTRE PROBLEMAS
PROBLEMATICAS RELACIONADAS
Soporte de sistema operativo. Sistema operativo con soporte adecuado para operar bases de datos. Dicotomía entre requerimientos de procesamiento de propósito general
y requerimientos de procesamiento de bases de datos.
Sistemas abiertos e interoperabilidad.
Sistemas multibases se datos. Escenarios con mayor probabilidad. Problemáticas de paralelismo.
PROMESAS DE LOS SABDDs
Manipulación transparente de datos distribuidos, repetidos y fragmentados. Mejora en confiabilidad y disponibilidad por medio de transacciones distribuidas. Mejora en la eficiencia. Expansión de sistemas fácil y económica.
Administración de directorio
Diseño de distribución
Control de concurrencia
Administración de interbloqueo
Procesamiento de consultas
Fiabilidad
Bases de Datos Distribuidas – Unidad 1
- 10 -
SOPORTE DE TRANSPARENCIA
Aún no hay de repetición. Tampoco hay de fragmentación.
o Pudiera venir la fragmentación horizontal. Transparencia de distribución aún limitada.
o Especificar camino. o Manejo de alias. o Login remoto a un SMBD.
La mayoría son múltiples clientes con un solo servidor.
ARQUITECTURA CLIENTE/SERVIDOR Una arquitectura es un conjunto de definiciones, reglas y términos que se emplean para construir un producto. La arquitectura Cliente/Servidor es un tipo de cómputo distribuido y cómputo cooperativo. Las partes que intervienen en esta arquitectura son el cliente (generador de peticiones), el Servidor (ofrece el servicio) y el elemento que enlaza es la red de cómputo. Los actores establecen una comunicación entre pares, o sea de igual a igual, dado que los clientes de una aplicación pueden actuar como servidores de otra.
MODELO CLIENTE/SERVIDOR El usuario interactúa con un cliente.
• Uso de GUI. 3 capas básicas:
• Aplicaciones • Servicios del sistema. • Hardware.
Puede presentarse a nivel servicios del sistema.
Bases de Datos Distribuidas – Unidad 1
- 11 -
VENTAJAS DE LA ARQUITECTURA CLIENTE/SERVIDOR
Permite mejor aprovechamiento de capacidad de cómputo (reparte el trabajo). Reduce el tráfico en la red (viajan solicitudes). Opera bajo sistemas abiertos. Permite el uso de interfaces gráficas versátiles.
DEFINIENDO LOS COMPONENTES
Servidor. Conjunto de software y hardware que responde a los requerimientos de un cliente.
Tipos de Servidores:
Servidor de archivos Servidor de bases de datos. Servidor de comunicaciones. Servidor de impresión. Servidor de Terminal. Servidor de aplicaciones, imágenes, etc.
ACTIVIDADES COMUNES DEL SERVIDOR
Acceso, almacenamiento y organización de datos. Actualización de datos almacenados. Administración de recursos compartidos. Ejecuta toda loa lógica para procesar una transacción. Datos, poder de CPU, almacenamiento en disco, capacidad de impresión, manejo de
memoria, comunicaron, etc. DEFINIENDO LOS COMPONENTES
PROCESO SERVIDOR
SERVICIOS
DEL SITEMA
HARDWARE
PROCESO CLIENTE
SERVICIOS
DEL SITEMA
HARDWARE
Cliente ServidorUsuario
Respuesta
Petición
Bases de Datos Distribuidas – Unidad 1
- 12 -
Cliente. Conjunto de software y hardware que involucra los servicios de uno o varios servidores.
El cliente oculta al servidor y la red. Detecta e interpreta peticiones de la aplicación y puede redireccionarla. Dedicado a la sesión del usuario (inicia … termina). El método más común por el cual solicita los servicios a un servidor es por medio de
RPCs.
ACTIVIDADES COMUNES DEL CLIENTE A NIVEL APLICACIÓN
Mantener y procesar todo el dialogo con el usuario. Manejo de pantallas. Menús e interpretaciones de comandos. Introducción de datos y validación. Procesamiento de ayudas. Recuperación de errores.
DEFINIENDO LOS COMPONENTES
Red de Cómputo. Conjunto de software y hardware que enlaza a los clientes con los servidores. Se clasifican en los siguientes tipos:
Redes de área local (LAN). Redes de área metropolitana (MAN). Redes de área amplia (WAN).
Tecnologías que se pueden aplicar:
Ethernet (10 Mbps). Token Ring (4 o 16 Mbps). FDDI (100 Mbps). CDDI (100 Mbps). ATM (44.736 Mbps). Frame Relay (2.048 Mbps).
ATRIBUTOS DE LA COMUNICACION
El cliente debe localizar e iniciar la comunicación con el servidor (o servidores). No usa la tecnología de compartir archivos. El modelo ejecuta el programa en el servidor y sólo se mandan los resultados de
I/O (tráfico = datos leídos o escritos). Estilo transaccional y cooperativo.
Bases de Datos Distribuidas – Unidad 1
- 13 -
Estilo de base de datos con servidor de archivos compartidos.
Estilo de base de datos con arquitectura cliente/servidor.
TÉCNICAS DE PROCESAMIENTO Y PROTOCOLOS
Llamados a procedimientos remotos (RPC’s). Interacciones SQL cliente/servidor. Memoria compartida. Paso de mensajes (con conexión o sin ella). SPX/IPX. NETBEUI. TCP/IP. Names Pipes. UDP. Sockets.
Bases de Datos Distribuidas – Unidad 1
- 14 -
Llamadas a Procedimientos Remotos (RPC).
Interacción SQL y ODBC
DISTRIBUCION ENTRE CLIENTE Y SERVIDOR
Generalmente tres son los elementos a distribuir entre cliente y servidor:
El manejo de datos. La aplicación. La presentación.
En los extremos se encuentran los casos más frecuentes:
Proceso Cliente
send((x=a, y=b), rpc) receive(c=z, rpc)
Main(){ some code; … call rpc(a,b,c,); … más código; }
Proceso Servidor
receive(x,y,invocador) send(z,invocador)
Procedure rpc(x,y,z){ código que usa x,y; … return(z=result); }
Bases de Datos Distribuidas – Unidad 1
- 15 -
Presentación en el cliente, aplicación y manejo de datos en el servidor.
Presentación y aplicación en el cliente, manejo de datos en el servidor. DESARROLLO DE APLICACIONES CLIENTE/SERVIDOR
Lenguajes de tercera generación (C, COBOL, etc., con las bibliotecas de APIs adecuadas). Lenguajes de cuarta generación (Progress, Oracle, Informix, Sybase, pueden operar con una variedad de BDs con sus controladores correspondientes). Ambientes de desarrollo (incluye repositorio de procedimientos, mensajes de error, mensaje de ayuda, etc., así como herramientas de control de versiones, diseño, desarrollo de prototipos, usuario final, etc.). Líderes en ambientes Windows: Power Builder de PowerSoft y SQL Windows de Centura Software.
Top Related