Sei sulla pagina 1di 8

BASES DE DATOS MULTIUSUARIO

1
Los sistemas de base de datos multiusuario estn soportados por diversas arquitecturas de sistemas. En el pasado, los ms comunes eran los sistemas de teleprocesamiento. Conforme las computadoras se hacen ms econmicas, se han desarrollado otras arquitecturas entre las que estn los sistemas cliente servidor, los sistemas de recursos compartidos, y los sistemas de base de datos distribuida.

Sistemas de teleprocesamiento
El mtodo clsico de soportar un sistema de base de datos multiusuario es el teleprocesamiento, que utiliza una computadora y un CPU. El programa de control de comunicaciones, los programas de aplicacin, el DBMS y el sistema operativo, todos ellos son procesados por una computadora nica centralizada. Los usuarios operan terminales no inteligentes: microcomputadoras que emulan a terminales no inteligentes, y que transmiten a la macrocomputadora mensajes de transacciones y de datos. La porcin de control de las comunicaciones del sistema operativo recibe los mensajes y los datos y los enva al programa de aplicacin apropiado. El programa llama al DBMS solicitando servicios, y el DBMS utiliza la porcin de administracin de datos del sistema operativo y procesa la base de datos. Terminada la transaccin, los resultados son devueltos a los usuarios en las terminales no inteligentes va la porcin de controles de comunicaciones del sistema operativo. En vista de qu todo el procesamiento se efecta en una sola computadora, la interfaz de usuario del sistema de teleprocesamiento es por lo general sencilla y primitiva.

Sistemas cliente servidor


A diferencia del teleprocesamiento, que significa una sola computadora, un sistema cliente servidor involucra varias computadoras conectadas en una red. Algunas de las computadoras procesan programas de aplicacin y se conocen como clientes. Otra computadora es designada como servidor y procesa la base de datos y la porcin de administracin de datos del sistema operativo. Los sistemas cliente servidor colocan Ia aplicacin ms cerca del usuario, lo cual da como resultado un mejor rendimiento y unas interfaces ms complejas para los usuarios. Una desventaja de los sistemas cliente servidor es el control; en vista de un procesamiento en paralelo, son difciles de administrar los conflictos causados por la concurrencia.

En la Figura se muestra un ejemplo en el cual cada uno de los n usuarios tiene su propia computadora de procesamiento de aplicaciones: El Usuario1 procesa AP1 y AP2 en la computadora1. El Usuario2 procesa AP2 en la computadora2 y el Usuario3 procesa Ap2 y AP3 en la computadora y Otra computadora es utilizada como servidor de Ia base de datos. Existen mltiples opciones en relacin con el tipo de computadora. En teora, las computadoras clientes pueden ser macrocomputadoras, minis, o microcomputadoras. Sin embargo, en todos microcomputadoras. los casos las computadoras clientes son

En forma similar, cualquier tipo de computadora puede ser servidor, sin embargo, por razones de costo, a menudo el servidor es una

microcomputadora. Los clientes y el servidor estn conectados, utilizando una red de rea local (LAN). Es raro, en el caso de computadoras clientes, algo distinto a microcomputadoras, algunas veces el servidor es una minicomputadora o una macrocomputadora, sobre todo cuando se requiere de considerable potencia en el servidor o, por razones de tipo poltico y organizacional, no resulta apropiado colocar la base de datos en una microcomputadora El sistema de la Figura tiene un solo servidor, aunque no pudiera ser siempre el caso. Varios servidores pudieran procesar diferentes bases de datos y proporcionar otros servicios en nombre de los clientes. En una empresa consultora de ingeniera, un servidor pudiera procesar la base de datos, en tanto que otro dara soporte a las imgenes de diseo asistido por computadora. Si existen mltiples servidores de procesamiento de base de datos, cada uno de ellos deber procesar una base de datos distinta, para que el sistema sea considerado un sistema cliente servidor. Cuando dos servidores procesan la misma base de datos, el sistema ya no se llama un sistema cliente servidor, ms bien, es conocido como sistema de base de datos distribuido. Papeles del Cliente y del Servidor: Cliente Administra la interfaz de usuario Acepta datos del usuario Procesa la lgica de la aplicacin Genera solicitudes de servicios de la base de datos. Transmiten esas solicitudes al servidor Reciben resultados Dar formato para el usuario. Servidor Acepta las solicitudes de los clientes, Procesa Devuelve una respuesta. Lleva a cabo la verificacin de integridad de la base de datos Mantiene los datos generales de la base de datos Proporciona control de acceso concurrente. Lleva a cabo la recuperacin Optimiza el procesamiento de consulta/actualizacin

