Curso: Base de Datos Distribuidas. Unidad 1: Fundamentos de Sistemas de Base de Datos Distribuidas. M. en C. José Mario Martínez Castro



Documentos relacionados
Capítulo 5. Cliente-Servidor.

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

Introducción a las redes de computadores

SISTEMAS DE INFORMACIÓN II TEORÍA

Sistemas de Información Introducción a los Sistemas de Información: El Modelo Cliente/Servidor

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

Tema 1. Conceptos básicos

Arquitectura de sistema de alta disponibilidad

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

BASES DE DATOS DISTRIBUIDAS MIS

Unidad I Fundamentos de Sistemas Distribuidos. M.C. Juan Carlos Olivares Rojas

1.1.- Objetivos de los sistemas de bases de datos Administración de los datos y administración de bases de datos Niveles de Arquitectura

Infraestructura Tecnológica. Sesión 5: Arquitectura cliente-servidor

CAPÍTULO 3. Bases de datos distribuidas

Redes I Clase # 3. Licda. Consuelo E. Sandoval

Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos. Unidad didáctica 1: Fase de análisis de requisitos Modelo E/R

1 EL SISTEMA R/3 DE SAP AG

1. Introducción 2. Historia 3. Características clave 4. Cuestiones de diseño

CAPITULO 9. Diseño de una Base de Datos Relacional Distribuida

Bases de Datos Distribuidas: Arquitectura Cliente/Servidor

INTRODUCCION. Ing. Camilo Zapata Universidad de Antioquia

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

Asignación de Procesadores

2.1 Multibase. Información mas detallada sobre este sistema se encuentra en [Ceri y Pelagatti 1985].

Tema 1. Conceptos fundamentales de los Sistemas Operativos

Familia de Windows Server 2003

CAPÍTULO 2 Sistemas De Base De Datos Multiusuarios

Centro Universitario de Ciencias Exactas e Ingenierías DIVISION DE ELECTRONICA Y COMPUTACION

Vicente Toledo Israel Miralles. Base de Datos Distribuidas

Arquitectura Cliente/Servidor

Componentes de Integración entre Plataformas Información Detallada

Sistemas Multimedia Distribuidos. Juan A. Sigüenza Departamento de Ingeniería Informática UAM

Nombre del documento: Programa de Estudio de asignatura de Especialidad. Referencia a la Norma ISO 9001: Página 1 de 6

BASES DE DATOS TEMA 2. Arquitectura de un Sistema de Gestión de Bases de Datos

Fundamentos de Bases de Datos Distribuidas

Dr. Víctor Jesús Sosa Sosa. Contenido C U R S O. Expositor: M.C. Víctor J. Sosa Sosa. M.C. Víctor J. Sosa Sosa

ELEMENTO I INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS

Utilidades de la base de datos

CAPITULO 8. Planeamiento, Arquitectura e Implementación

TEMA: Las Redes. NOMBRE Torres Castillo Ana Cristina. PROFESOR: Genaro Israel Casas Pruneda. MATERIA: Las TICS en la educación.

UNIVERSIDAD TECNOLOGICA ECOTEC DIEGO BARRAGAN MATERIA: Sistemas Operativos 1 ENSAYO: Servidores BLADE

Servidores corporativos Linux

UNIVERSIDAD DE ORIENTE FACULTAD DE ICIENCIAS ECONOMICAS LAS REDES I. Licda. Consuelo Eleticia Sandoval

serra Access y SQL Server Qué es mejor en cada caso? Valentín Playá, Serra GTS 22 de enero de 2009 Bases de datos 1

Bases de Datos Distribuidas

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades

Anexo 4 Documento de Arquitectura

Autenticación Centralizada

CAPITULO 3 MOVILIDAD EN LA NAVEGACIÓN Y ALMACENAMIENTO EN BASES DE DATOS

Arquitectura: Clusters

Introducción. Sistemas Operativos. Pedro Chávez Lugo 23 de marzo de 2010

Gestión y Administración de proyectos

TEMA 3 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ 2 3. PROCESAMIENTO DE CONSULTAS DISTRIBUIDAS

Redes de Altas Prestaciones

Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa.

FUNDAMENTOS DE REDES Y CONECTIVIDAD REDES INFORMATICAS

Peer-to-Peer (Punto a Punto) Cliente-Servidor

