Arquitectura de sistemas de bases de datos

Slides:



Advertisements
Presentaciones similares
Arquitectura Cliente Servidor
Advertisements

Essential Skills for Digital Literacy
Arquitectura Avanzada Profesor: Juan José Muñoz Bussi Alumno: Iván Kuschevatzky 2° Cuatrimestre
Base de Datos Distribuidas FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS
Configuración del acceso a Internet en una red
Hardware.
Aplicación informática. formando parte de una red. pone sus recursos a disposición de las demás computadoras(clientes) de la red. Maneja información.
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
Término que se le da al conjunto de equipos de cómputo que se encuentran conectados entre si por medio de dispositivos físicos que envían y reciben -
Transferencia o distribución de archivos entre iguales (peer-to-peer).
Red de computadoras  Una red de computadoras, también llamada red de ordenadores o red informática, es un conjunto de equipos informáticos conectados.
Redes I Unidad 1.
P2P Figueroa Miranda Adán Alberto García Velasco Karla Elisa Daniela
Arquitecturas de Sistemas de BD
S.O. Multiusuario, red. Servicio: Cliente/Servidor, p2p
SISTEMAS OPERATIVOS DE RED
TRANSFERENCIA O DISTRIBUCIÓN DE ARCHIVOS ENTRE IGUALES (PEER-TO-PEER).
P2P (peer-to-peer) Migule Ángel Azorín
MOTORES DE BASE DE DATOS
Recursos que se comparten en una red
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
Estructura de una red: La topología de red define la estructura de una red. Una parte de la definición topológica es la topología física, que es la disposición.
ELEMENTOS DE UNA RED ( Parte I)
DIAGRAMA DE MAIN BOARD Jasbleidy González Murillo Nº 12
Karen Morales Castañeda # 20 Angélica Suarez Henao # 29.
Bases de datos Distribuidas ITES de la región carbonífera 1 Bases de datos distribuidas.
Tipos de Conectores de PC
OMAR SANCHEZ ROBLES HECTOR PEREZ GARCIA. “Sistemas de cómputo compuesto por un gran número de CPU´s conectados mediante una red de alta velocidad”, Tanenbaum.
Redes II M. C. Nancy Aguas García. Redes Planeación Análisis y Diseño Instalación Evaluación Administración de software Mantenimiento de hardware.
Hardware. Roberto Sanz..
TEMA 2 : Redes Profesores: Paloma Fuencisla.
¿Qué es un sistema operativo?
¿Qué unidades conforman el procesador?
BASES DE DATOS DISTRIBUIDAS
UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO MODULO IV ADMINISTRACIÓN DE BASES DE DATOS Servidor de la Base de Datos E.I. L.E. Prof. Ramón Castro Liceaga SEMINARIO.
ARQUITECTURA DE LOS SISTEMAS DE BASES DE DATOS
“Evolución en la Construcción de Sistemas Distribuidos” Rogelio Ferreira Escutia.
1.1 Silberschatz, Galvin y Gagne ©2002 Sistems Operativos – 6ta. Edición Capítulo 1: Introducción ¿Qué es un sistema operativo? Sistemas Operativos por.
Escuela Normal “Profr. Darío Rodríguez Cruz”
Placa base: La placa base, también conocida como placa madre o tarjeta es una placa de circuito impreso a la que se conectan los componentes que.
Wendy Nayely Arteaga Suaza María Alejandra Bedoya Arias.
¿Qué es un puerto? Un puerto es la conexión entre dispositivos, que permite conectar físicamente distintos tipos de dispositivos como monitores, impresoras,
Al igual que un equipo no puede trabajar sin un sistema operativo, una red de equipos no puede funcionar sin un sistema operativo de red. Si no se dispone.
Saltar a la primera página Esquemas de procesamiento Definen la forma en que se efectúan los procesos dentro de los equipos de cómputo n Esquema centralizado.
Conceptos Básicos de Internet Taller #2. Renato Del Campo. Prof. Ericka Ascencio.
Direccion IP: es un código compuesto por cuatro números.
Sistemas distribuidos Expositores Carlos Javier. ¿Que es un sistema distribuido? ¿Que es un sistema distribuido?
Beatriz Adriana Sabino Moxo
INSTALACIÓN Y ADMINISTRACIÓN DE REDES DE ÁREA LOCAL
ESTRUCTURA DE LAS REDES
Componentes de LAN.. Servidor. Es el ordenador principal de la red q soporta el sistema gestor de la misma proporcionando todos los servicios a los conectados.
INTEGRANTES: ONEIDA OSORIO VILLA, JUAN CAMILO SÁNCHEZ BAENA, JOANNA SÁNCHEZ, LUISA VILLA, JIMMY MORALES, BRIAM ZAMBRANO.
Bases de Datos II BASES DE DATOS DISTRIBUIDAS
A RQUITECTURA DE SOFTWARE. CLIENTE-SERVIDOR Esta arquitectura consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor)
“Internet facilita la información adecuada, en el momento adecuado, para el propósito adecuado”. (Bill Gates).
REDES DE CÓMPUTO. Una red básica involucra una serie de componentes, tanto de hardware como de software. A) HARDWARE DE RED.- Son todos los componentes.
Hipertexto Transfer Protocol o HTTP: define la sintaxis y la semántica que utilizan los elementos de software de la arquitectura web (clientes, servidores,
Servidores. ¿Qué es un servidor? Servidor de Aplicación Servidor de impresión Servidor de base de datos Servidor de correo Servidor de Internet Servidor.
RED INFORMATICA Y BENEFICIOS RED INFORMATICA Una red es un sistema donde los elementos que lo componen (por lo general ordenadores) son autónomos y están.
REDES. TELEMÁTICA = Telecomunicaciones + Informática Disciplina Emisores - Receptores Canal (Transmisión de Datos) Comunicación (Distante)
- Medio que nos permite intercambiar información entre dos o más computadoras. -
Hardware. Mas preciso. Soporta mas tareas complejas. Permite sustituir componentes. SERVIDOR Computador que forma parte de una red y brinda servicios.
Michael Ángelo De Lancer Franco Administrando recursos de red en Windows 2008 efectivamente los recursos de una red son todas las cosas que.
Clasificación de los dispositivos periféricos.
 Definir conceptos fundamentales de las BDD como DTM y DBMS.  Conocer el esquema actual de la Base de datos de la UNACH.  Analizar cuándo utilizar.
Conociendo el modelo Cliente-Servidor
Sistemas Distribuidos Conceptos Básicos Propiedades MSI. Nancy A. Olivares Ruiz.
Conjunto de elementos físicos y lógicos que proporcionan interconexión en un área privada y restringida. Por tanto, tiene entre otras las siguientes.
Cliente servidor Topología Bus Topología Estrella.
Transcripción de la presentación:

Arquitectura de sistemas de bases de datos ING. MARCO ZARATE Arquitectura de sistemas de bases de datos

Sistemas de bases de datos cliente-servidor. Sistemas de bases de datos paralelos Sistemas distribuidos de bases de datos La arquitectura de un sistema de bases de datos está influenciada en gran medida por el sistema informático subyacente en el que se ejecuta, en particular por aspectos de la arquitectura de la computadora como la conexión en red, el paralelismo y la distribución:

ARQUITECTURAS CENTRALIZADAS Y CLIENTE-SERVIDOR Sistemas Centralizados Bus comun para todos los controladores Discos duros Impresoras Controladores de video Sistema Monousuario Sistema Multiusuario Los sistemas de bases de datos centralizados son aquellos que se ejecutan en un único sistema informático sin interaccionar con ninguna otra computadora. Tales sistemas comprenden el rango desde los sistemas de bases de datos monousuario ejecutándose en computadoras personales hasta los sistemas de bases de datos de alto rendimiento ejecutándose en grandes sistemas. Por otro lado, los sistemas cliente-servidor tienen su funcionalidad dividida entre el sistema servidor y múltiples sistemas clientes.

ARQUITECTURAS CENTRALIZADAS Y CLIENTE-SERVIDOR Sistemas Cliente-Servidor la parte visible al usuario y el sistema subyacente El sistema subyacente gestiona el acceso a las estructuras, la evaluación y optimización de consultas, el control de concurrencia y la recuperación. La parte visible al usuario de un sistema de base de datos está formado por herramientas como formularios, diseñadores de informes y facilidades gráficas de interfaz de usuario. La interfaz entre la parte visible al usuario y el sistema subyacente puede ser SQL o una aplicación. Las normas como ODBC y JDBC, se desarrollaron para hacer de interfaz entre clientes y servidores. Cualquier cliente que utilice interfaces ODBC o JDBC puede conectarse a cualquier servidor que proporcione esta interfaz.

ARQUITECTURAS DE SISTEMAS SERVIDORES Servidores de transacciones Sistemas servidores de datos Los sistemas servidores de transacciones, también llamados sistemas servidores de consultas, proporcionan una interfaz a través de la cual los clientes pueden enviar peticiones para realizar una acción que el servidor ejecutará y cuyos resultados se devolverán al cliente. Normalmente, las máquinas cliente envían las transacciones a los sistemas servidores, lugar en el que estas transacciones se ejecutan, y los resultados se devuelven a los clientes que son los encargados de visualizar los datos. Las peticiones se pueden especificar utilizando SQL o mediante la interfaz de una aplicación especializada. Los sistemas servidores de datos permiten a los clientes interaccionar con los servidores realizando peticiones de lectura o modificación de datos en unidades tales como archivos o páginas. Por ejemplo, los servidores de archivos proporcionan una interfaz de sistema de archivos a través de la cual los clientes pueden crear, modificar, leer y borrar archivos. Los servidores de datos de los sistemas de bases de datos ofrecen muchas más funcionalidades; soportan unidades de datos de menor tamaño que los archivos, como páginas, tuplas u objetos. Proporcionan facilidades de indexación de los datos, así como facilidades de transacción de modo que los datos nunca se quedan en un estado inconsistente si falla una máquina cliente o un proceso

Estructura de procesos del servidor de transacciones Procesos servidor Proceso gestor de bloqueos Proceso escritor de bases de datos Proceso escritor del registro Proceso punto de revisión Proceso monitor de proceso • Procesos servidor: son procesos que reciben consultas del usuario (transacciones), las ejecutan, y devuelven los resultados. Las consultas deben enviarse a los procesos servidor desde la interfaz de usuario, o desde un proceso de usuario que ejecuta SQL incorporado, o a través de JDBC, ODBC o protocolos similares. Algunos sistemas de bases de datos utilizan un proceso distinto para cada sesión de usuario, y algunas utilizan un único proceso de la base de datos para todas las sesiones del usuario, pero con múltiples hebras de forma que se pueden ejecutar concurrentemente múltiples consultas. (Una hebra es como un proceso, pero varias hebras se ejecutan como parte del mismo proceso, y todas las hebras dentro de un proceso se ejecutan en el mismo espacio de memoria virtual. Dentro de un proceso se pueden ejecutar concurrentemente múltiples hebras.) Algunos sistemas de bases de datos utilizan una arquitectura híbrida, con procesos múltiples, cada uno de ellos con varias hebras. • Proceso gestor de bloqueos: este proceso implementa una función de gestión de bloqueos que incluye concesión de bloqueos, liberación de bloqueos y detección de interbloqueos. • Proceso escritor de bases de datos: hay uno o más procesos que vuelcan al disco los bloques de memoria intermedia modificados de forma continua. • Proceso escritor del registro: este proceso genera entradas del registro en el almacenamiento estable a partir de la memoria intermedia del registro. Los procesos servidor simplifican la adición de entradas a la memoria intermedia del registro en memoria compartida y, si es necesario forzar la escritura del registro, le piden al proceso escritor del registro que vuelque las entradas del registro. • Proceso punto de revisión: este proceso realiza periódicamente puntos de revisión. • Proceso monitor de proceso: este proceso observa otros procesos y, si cualquiera de ellos falla, realiza acciones de recuperación para el proceso, tales como cancelar cualquier transacción que estuviera ejecutando el proceso fallido, y reinicia el proceso.

Servidores de datos Caché de datos Caché de bloqueos Envío de páginas o envío de elementos Bloqueo Caché de datos Caché de bloqueos • Envío de páginas o envío de elementos. La unidad de comunicación de datos puede ser de grano grueso, como una página, o de grano fino, como una tupla (o, en el contexto de los sistemas de bases de datos orientados a objetos, un objeto). Se usará el término elemento para referirse tanto a tuplas como a objetos. Si la unidad de comunicación de datos es un único elemento, la sobrecarga por la transferencia de mensajes es alta comparada con el número de datos transmitidos. En vez de hacer esto, cuando se necesita un elemento, cobra sentido la idea de enviar junto a aquél otros elementos que probablemente vayan a ser utilizados en un futuro próximo. Se denomina preextracción a la acción de buscar y enviar elementos antes de que sea estrictamente necesario. Si varios elementos residen en un página, el envío de páginas puede considerarse como una forma de preextracción, ya que, cuando un proceso desee acceder a un único elemento de la página, se enviarán todos los elementos de esa página. • Bloqueo. La concesión del bloqueo de los elementos de datos que el servidor envía a los clientes la realiza habitualmente el propio servidor. Un inconveniente del envío de páginas es que los clientes pueden recibir bloqueos de grano grueso: el bloqueo de una página bloquea implícitamente a todos los elementos que residan en ella. El cliente adquiere implícitamente bloqueos sobre todos los elementos preextraídos incluso aunque no esté accediendo a algunos de ellos. De esta forma, puede detenerse innecesariamente el procesamiento de otros clientes que necesiten bloquear esos elementos. Se han propuesto algunas técnicas para la liberación de bloqueos en las que el servidor puede pedir a los clientes que le devuelvan el control sobre los bloqueos de los elementos preextraídos. Si el cliente no necesita el elemento preextraído puede devolver los bloqueos sobre ese elemento al servidor para que éstos puedan ser asignados a otros clientes. • Caché de datos. Los datos que se envían al cliente en favor de una transacción se pueden alojar en una caché del cliente incluso una vez completada la transacción, si dispone de suficiente espacio de almacenamiento libre. Las transacciones sucesivas en el mismo cliente pueden hacer uso de los datos en caché. Sin embargo, se presenta el problema de la coherencia de caché: si una transacción encuentra los datos en la caché, debe asegurarse de que esos datos están al día, ya que, después de haber sido almacenados en la caché, pueden haber sido modificados por otro cliente. Así, debe establecerse una comunicación con el servidor para comprobar la validez de los datos y poder adquirir un bloqueo sobre ellos. • Caché de bloqueos. Los bloqueos también pueden ser almacenados en la memoria caché del cliente si la utilización de los datos está prácticamente dividida entre los clientes, de manera que un cliente rara vez necesita datos que están siendo utilizados por otros clientes. Supóngase que se encuentran en la memoria caché tanto el elemento de datos que se busca como el bloqueo requerido para acceder al mismo. Entonces, el cliente puede acceder al elemento de datos sin necesidad de comunicar nada al servidor. No obstante, el servidor debe seguir el rastro de los bloqueos en caché; si un cliente solicita un bloqueo al servidor, éste debe comunicar a todos los bloqueos sobre el elemento de datos que se encuentren en las memorias caché de otros clientes. La tarea se vuelve más complicada cuando se tienen en cuenta los posibles fallos de la máquina. Esta técnica se diferencia de la liberación de bloqueos en que la caché de bloqueo se realiza a través de transacciones; de otra forma, las dos técnicas serían similares.

SISTEMAS PARALELOS Productividad Tiempo de Respuesta Una máquina paralela de grano grueso consiste en un pequeño número de potentes procesadores; una máquina masivamente paralela o de grano fino utiliza miles de procesadores más pequeños. (1) la productividad, número de tareas que pueden completarse en un intervalo de tiempo determinado, y (2) el tiempo de respuesta, cantidad de tiempo que necesita para completar una única tarea a partir del momento en que se envíe.

Sistema paralelos Ganacia de velocidad y ampliabilidad ampliabilidad por lotes ampliabilidad de transacciones Costes de inicio Interferencia. Sesgo. La ganancia de velocidad se refiere a la ejecución en menos tiempo de una tarea dada mediante el incremento del grado de paralelismo. La ampliabilidad se refiere al manejo de transacciones más largas mediante el incremento del grado de paralelismo. • En la ampliabilidad por lotes aumenta el tamaño de la base de datos, y las tareas son trabajos más largos cuyos tiempos de ejecución dependen del tamaño de la base de datos. • En la ampliabilidad de transacciones aumenta la velocidad con la que se envían las transacciones a la base de datos y el tamaño de la base de datos crece proporcionalmente a la tasa de transacciones. La ampliabilidad es normalmente el factor más importante para medir la eficiencia de un sistema paralelo de bases de datos.

Sistemas Paralelos Redes de Conexion • Bus. Todos los componentes del sistema pueden enviar o recibir datos de un único bus de comunicaciones. El bus puede ser una red Ethernet o una interconexión paralela. Malla. Los componentes se organizan como los nodos de una retícula de modo que cada componente está conectado con todos los nodos adyacentes. En una malla bidimensional cada nodo está conectado con cuatro nodos adyacentes, mientras que en una malla tridimensional cada nodo está conectado con seis nodos adyacentes. • Hipercubo. Se asigna a cada componente un número binario de modo que dos componentes tienen una conexión directa si sus correspondientes representaciones binarias difieren en un solo bit.

Arquitecturas paralelas de bases de datos • Memoria compartida. Todos los procesadores comparten una memoria común. • Disco compartido. Todos los procesadores comparten un conjunto de discos común. • Sin compartimiento. Los procesadores no comparten ni memoria ni disco. • Jerárquico. Este modelo es un híbrido de las arquitecturas anteriores.

SISTEMAS DISTRIBUIDOS Varias PCs conectadas entre si Datos compartidos Autonomía Disponibilidad. Una transacción local es aquella que accede a los datos del único sitio en el cual se inició la transacción. Por otra parte, una transacción global es aquella que, o bien accede a los datos situados en un sitio diferente de aquel en el que se inició la transacción, o bien accede a datos de varios sitios distintos.