Un sistema cliente servidor coloca el procesamiento de la aplicacin ms cerca del usuario.

Ventajas: Mejor rendimiento, porque varias CPU estn procesando las aplicaciones en paralelo. Se reducen los costos de comunicaciones. Las solicitudes de procesamiento al DBMS y sus respuestas son las que necesitan ser enviadas por la red de comunicaciones, lo que significa menos trfico de comunicaciones que en el teleprocesamiento. En vista de que varias computadoras procesan aplicaciones y de que estas computadoras utilizan el servidor para procesamiento de la base de datos,

existe potencia disponible en la CPU para poder hacer la interfaz del usuario mucho ms elaborada. Resultan posibles Funciones de las computadoras cliente y servidor formas sofisticadas, con colores, fuentes tipogrficas y tamaos distintos. Ya se estn volviendo muy comunes las interfaces grficas de usuario para aplicaciones de cliente servidor. Desventajas: Se refiere al control. Las computadoras cliente operan en forma simultnea y procesan las aplicaciones en paralelo. Surge as la posibilidad de problemas por actualizacin perdida y otros problemas de control de multiusuario. Estos problemas son peores que en el caso de los sistemas de teleprocesamiento porque las computadoras procesan en paralelo. Varios sistemas operativos que dirigen varias CPU deben coordinar su procesamiento sobre el medio de comunicacin. Esto vara en relacin con el teleprocesamiento, en el cual toda la actividad queda gobernada por un sistema operativo nico y local.

Sistemas de recursos compartidos


Los sistemas de recursos compartidos involucran redes de computadoras, e igual que las arquitecturas cliente servidor, por lo general estn formados por microcomputadras conectadas va redes de rea local. La diferencia principal entre los sistemas de recursos compartidos y los sistemas cliente servidor es que la computadora servidor proporciona menos servicios para las computadoras de los usuarios. El servidor, se conoce como un servidor de archivo y no como servidor de base de datos y proporciona acceso a los archivos y a otros recursos. El DBMS y los programas de aplicacin deben quedar distribuidos en las computadoras de los usuarios. Los sistemas de recursos compartidos transmiten muchos ms datos que los sistemas cliente servidor, y requieren que se obtengan bloqueos sobre grandes grupos de datos y que stos se conserven durante largos periodos. Los recursos compartidos consiguen un caudal de procesamiento total menor que las aplicaciones cliente servidor. La arquitectura de recursos compartidos fue desarrollada antes de la arquitectura cliente servidor, y en muchas maneras, es ms primitiva que la de cliente servidor. En el caso de los recursos compartidos, el DBMS existente en la computadora de cada usuario enva solicitudes a la porcin de administracin.de datos del sistema operativo en el servidor de archivo, para procesamiento a nivel de archivos. Esto significa que cruza la LAN mucho ms trfico en comparacin con la arquitectura cliente servidor.

Considere el procesamiento de una consulta para obtener Name y Address de todas las hileras de la tabla CUSTOMER donde Zip sea igual a 98033. En un sistema cliente servidor, el programa de aplicacin enviara el siguiente comando SQL: SELECT NAME, ADDRESS FROM CUSTOMER WHERE ZIP : 98033 El servidor respondera con todos los Name y Address que calificaran. En un sistema de recursos compartidos, el DBMS est en la computadora local, y ningn programa del servidor de archivos es capaz de procesar SQL o cualquier lenguaje similar. Todo procesamiento como ste deber ser llevado a cabo en la computadora del usuario, y el DBMS deber solicitar al servidor de archivos que transmita la totalidad de la tabla CUSTOMER. Y si dicha tabla tiene ndices, o cualquier otra informacin general asociada, las estructuras de la informacin general tambin debern ser transmitidas. En el caso de los recursos compartidos, se deben transmitir muchos ms datos a travs de la LAN. Y adems, mientras una computadora de un usuario est procesando una solicitud, ocupa una porcin grande de la base de datos. Puesto de otra forma, cuando se comparten recursos, se requiere de un alto nivel de granularidad de bloqueo, y como consecuencia, se reducen los resultados del procesamiento. Por estos problemas, los sistemas de recursos compartidos se usan poco para procesar bases de datos de multiusuario orientadas a transacciones. En cada una de las transacciones son demasiados los datos que necesitan bloquearse y transmitirse, por lo que dara como resultado un rendimiento muy pobre tratar de utilizar esta arquitectura para el procesamiento de transacciones. Sin