Plataforma de expediente

Windows Server Windows Server 2003

INTRODUCCIÓN. Que es un sistema operativo? - Es un programa. - Funciona como intermediario entre el usuario y los programas y el hardware

GENERALIDADES DE BASES DE DATOS

1.- FUNCION DE UNA RED INFORMATICA

Sistemas Operativos Windows 2000

Introducción. Bases de Datos Distribuidas. Características de las BDD. Introducción (II) Tema VI. Sitio BDD. BD local

Tema 1. Arquitectura Cliente/Servidor

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Qué es una base de datos?

Figura 4.1 Clasificación de los lenguajes de bases de datos

Estructura de Bases de datos. Leonardo Víquez Acuña

CAPÍTULO 3 DISEÑO DE LA ARQUITECTURA


SISTEMAS DE INFORMACIÓN I TEORÍA

BASE DE DATOS Heterogéneas

Fundamentos de Redes LI. Unidad III Modelos de Comunicaciones 3.1 Modelo de referencia OSI.

Rede de área local (LAN)

UNIVERSIDAD ESTATAL DE MILAGRO

Carrera: Clave de la asignatura: SATCA: 2-2-4

PORTAFOLIO DE SERVICIOS DE GESTION IT

PLAN DE TRABAJO CAPACITACION TECNICA ACADEMUSOFT

Introducción a los sistemas de Bases de datos. Profesor: Msc. MIGUEL ANGEL NIÑO ZAMBRANO

Sistemas de archivos distribuidos. Alvaro Ospina Sanjuan

SIEWEB. La intranet corporativa de SIE

Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa.

unidad redes de computadoras

Unidad 1: Conceptos generales de Sistemas Operativos.

Memoria Compartida Distribuida (DSM) Sistema de Archivos

INDICE. Prefacio Parte 1: sistemas operativos tradicionales

mope PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS Página 0 PASEO GENERAL MARTINEZ CAMPOS MADRID info@mope.

ENCUENTA - CONTABILIDAD Net. Definiciones generales

General Parallel File System

Unidad I. 1. Introducción. Equipo (PC) Sistema Operativo. Red de PC s. Sistema Operativo de Red. Compartir Recursos Habilitar Usuarios.

TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software.

Integración de sistemas de información: Factores tecnológicos, organizativos y estratégicos

4. Programación Paralela

Redes de Área Local. Conceptos Básicos

Redes de Área Local. Contenido. Conceptos Básicos

Módulos: Módulo 1. Hardware & Arquitectura de sistemas - 20 Horas

Análisis y diseño del sistema CAPÍTULO 3

ESCUELA NORMAL PROF. CARLOS A CARRILLO

Modelos de los sistemas distribuidos. Jorge Iván Meza Martínez

Transcripción:

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-1 -

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 - 2 -

FUNDAMENTOS DE SISTEMAS DE BASES DE DATOS DISTRIBUIDAS MOTIVACIONES Tecnología de base de datos Integración Redes de computadoras Distribución Sistemas de bases de datos distribuidas Integración Integración Centralización 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. - 3 -

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 S MBD DISTRIBUIDAS - 4 -

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). - 5 -

ARQUITECTURA DE DISCO COMPARTIDO Ejemplo: V AXcluster de DEC, IMS/VS de IBM y Data Sharing. ARQUITECTURA CON NADA COMPARTIDO Ejem plos: 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. - 6 -

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. - 7 -

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. - 8 -

RELACION ENTRE PROBLEMAS Administración de directorio Procesamiento de consultas Diseño de distribución Fiabilidad Control de concurrencia Administración de interbloqueo 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. - 9 -

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. - 10 -

PROCESO CLIENTE SERVICIOS DEL SITEMA HARDWARE Petición Respuesta PROCESO SERVIDOR SERVICIOS DEL SITEMA HARDWARE Usuario Cliente Servidor 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 - 11 -

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. - 12 -

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. - 13 -

Llamadas a Procedimientos Remotos (RPC). Proceso Cliente Main(){ some code; call rpc(a,b,c,); más código; } send((x=a, y=b), rpc) receive(c=z, rpc) Proceso Servidor receive(x,y,invocador) Procedure rpc(x,y,z){ código que usa x,y; return(z=result); } send(z,invocador) 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: - 14 -

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. - 15 -