Vous êtes sur la page 1sur 26

Arquitecturas de sistemas de bases de datos (1)

Alejandro Flores Ziga, PhD.

Programacin y Taller de Bases de Datos

Contenido
Sistemas centralizados Sistema cliente-servidor Arquitectura de servidor Sistemas paralelos Interconexin de arquitecturas en red Arquitectura de base de datos paralela

Database System Concepts 6th Ed.

Programacin y Taller de Bases de Datos

Sistemas centralizados (1)


Se ejecuta en un sistema informtico nico y no interactuar con otros sistemas de computacin Sistema de computadora de propsito general:
uno a varios CPUs y un nmero de controladores de dispositivos que se conectan a travs de un bus comn que proporciona acceso a memoria compartida.

Sistema monousuario (por ejemplo, ordenador personal o estacin de trabajo):


unidad de sobremesa, un solo usuario, normalmente tiene slo una CPU y uno o dos discos duros; el sistema operativo puede apoyar slo un usuario
Database System Concepts 6th Ed.
Programacin y Taller de Bases de Datos

Sistemas centralizados (2)


Sistema multiusuario:
ms discos, ms memoria, mltiples CPU y un sistema operativo multiusuario Servir un gran nmero de usuarios que estn conectados al sistema de vie terminales. A menudo se denominan sistemas de servidor.

Database System Concepts 6th Ed.

Programacin y Taller de Bases de Datos

Un sistema de computacin centralizado

Database System Concepts 6th Ed.

Programacin y Taller de Bases de Datos

Sistema cliente-servidor (1)


Sistemas servidor satisfacen las solicitudes generadas de m sistemas cliente conectados, cuya estructura general se muestra a continuacin:

Database System Concepts 6th Ed.

Programacin y Taller de Bases de Datos

Sistema cliente-servidor (2)


La funcionalidad de una base de datos puede dividirse en:
Back-end: administra estructuras de acceso, evaluacin y optimizacin de consultas, control de concurrencia y recuperacin. Front-end: consta de herramientas como formularios, escritores de informe e instalaciones de interfaz grfica de usuario.

La interfaz entre el front-end y el back-end es a travs de SQL o una interfaz de programa de aplicacin.

Database System Concepts 6th Ed.

Programacin y Taller de Bases de Datos

Sistema cliente-servidor (3)


Ventajas de la sustitucin de mainframes con redes de estaciones de trabajo o computadoras personales conectadas a mquinas de servidor back-end:
mejor funcionalidad para el costo flexibilidad en la localizacin de recursos y la ampliacin de las instalaciones mejores interfaces de usuario facilitar el mantenimiento
Database System Concepts 6th Ed.
Programacin y Taller de Bases de Datos

Arquitectura de servidor
Los sistemas de servidor pueden clasificarse en dos tipos:
servidores de transacciones que son ampliamente utilizados en sistemas de base de datos relacional servidores de datos, utilizados en sistemas de base de datos orientada a objetos

Database System Concepts 6th Ed.

Programacin y Taller de Bases de Datos

Servidores de transacciones (1)


Tambin llamado sistemas de servidor consulta o servidor SQL Operan de la siguiente forma
1. Clientes envan solicitudes al servidor 2. Las transacciones se ejecutan en el servidor 3. Resultados se envan al cliente

Solicitudes son especificadas en SQL y se comunican al servidor a travs de un mecanismo de procedimiento remoto de llamadas (RPC)
Database System Concepts 6th Ed.
Programacin y Taller de Bases de Datos

Servidores de transacciones (2)


Transacciones RPC permite que muchas llamadas RPC formen parte de una transaccin Open Database Connectivity (ODBC) es una interfaz de programa de aplicacin de lenguaje c estndar de Microsoft
ODBC es utilizado para conectarse a un servidor enviando solicitudes de SQL y recibiendo los resultados.

JDBC es una interfaz de comunicacin estndar para Java similar a ODBC


Database System Concepts 6th Ed.
Programacin y Taller de Bases de Datos

Estructura de procesos de un servidor de transacciones (1)


Un servidor de transaccin tpico consiste en mltiples procesos de acceso a datos en una memoria compartida Procesos del servidor
Estos reciben consultas de usuarios (transacciones), ejecutan y retornan los resultados. Los procesos pueden utilizar una tecnologa multiproceso, permitiendo a un proceso nico ejecutar simultneamente varias consultas de usuarios Normalmente subprocesos mltiples son mantenidos en el servidor.

Administrador de bloqueo de proceso (se discutir esto ms tarde)


Database System Concepts 6th Ed.
Programacin y Taller de Bases de Datos

Estructura de procesos de un servidor de transacciones (2)


Proceso de escritura de base de datos
Salida modifica continuamente bloques de memoria intermedia para discos

proceso de escritura de log


Procesos del servidor simplemente agregar registros al registro de log del bfer Proceso de registro de log genera salidas de registros a un almacenamiento estable

Database System Concepts 6th Ed.

Programacin y Taller de Bases de Datos

Estructura de procesos de un servidor de transacciones (3)