embargo, hay una aplicacin de base de datos para la cual esta arquitectura tiene sentido: el procesamiento de consultas de datos descargados, y extrados. Si uno o ms usuarios necesitan tener acceso a grandes porciones de la base de datos con la finalidad de producir informes o responder a consultas, puede tener sentido tener un servidor que descargue grandes secciones de datos. Los datos descargados no son actualizados y no son devueltos a la base de datos. Mostraremos ejemplos del procesamiento de datos extrados ms adelante en este captulo. Los sistemas de recursos compartidos tambin son utilizados en aplicaciones que no son de base de datos. Se utilizan frecuentemente LAN de recursos compartidos para aplicaciones que requieren de discos grandes y rpidos y as almacenar archivos de un solo usuario de gran tamao, hojas de clculo extensas, y similares. Tambin se utilizan para compartir impresoras, graficadoras y otro equipo perifrico costoso.

Sistemas de bases de datos distribuidas


En un sistema de base de datos distribuida, la misma base de datos est distribuida en dos o ms servidores.

En la Figura, la base de datos (o una porcin de la misa) est almacenada en todas las computadoras. Tal y como se muestra, las computadoras I ,2 y N procesan tanto aplicaciones como la base de datos, y la computadora 3 nicamente procesa la base de datos. La lnea punteada alrededor de los archivos indica que la base de datos est compuesta de todos los segmentos de la base de datos en todas las N computadoras. Tales computadoras pudieran estar localizadas en un mismo lugar, o en sitios distintos en el mundo, o algo intermedio. TIPOS DE BASE DE DATOS DISTRIBUIDAS Existen varios tipos de bases de datos distribuidas: Divididas en particiones, sin duplicacin; Sin dividir, duplicadas; Divididas y duplicadas. Mientras mayor sea el grado de divisin y de duplicacin, mayor ser la flexibilidad, independencia y confiabilidad. Al mismo tiempo, aumentarn el tiempo, el costo, la dificultad de control y los problemas de seguridad.

Los recursos compartidos se utilizan para sistemas multiusuario de procesamiento de transacciones, y pueden ser utilizados para la consulta y produccin de informes de datos descargados. En tal caso, los datos se extraen de una base de datos operacional y se colocan en el servidor de archivos. A continuacin, las microcomputadoras de la red de recursos compartidos obtienen copias de los datos para consulta y procesamiento de informes. Estos datos casi nunca son modificados y son devueltos a la fuente de datos original. Problemas que se presentan en el caso del procesamiento de datos descargados, son: coordinacin, la consistencia, el control de acceso una mayor posibilidad de delitos de computacin. Los sistemas cliente servidor se utilizan para aplicaciones multiusuario de procesamiento de transacciones. Tales sistemas pueden proporcionar un alto rendimiento en vista del procesamiento en paralelo entre las computadoras cliente y servidor. Se puede mejorar la integridad al colocar la verificacin de integridad y de limitantes en el servidor, y utilizar gatillos para este fin. El control de procesamiento concurrente es tan importante para los sistemas cliente servidor como lo es para otros sistemas de multiusuario. Existen dos estilos posibles: el bloqueo pesimista requiere de bloqueos implcitos, similares a los que se emplean con las aplicaciones tradicionales de bases de datos. Los datos debern estar bloqueados antes de poder ser ledos para su actualizacin. En el caso de los bloqueos optimistas, que es el segundo estilo, todo lo posible de la transaccin se procesa antes de obtener un bloqueo. A continuacin se obtienen los bloqueos y los datos se vuelven a leer. Si no existi modificacin, la transaccin se compromete a la base de datos igual que se proces. Si ha habido alguna modificacin, la transaccin se vuelve a procesar, segn se requiera. El bloqueo optimista es til cuando se efecta en un nivel de granularidad ms grande que el de hilera y cuando las transacciones poseen probabilidades de ser largas en razn de procesamiento humano lento. La recuperacin en sistemas cliente servidor es similar a la recuperacin en los sistemas de base de datos de teleprocesamiento. Conforme evolucionen los sistemas cliente servidor, estn obligando a la definicin a dos categoras de DBMS. Los productos DBMS servidor son muy parecidos a los productos DBMS de macrocomputadora y minicomputadora utilizados desde hace aos. Proporcionan servicios DBMS sobre el sistema operativo y las interfaces de administracin de archivos. Por otra parte, los productos DBMS cliente son extensiones de los productos DBMS personales que se utilizan en microcomputadoras. Proporcionan una interfaz de usuario fcil de utilizar, que tambin es sencilla de desarrollar. Los productos DBMS cliente son, en muchas formas, sistemas de desarrollo de aplicaciones.

Potrebbero piacerti anche