3.14.1 MEMORIA CACHÉ
Con el aumento de la rapidez de los microprocesadores ocurrió la paradoja de que las memorias principales no eran suficientemente rápidas como para poder ofre- cerles a los datos que éstos necesitaban. Por esta razón, las computadoras comen- zaron a construirse con una memoria caché interna situada entre el microprocesador y la memoria principal. La memoria caché permite incrementar la velocidad de trans- misión de datos, en el almacenamiento temporal de datos y mejora del procesamien- to en la CPU.
Existen tres tipos de memoria caché, se diferencian por ubicación y funcionamiento, son:
L1 Interna. Situada dentro del propio procesador y, por tanto, de acceso aún más rápido y aún más cara. La caché de primer nivel contiene muy pocos kilooctetos (unos 32 ó 64 Kb).
L2 Externa. Situada entre el procesador y la RAM. Los tamaños típicos de la memo- ria caché L2 oscilan en la actualidad entre 256 Kb y 4 Mb: la memoria caché es un tipo especial de memoria que poseen las computadoras. Esta memoria se si- túa entre el microprocesador y la memoria RAM, y se utiliza para almacenar datos que se utilizan frecuentemente. Permite agilizar la transmisión de datos entre el microprocesador y la memoria principal. Es de acceso aleatorio (también conoci- da como acceso directo) y funciona de forma similar a como lo hace la memoria principal (RAM), aunque es mucho más rápida.
L3. Esta memoria se encuentra por lo general en las placas base. i) CACHÉ WEB
Una caché web denominado servidor Proxy, es una entidad de red que satisface las peticiones HTTP en nombre de un servidor original. La caché web tiene su propio almacenamiento en disco, y en el guarda las copias de los objetos que más recien- temente han sido pedidos. Como se muestra en la figura 3.6, un navegador de usua- rio puede ser configurado de forma que todas las peticiones HTTP del usuario sean dirigidas en primer lugar a la caché web. Por ejemplo, éste es un procedimiento di- recto con los navegadores de Internet Explorer y Netscape. Una vez que el navega- dor ha sido configurado, cada petición del navegador de un objeto se dirige en primer lugar a la caché web. Por ejemplo, supongamos que un navegador que pide el objeto http://www.escuela.edu/campus.gif (Kurose y Ross 2003). Esto es lo que ocurren en: 1. El navegador establece una conexión TCP con la caché Web y envía una petición
2. La caché web comprueba si tiene una copia del objeto almacenada localmente. Si es así, envía el objeto al navegador cliente dentro de un mensaje HTTP de res- puesta.
3. Si la caché Web no tiene el objeto, abre una conexión TCP con el servidor web A, esto es, con www.escuela.edu. La caché web envía entonces una petición HTTP del objeto sobre la conexión TCP. Después de recibir está petición, el servidor web A envía el objeto a caché web dentro de una respuesta HTTP.
4. Cuando la caché Web recibe el objeto, almacena una copia en su almacenamiento local y envía una copia, dentro de un mensaje HTTP de respuesta, al navegador cliente (sobre la conexión TCP existente entre el navegador cliente y caché web).
Obsérvese que una caché es al mismo tiempo un servidor y cliente. Cuando recibe peticiones y envía respuestas a un navegador, es un servidor. Cuando envía peticio- nes y recibe respuestas de un servidor web B, es un cliente.
Típicamente, la caché web es comprobada e instalada por un ISP. Por ejemplo, una universidad puede instalar una caché en su red de campus, y configurar todos los navegadores del campus referenciando a caché. O un ISP residencial importante (como AOL), podría instalar una o más cachés en su red, y preconfigurar los nave- gadores enviados referenciados a caché Web que están instalados.
Figura 3.6. Clientes pidiendo objetos a través de una caché web.
La caché web es una forma de distribución de contenidos, ya que replica el con- tenido en caché y proporciona a los usuarios un mecanismo para acceder contenido replicado. Obsérvese que el proveedor de contenido no supervisa la replicación; al contrario, el contenido es replicado a petición como una función de las peticiones del
La caché web se ha desarrollado en Internet por las tres razones siguientes:
Primero. Una caché web puede reducir sustancialmente el tiempo de respuesta de una petición de cliente, particularmente si el ancho de banda entre el cliente y el ser- vidor web A es mucho menor que entre el cliente y caché. Si existe una conexión de alta velocidad entre el cliente y caché, como ocurre habitualmente, y si caché tiene el objeto pedido, entonces, la caché podría entregar rápidamente el objeto al cliente.
Segundo. Como se verá en un ejemplo, las cachés web pueden reducir sustancial- mente el tráfico en el enlace de acceso a Internet de una institución. Al reducir el trá- fico, la institución (por ejemplo, una empresa o una universidad) no tiene que mejorar el ancho de banda tan rápido y, por tanto, se reducen los costos. Es más, las cachés web pueden reducir sustancialmente el tráfico global en Internet, con lo que sé mejo- ra el rendimiento de todas las aplicaciones.
Tercero. Una Internet poblada de cachés web (en el ámbito institucional, regional nacional) proporciona una infraestructura para la distribución rápida de contenidos, incluso para proveedores que tienen sus sitios en servidores de baja velocidad sobre enlaces de acceso de baja velocidad. Si este proveedor de contenido es pobre de re- cursos adquiere de repente popularidad en los contenidos que distribuye, estos con- tenidos se copiarán rápidamente él las cachés de Internet, y la alta demanda de los clientes / usuarios será satisfecha.
CAPÍTULO IV
4. BASES DE DATOS DISTRIBUIDOS
4.1 INTRODUCCIÓN
Base de Datos es una colección de datos estructurados sobre una red y que per- tenecen, lógicamente, a un solo sistema distribuido (Omar Hurtado 1997), la cual cumple las condiciones siguientes:
• La información de la base de datos esta almacenada físicamente en diferentes sitios de la red.
• En cada sitio de la red, la parte de la información, se constituye como una ba- se de datos en sí misma.
• Las bases de datos locales tienen sus propios usuarios locales, su propio Sis- tema de Gestión de Bases de Datos (DBMS) y programas para la adminis- tración de transacciones, y su propio administrador local de comunicación de datos.
• Estas bases de datos locales deben de tener una extensión, que gestione las funciones de sociedad necesarias; la combinación de estos componentes con los sistemas de administración de base de datos locales, es lo que se conoce como sistema administrador de base de datos distribuidos.
• Este gestor global permite que los usuarios puedan acceder a los datos desde cualquier punto de la red, como si lo hicieran con los datos de su base de da- tos local, es decir, para el usuario, no debe existir diferencia entre trabajar con datos locales o datos de otros sitios (remotos) de la red.
Por lo expuesto, una base de datos distribuidos es como una unidad virtual, cuyas partes se almacenan físicamente en varias bases de datos "reales" distintas, ubi- cadas en diferentes sitios.
Base de Datos Distribuidos. En sistemas distribuidos la base de datos es imple- mentada en una red de computadoras. Las particiones se distribuyen sobre varias estaciones de trabajo de la red. Dependiendo de la actualización específica de la in- formación y del tráfico de recuperación y distribución de base de datos puede au- mentar significativamente el rendimiento general. El hecho de poder compartir datos se hace posible a través de una red que interconecta las bases de datos distribuidos. Las bases de datos trabajan con datos distribuidos en una red o en varias computa- doras diferentes, una característica esencial de una base de datos distribuidos es que el usuario y/o programa funciona como sí tuvieran acceso local a toda la base de datos. Todo el proceso se lleva a cabo mediante un sistema de gestión de base de datos (Hansen 1997).
A diferencia de los sistemas paralelos, en los que los procesadores se hallan es- trechamente acoplados y constituyen un solo sistema de bases de datos, los siste-
mas de bases de datos distribuidos están formados por sitios débilmente acoplados que no comparten ningún componente físico. Además, podría ser que los sistemas de bases de datos que se ejecutan en cada sitio sean sustancialmente independien- tes entre sí.
Más adelante se describe el control de concurrencia en las bases de datos distri- buidos. Además, se esboza el modo de proporcionar una elevada disponibilidad en bases de datos distribuidos aprovechando las réplicas, de manera que el sistema pueda continuar procesando las transacciones aunque se produzca una avería. El procesamiento de consultas en las bases de datos distribuidos. También, se tratarán algunos aspectos del manejo de bases de datos heterogéneas, y los sistemas de directorio, que pueden considerarse de una forma especializada de las bases de da- tos distribuidos (Silberschatz, Korth y Sudarshan 2006).