Proceso de comprobacin
Realiza puntos de control peridicos

Proceso de monitor de proceso


Supervisa a otros procesos y realiza acciones de recuperacin si falla algn proceso
Por ejemplo, anulando cualquier transaccin ejecutado por un proceso de servidor y reiniciarlo

Database System Concepts 6th Ed.

Programacin y Taller de Bases de Datos

Estructura de procesos de un servidor de transacciones (4)

Database System Concepts 6th Ed.

Programacin y Taller de Bases de Datos

Estructura de procesos de un servidor de transacciones (5)


La memoria compartida contiene datos compartidos correspondientes a:
Buffer pool Tabla de bloqueo Bufer de log El cach almacenado de los planes de consulta (reutilizados si misma consulta se presenta nuevamente)

Todos los procesos de base de datos pueden tener acceso a memoria compartida
Database System Concepts 6th Ed.
Programacin y Taller de Bases de Datos

Estructura de procesos de un servidor de transacciones (6)


Para asegurarse de que no hay dos procesos que acceden a la misma estructura de datos al mismo tiempo, sistemas de bases de datos implementan la exclusin mutua mediante:
Semforos de sistema operativo Instrucciones atmicas como test-and-set

Para evitar la sobrecarga de comunicacin, cada proceso de base de datos opera directamente en la tabla de bloqueo
en lugar de envo de solicitudes a un administrador de bloqueo de procesos

El administrador de proceso de bloqueo es usado para la deteccin de deadlock


Database System Concepts 6th Ed.
Programacin y Taller de Bases de Datos

Servidor de datos (1)


Utilizado en redes de alta velocidad, en los casos donde
Los clientes son comparables en potencia de procesamiento con el servidor Las tareas a ejecutar son intensivas en computo

Datos son enviados a los clientes donde se realiza el procesamiento y se retorna los resultados al servidor Esta arquitectura requiere funcionalidad completa de back-end en los clientes
Database System Concepts 6th Ed.
Programacin y Taller de Bases de Datos

Servidor de datos (2)


Utilizado en muchos sistemas de base de datos orientada a objetos Problemas:
Envo de pgina versus envo de tem Locking Data Caching Lock Caching

Database System Concepts 6th Ed.

Programacin y Taller de Bases de Datos

Servidor de datos (3)


Envo de pgina versus envo de tem
Unidad ms pequea de envo ms mensajes Vale la pena captura previa de tems relacionados junto con el tem solicitados Envo de pgina puede considerarse como una forma de captura previa

Database System Concepts 6th Ed.

Programacin y Taller de Bases de Datos

Servidor de datos (4)


Locking
Sobrecarga de solicitud y obtencin de bloqueos del servidor es alta debido a las demoras de los mensajes Puede conceder bloqueos para tems solicitados y buscados; con el envo de la pgina, se concede bloqueo en toda la pgina Bloqueos en un elemento solicitado pueden ser P {llamado} por el servidor y devueltas por la transaccin de cliente si el elemento no ha sido utilizado Bloqueos en la pgina pueden ser de-escalados a bloqueos sobre los tem de la pgina cuando hay conflictos de bloqueo
Bloqueos de elementos no utilizados pueden devolverse al servidor
Database System Concepts 6th Ed.
Programacin y Taller de Bases de Datos

Servidor de datos (5)


Data Caching
Datos pueden almacenarse en cach del cliente, incluso entre transacciones Pero se debe comprobar que los datos estn actualizados antes de que sean utilizados (coherencia de cach) Verificacin puede realizarse cuando se solicita el bloqueo en el elemento de datos

Database System Concepts 6th Ed.

Programacin y Taller de Bases de Datos

Servidor de datos (6)


Lock Caching
Los bloqueos pueden ser retenidos por el sistema cliente incluso entre transacciones Las transacciones pueden adquirir bloqueos en cach localmente, sin contactar con el servidor Servidor llamada bloqueos de clientes cuando recibe solicitud de bloqueo en conflicto
Cliente retorna el bloqueo cuando ninguna transaccin local lo est utilizando

Similar a de-escalar, pero a travs de las transacciones


Database System Concepts 6th Ed.
Programacin y Taller de Bases de Datos

Sistemas paralelos (1)


Sistemas de bases de datos paralelas consisten en varios procesadores y varios discos conectados mediante una red rpida Una mquina coarse-grain parallel consiste en un pequeo nmero de procesadores potentes Una mquina massively-parallel or fine-grainparallel utiliza miles de procesadores ms pequeos
Database System Concepts 6th Ed.
Programacin y Taller de Bases de Datos

Sistemas paralelos (2)


Dos medidas de rendimiento principales:
rendimiento---el nmero de tareas que puede realizar en un intervalo de tiempo determinado tiempo de respuesta---el tiempo que se tarda en completar una sola tarea desde el momento en que se presenta

Database System Concepts 6th Ed.

Programacin y Taller de Bases de Datos

Preguntas

Database System Concepts 6th Ed.

Programacin y Taller de Bases de Datos

Vous aimerez peut-être aussi