160 likes | 321 Views
Tecnologías Cliente / Servidor Capitulo III. Richard Jiménez V. clienteserver.wordpress.com. Tipos de Arquitecturas de Base de datos. ( i) Process-per-client architecture. ( ii) Multi-threaded architecture. ( iii) Hybrid architecture. Arquitectura de proceso por cliente.
E N D
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com
Tipos de Arquitecturas de Base de datos • (i) Process-per-client architecture. • (ii) Multi-threaded architecture. • (iii) Hybrid architecture
Arquitectura de proceso por cliente • Como su propio nombre revela el proceso del servidor considera a cada cliente como un proceso independiente y ofrece un espacio de direcciones independiente para cada usuario. Cada proceso puede ser asignado a una CPU separada sobre una máquina SMP, o se puede asignarlos procesos a una agrupación de CPU disponibles. Como resultado se consume más memoria y recursos de CPU que otros sistemas y más lentos debido a cambios de contexto del proceso y la sobrecarga IPC pero el uso de un monitor de TP puede superar estas desventajas. El Rendimiento de la arquitectura de procesos-por-cliente es muy mala cuando se tiene un gran número de los usuarios se conectan a un servidor de base de datos. Sin embargo, la arquitectura proporciona la mejor protección de bases de datos.
Ejemplos de esta arquitectura • Oracle 6, Informix, DB2
Arquitectura Multi-hilo • Esta arquitecturasoporta un gran número de clientesejecutando una operación corta en la base de datos del servidor. • Proporcionar el mejor rendimiento mediante la ejecución de todas las solicitudes de los usuarios en un único espacio de direcciones. • Pero no funcionan bien con consultas de gran tamaño. La Arquitectura multi-threaded conserva memoria y ciclos de CPU evitandolosfrecuentes cambios en el contexto. • Hay más posibilidades de portabilidad e estas plataformas.
Arquitectura Multi-hilo • Pero tiene el problemas de que si existe algún inconveniente con alguna petición del usuario puede derribar todo el proceso, que afecta a todos los usuarios y sus solicitudes • En segundo lugar de larga duración de las tareas de usuario puede monopolizar los recursos, causando retrasos para otros usuarios. yla arquitectura no es tan buena en el punto de vista de protección. • Algunos de los ejemplosde la arquitectura como son: Sybase, Microsoft SQL Server, y se ilustra en la figura. 4,5.
Arquitectura Hibrida • La Arquitectura híbrida ofrece un ambiente protegido para la ejecución de solicitudes de los usuarios sin asignar un proceso permanente para cada usuario. • También ofrece el mejor equilibrio entre el servidor y los clientes. • La Arquitectura híbrida Cliente / Servidor de base de datos está compuesta básicamente de tres componentes: 1. Multi-threadednetworklistener: La tarea principal de ésta es la asignación de la conexión del clientea un despachador.
Arquitectura Hibrida 2. Los procesos de Dispatcher: Estos procesos son los responsables de la colocación de los mensajes en una cola de mensajes internay finalmente enviar de nuevo al cliente cuando la respuesta regresar de la base de datos. 3. Reutilizables, compartidos, procesos de trabajo: Son responsable de recoger el trabajo de la cola de mensaje y ejecutarlo y finalmente coloca la respuesta en una cola de mensajes de salida.
Arquitectura Hibrida • Oracle 7i, 8i/9i
Componente Middleware de Base de datos • Como ya hemos discutido en la arquitectura cliente / servidor la comunicación de software middleware proporciona los medios a través del cual los clientes y servidores se comunicar para llevar a cabo acciones específicas. • Este software middleware se divide en tres componentes principales.
Middleware de Base de datos • API (Applicationprogramming interface) El programador interactúa con el middleware mediante el API provisto por el software middleware . • La API de middleware permite que el programador escriba código genérico de SQL en lugarde código específico para cada servidor de base de datos. • En otras palabras, la API de middleware permite que el proceso del cliente sea independientede la BD • Esta independencia significa que el servidor puedeser cambiado sin necesidad de que las aplicaciones cliente se reescrito por completo.
Middleware – Databasetraslator • Traduce las peticiones SQL a la sintaxis especifica del servidor de base de datos. • La capa de base de datos del traductor toma la petición genéricaSQL y la mapea al protocolo de la base de datos del servidor SQL. • Dado que un servidor de base de datos podría tener algún no-estándar características, la capa de base de datos de traductores pueden optar por traducir la petición genéricade SQL enel formato específico utilizado por el servidor de base de datos.
Middleware – networktraslator • El traductor de la red administra los protocolos de comunicación de la red. • Recordemos que el servidor de base de datos puede utilizar cualquiera de los protocolos de red. Si una aplicación cliente se nutre delas dos bases de datos, uno que utiliza el protocolo TCP / IP y otro que utiliza IPX / SPX • La capa de red se encarga de todos los detalles de comunicación de cada base de datos de forma transparente para el clienteaplicación. • La Figura 4.8 ilustra la interacción entre el cliente y los componentes middleware de la base de datos.
Sistemas de Base de datos Web para Aplicaciones Cliente/Servidor