Conoce Atico34 - Solicita presupuesto
Internet

¿Qué es el almacenamiento de datos en caché? ¿Cómo funciona?

Los datos en caché juegan un papel clave en las computadoras. De hecho, todos los sistemas informáticos modernos, tienen pequeñas cantidades de memoria estática de acceso aleatorio (SRAM) muy rápida colocada muy cerca de la unidad central de procesamiento (CPU). Esta memoria se conoce como memoria caché.

A pesar de su pequeño tamaño en comparación con la memoria primaria (RAM) o la memoria secundaria (recursos de almacenamiento), la memoria caché tiene un gran impacto en el rendimiento general del sistema.

En este post explicaremos en qué consiste la memoria caché, cómo funciona, sus ventajas y cómo borrar datos de caché.

¿Qué es el caché?

Los sistemas informáticos tienen unidades de disco duro o unidades de estado sólido (SSD) para proporcionar almacenamiento de datos de alta capacidad a largo plazo, así como RAM, que se utiliza para almacenar datos y el código de programa que la unidad central de procesamiento está utilizando o está a punto de necesitar en un futuro muy cercano.

La RAM es mucho más rápida que la unidad de disco duro o el almacenamiento SSD. Por lo general, está hecho de memoria de acceso aleatorio dinámico (DRAM), que también es más costosa por gigabyte o datos almacenados.

Pero una CPU funciona mucho más rápido que la RAM, por lo que a veces puede verse obligado a esperar mientras se leen las instrucciones o los datos de la RAM antes de seguir con el procesamiento, lo que disminuye el rendimiento general del sistema informático.

Para impedir esto, los sistemas informáticos incorporan una memoria caché: una pequeña cantidad de memoria dinámica de acceso aleatorio (DRAM) que es muy rápida, pero tiene un coste muy elevado, y se encuentra muy cerca de la CPU.

Esta memoria caché almacena datos o instrucciones que la CPU probablemente usará en el futuro inmediato. Debido a que esto evita que la CPU tenga que esperar, esta es la razón por la cual el almacenamiento en caché se usa para aumentar el rendimiento de lectura.

La memoria caché aumenta el rendimiento de una computadora. La memoria caché se encuentra muy cerca de la CPU, ya sea en el chip de la CPU o en la placa base en las inmediaciones de la CPU y conectada por un bus de datos dedicado. Por lo tanto, las instrucciones y los datos se pueden leer (y escribir) mucho más rápido que en el caso de la RAM normal.

De esta forma, los tiempos de espera se reducen considerablemente. El resultado es que una cantidad muy pequeña de memoria caché puede generar un aumento significativo en el rendimiento de la computadora.

¿Cómo se almacenan datos en caché?

El almacenamiento de datos en caché funciona al reservar primero una porción de RAM para usar como caché.

Cuando una aplicación intenta leer datos, generalmente de un sistema de almacenamiento de datos como una base de datos, verifica si el registro deseado ya existe en la memoria caché. Si existe, esa aplicación leerá los datos del caché, evitando que el acceso a la base de datos sea más lento.

Si el registro deseado no está en la memoria caché, la aplicación lee el registro de la fuente. Cuando recupera esos datos, también los escribe en el caché para que cuando la aplicación necesite esos mismos datos en el futuro, pueda obtenerlos rápidamente del caché.

Dado que el tamaño de la memoria caché es limitado, eventualmente algunos datos que ya están en la memoria caché tendrán que eliminarse para dejar espacio para los datos nuevos a los que la aplicación accedió más recientemente.

Esto significa que el sistema de almacenamiento en caché necesita una estrategia en la que eliminar los registros para hacer espacio.

La estrategia dependerá de la naturaleza de los accesos a los datos de la aplicación y, en general, intentará eliminar los registros a los que no se espera volver a acceder pronto.

Por ejemplo, una estrategia menos utilizada recientemente eliminará el registro cuyo último acceso fue antes que cualquier otro registro en el caché. La suposición aquí es que si ha pasado mucho tiempo desde que se accedió al registro, es probable que no se vuelva a acceder pronto.

O para decirlo de otra manera, los registros que se usaron más recientemente probablemente se volverán a usar pronto.

Una estrategia de uso menos frecuente implica rastrear el número de accesos de cada registro en el caché y eliminar el registro con la menor cantidad de accesos. La suposición aquí es que un registro usado con poca frecuencia probablemente no se volverá a usar pronto.

Desafíos

El principal desafío de los cachés es cómo reducir los “errores de caché”, es decir, intentos de lectura por la aplicación de registros que no se encuentran en el caché. Si tiene demasiados fallos, la eficiencia de su caché disminuye.

Una aplicación que solo lee datos nuevos no se beneficiaría de un caché y, de hecho, exhibiría un rendimiento más bajo debido al trabajo adicional de verificar el caché pero no encontrar el registro deseado en él.

Una forma de mitigar este desafío es aprovechando cachés más grandes. Esto a menudo no es práctico en una sola computadora, por lo que los cachés distribuidos son opciones populares para acelerar las aplicaciones que necesitan acceder a conjuntos de datos más grandes.

Un caché distribuido reúne la RAM de distintos ordenadores conectados en un clúster para poder crear una memoria caché más grande que pueda seguir creciendo al añadir más computadoras al clúster.

Otro desafío de los cachés es el riesgo de leer datos “obsoletos”, en los que los datos en el caché no reflejan los últimos datos en la fuente subyacente.

A menudo, este riesgo es una compensación aceptable por el rendimiento de la aplicación. En los casos en que no es así, depende de la aplicación que actualice la fuente de datos subyacente para actualizar el registro en cuestión en la memoria caché.

Información general

Memoria RAM

La memoria caché funciona al tomar datos o instrucciones en ciertas direcciones de memoria en la RAM y copiarlas en la memoria caché, junto con un registro de la dirección original de esas instrucciones o datos.

Esto da como resultado una tabla que contiene un pequeño número de direcciones de memoria RAM y copias de las instrucciones o datos que contienen esas direcciones de memoria RAM.

Cuando el procesador requiere instrucciones o datos de una determinada dirección de memoria RAM, antes de recuperarlos de la RAM comprueba si la memoria caché contiene una referencia a esa dirección de memoria RAM. Si lo hace, lee los datos o instrucciones correspondientes de la memoria caché en lugar de la RAM. Esto se conoce como un “golpe de caché”.

Dado que la memoria caché es más rápida que la RAM, y debido a que se encuentra más cerca de la CPU, puede obtener y comenzar a procesar las instrucciones y los datos mucho más rápidamente.

El mismo procedimiento se lleva a cabo cuando los datos o las instrucciones deben volver a escribirse en la memoria. Sin embargo, en este caso hay un paso adicional porque si algo se escribe en la memoria caché, también debe escribirse RAM.

Cómo se hace esto depende de la política de escritura del caché. La política más simple se conoce como “escritura directa”: con esta política, todo lo que se escribe en la memoria caché también se escribe en la RAM de inmediato.

Una política alternativa es la “reescritura”. Usando una política de “reescritura”, los datos escritos en la memoria caché ahora también se escriben inmediatamente en la RAM. Se marca como “sucio” todo lo escrito en la memoria caché, lo que supone que es distinto de los datos originales o instrucciones leídas de la RAM. Cuando se elimina de la memoria caché, entonces y solo entonces se escribe en la RAM, reemplazando la información original.

Aplicaciones

Las cachés pueden aplicarse en diferentes capas de tecnología, como las capas de redes, los sistemas operativos, bases de datos y aplicaciones web. El almacenamiento en caché puede usarse para mejorar las operaciones de entrada/salida por segundo en aplicaciones de lectura como juegos, redes sociales o sitios de preguntas y respuestas.

En esa memoria caché se incluyen resultados de cálculos informáticos, consultas a bases de datos e instrumentos como archivos Javascript, HTML o imágenes.

Los motores de simulaciones y recomendaciones también se benefician de los datos almacenados en caché, ya que tienen que acceder en tiempo real a datos de gran tamaño.

Patrones de diseño

En un entorno informático distribuido, una capa de caché específica posibilita la ejecución independiente de la caché de los sistemas y las aplicaciones sus propios ciclos de vida sin el riesgo de afectarla.

La caché funciona como una capa central a la que es posible acceder desde distintos sistemas con su propio ciclo de vida y arquitectura. Esto es fundamental en un sistema en el que pueden escalarse dinámicamente los nodos de aplicaciones.

Si la caché está en el mismo nodo que la aplicación o los sistemas que la utilizan, el escalado puede afectar a su integridad. Y, si se utilizan cachés locales, el beneficio es únicamente para la aplicación local que consume los datos.

En un entorno distribuido de caché, los datos pueden comprender diversos servidores de caché y guardarse en una ubicación central que beneficie a todos los consumidores de dichos datos.

Tipos de memoria caché

Los sistemas informáticos modernos tienen más de una pieza de memoria caché, y estos cachés varían en tamaño y proximidad a los núcleos del procesador y, por lo tanto, también en velocidad. Estos se conocen como niveles de caché.

La memoria caché más pequeña y más rápida se conoce como caché de nivel 1, o caché L1, y la siguiente es la caché L2. La mayoría de los sistemas ahora tienen caché L3, y desde la introducción de sus chips Skylake, Intel también ha agregado caché L4 a algunos de sus procesadores.

tipos caché

Nivel 1

La memoria caché L1 es la memoria caché integrada en la propia CPU. Funciona a la misma velocidad de reloj que la CPU. Es el tipo más costoso de memoria caché, por lo que su tamaño es extremadamente limitado. Pero debido a que es muy rápido, es el primer lugar donde un procesador buscará datos o instrucciones que puedan haber sido almacenados allí desde la RAM.

De hecho, en la mayoría de las CPU modernas, el caché L1 se divide en dos partes: una sección de datos (L1d) y una sección de instrucciones (L1i). Estos contienen datos e instrucciones, respectivamente.

Una CPU moderna puede tener un tamaño de caché del orden de 32 KB de L1i y L1d por núcleo.

Nivel 2

El caché L2 también puede ubicarse en el chip de la CPU, aunque no tan cerca del núcleo como el caché L1. O, más raramente, puede estar ubicado en un chip separado cerca de la CPU. Los cachés L2 son menos costosos y más grandes que los cachés L1, por lo que los tamaños de caché L2 tienden a ser más grandes y pueden ser del orden de 256 KB por núcleo.

Nivel 3

La caché de nivel 3 tiende a ser mucho más grande que la caché L1 o L2, pero también es diferente de otra manera importante. Mientras que los cachés L1 y L2 son privados para cada núcleo de un procesador, L3 tiende a ser un caché compartido que es común a todos los núcleos. Esto le permite desempeñar un papel importante en el intercambio de datos y la comunicación entre núcleos. El caché L3 puede ser del orden de 2 MB por núcleo.

La memoria caché también se divide en:

  • Caché primaria. La mayor parte de la memoria caché se encuentra físicamente en el mismo lado que la propia CPU, y la parte más cercana a los núcleos de la CPU a veces se denomina caché primaria, aunque el término ya no se usa comúnmente.
  • Caché Secundaria.  Esto a menudo se refiere a una pieza adicional de memoria caché, que se encuentra en un chip separado en la placa base cerca de la CPU. Este término ya no se usa comúnmente, porque la mayor parte de la memoria caché ahora se encuentra en el dado de la CPU.

Consejos al almacenar datos en caché

Las configuraciones de almacenamiento en caché continúan evolucionando, pero la memoria caché tradicionalmente funciona bajo tres configuraciones diferentes:

  • La memoria caché asignada directa:  cada bloque está asignado a una localización exacta de memoria caché. Conceptualmente, un caché mapeado directo es como filas en una tabla con tres columnas: el bloque de caché que contiene los datos reales recuperados y almacenados, una etiqueta con toda o parte de la dirección de los datos recuperados y un bit de bandera que muestra la presencia en la entrada de la fila de un bit de datos válido.
  • El mapeo de caché completamente asociativo es similar al mapeo directo en la estructura, pero permite que un bloque de memoria se mapee a cualquier ubicación de caché en lugar de a una ubicación de memoria caché previamente especificada, como es el caso con el mapeo directo.
  • Establecer el mapeo de caché asociativo se puede ver como un compromiso entre el mapeo directo y el mapeo completamente asociativo en el que cada bloque se mapea a un subconjunto de ubicaciones de caché. A veces se denomina mapeo asociativo de conjuntos de N vías, que proporciona una ubicación en la memoria principal para almacenar en caché en cualquiera de las ubicaciones “N” en el caché L1.

Ventajas del almacenamiento en caché

El almacenamiento en caché de datos tiene las siguientes ventajas:

Mejor rendimiento de las aplicaciones

Las cargas de trabajo de procesamiento de transacciones en línea (OLTP) tienen tasas de transacción más altas porque el almacenamiento SSD proporciona un mejor rendimiento.

Ahorro en bases de datos

Al sustituir parte de las lecturas de la base de datos con lecturas del caché, las aplicaciones pueden suprimir la latencia existente por los accesos frecuentes a la base de datos. Este caso de uso generalmente se encuentra en entornos donde se ve un alto volumen de acceso a datos, como en un sitio web de alto tráfico que presenta contenido dinámico de una base de datos.

Reducir la carga de las bases de datos

Al utilizar los datos almacenados en caché se reduce también la carga de las bases de datos ya que no es necesario introducir tantos datos en ellas.

Gestionar picos de uso

A través del almacenamiento en caché pueden gestionarse también los picos de uso al reducirse la carga en las bases de datos. Con ello se evitan errores derivados de esos picos de uso.

Aumento del IOPS

Los almacenamientos en caché permiten también un aumento de la velocidad de las entradas y salidas. De esta forma pueden atenderse cientos de miles de solicitudes por segundo.

¿Cómo borrar el caché?

A continuación te voy a explicar cómo puedes borrar el caché en móviles Android, iOS y en ordenadores con sistema operativo Windows.

Android

Tu teléfono tiene almacenamiento finito que puede llenarse rápidamente. Las aplicaciones que usas regularmente crean nuevos archivos para almacenar información.

Los archivos de caché son importantes y, por lo general, no necesitas meterte con ellos. Sin embargo, a veces es útil eliminar manualmente los archivos de caché del teléfono.

Con las nuevas versiones de Android, debes eliminar los archivos de caché para cada aplicación individualmente. Ten en cuenta que rara vez necesitas eliminar todo el caché. Muchas veces, limpiar el caché de algunas aplicaciones puede solucionar problemas de rendimiento o almacenamiento.

Puedes usar los siguientes pasos para borrar caché en Android:

  1. Abre Configuración y selecciona Almacenamiento .
  2. En la lista resultante, toca la entrada Otras aplicaciones . Esto te llevará a una lista de todas las aplicaciones instaladas en tu teléfono.
  3. Elige una aplicación que contenga muchos archivos de caché. Puedes tocar el menú de tres puntos en la esquina superior derecha y elegir Ordenar por tamaño para ver qué aplicaciones ocupan más espacio.
  4. En la página de información de la aplicación, toca la opción Borrar caché.

Eso es todo lo que necesitas hacer para borrar los archivos de caché para cualquier aplicación en tu teléfono. Si tocas Borrar almacenamiento, eliminarás todos los datos de la aplicación.

Las versiones anteriores de Android te daban la opción de eliminar todos los archivos en caché a la vez yendo a Configuración> Almacenamiento> Datos en caché. Desde allí, simplemente toca Aceptar cuando veas la opción para eliminar todos los archivos de caché.

iOS

Las memorias caché no tardan mucho en llenarse en iPhone y iPad. Desde el navegador de iOS, Safari, hasta aplicaciones de terceros, sigue las instrucciones sobre cómo borrarlas y liberar espacio en iPhone y iPad.

  1. Abre Configuraciones
  2. Desliza hacia abajo y toca Safari
  3. Ve de nuevo hacia abajo y toca Borrar historial y datos del sitio web, tócalo una vez más para confirmar.

Alternativamente, si deseas borrar datos de sitios web individuales, sin borrar todo el caché de Safari, toca Avanzado, Datos del sitio web, luego Editar.

Windows

En realidad, hay varios tipos de caché y se almacenan en diferentes lugares. Por lo tanto, puedes usar diferentes formas de eliminar estos archivos en caché.

  • Borra los archivos temporales en la configuración: De manera predeterminada, los archivos temporales se almacenan en la ruta de C: \ Users \ Admin \ AppData \ Local \ Temp . Para borrarlos, puedes presionar Windows + R para abrir la ventana Ejecutar, ingresar % temp% y hacer clic en Aceptar para abrir las carpetas Temp. Luego, elimina todos los archivos y carpetas temporales que contiene.
  • Emplear la Utilidad de limpieza de disco: Disk Cleanup es una característica incorporada en Windows 10. También puedes usar esta herramienta para borrar diferentes tipos de caché del sistema y otros archivos innecesarios.
    • Presiona Windows + S , busca Liberador de espacio en disco y haz doble clic en el resultado de la búsqueda para abrir esta herramienta.
    • en la ventana emergente, selecciona la unidad que deseas limpiar en el menú desplegable y haz clic en Aceptar .
    • Espera hasta que la herramienta termine de escanear esta unidad. Los archivos que se pueden borrar se enumerarán aquí, y solo necesitas verificar los elementos que deseas eliminar.
    • Ahora, haz clic en Limpiar archivos del sistema en la misma ventana para buscar más caché del sistema. Cuando regreses a la ventana de arriba, haz clic en el botón Aceptar para borrar todos los archivos seleccionados.
  • Borra el caché de la tienda de Windows: Para eliminar el caché de la Tienda Windows, simplemente escribe wsreset.exe en el cuadro de diálogo Ejecutar y haz clic en Aceptar. Luego, el símbolo del sistema aparecerá sin texto. Debes esperar, ya que está eliminando Almacenar caché en segundo plano. Una vez hecho, la aplicación Store se iniciará y la ventana del símbolo del sistema desaparecerá automáticamente.
  • Borrar la memoria caché del navegador: Cuando visites sitios web en tu navegador, se crearán algunos archivos en caché. Puedes eliminar estos datos en caché dentro de su navegador. Aquí, tomo Google Chrome como ejemplo:
    • Abre Chrome, haz clic en el icono de tres puntos y elige Más herramientas > Borrar datos de navegación
    • Establece el rango de tiempo en Todo el tiempo, maca las imágenes y los archivos en caché y haz clic en el botón Borrar datos para borrar todo el caché del navegador.

Diferencias entre borrar datos y borrar caché

Cuando borras los datos en caché de una aplicación, eliminas los archivos temporales colocados allí. Sin embargo, también debes tener en cuenta que no garantiza un mejor rendimiento, y la aplicación puede incluso ser temporalmente más lenta la próxima vez que se use.

Borrar los datos de la aplicación es un paso más severo. Si bien el caché se puede borrar con poco riesgo para la configuración de la aplicación, las preferencias y los estados guardados, al borrar los datos de la aplicación se eliminarán por completo.

Borrar datos restablece una aplicación a su estado predeterminado: hace que su aplicación actúe como cuando la descargaste e instalaste por primera vez.

Borrar el caché no afectará estas configuraciones guardadas. El borrado de los datos almacenados puede, y con toda probabilidad lo hará.

¿Qué pasa si borro todos los datos de caché?

Cuando usas tu navegador para mirar un sitio web por primera vez, almacena información del sitio en archivos temporales en su caché. Cuando vuelvas al sitio, el navegador lo cargará desde la copia de caché en lugar de descargarlo nuevamente desde Internet.

Este proceso tiene como objetivo acelerar la experiencia general de navegación. Las páginas del sitio web pueden contener muchos elementos diferentes: si las cargas desde la versión de caché almacenada, tendrá tiempos de carga más rápidos.

Sin embargo, el almacenamiento en caché de los archivos puede tener algunas desventajas, y a veces tiene sentido borrar el caché.

Maximizando la velocidad y el rendimiento

Si estás durante mucho tiempo conectado a Interent o has accedido a páginas web durante un tiempo prolongado, puedes crear un caché muy grande. Esto puede afectar la velocidad y el rendimiento de tu ordenador mientras navegas en línea, especialmente si tiene poca capacidad de disco duro.

Al borrar el caché liberas espacio y con ello puedes acelerar el rendimiento de tu ordenador.

Ver las páginas más recientes

Cada vez que vuelves a visitar un sitio web, se supone que tu caché verificará si ha cambiado para poder servirte las páginas más actualizadas. Pero eso no funciona siempre; puede ser que el caché cargue la página más antigua guardada, con lo que no conseguirás la versión más nueva.

Al borrar cada cierto tiempo el caché, haces que el navegador tenga que empezar de nuevo. Eso te garantiza que estás viendo páginas e información actualizadas.

Manteniendo la seguridad

Si estás utilizando un ordenador público o una que sea accesible para otras personas, limpiar su caché puede ayudar a proteger tu privacidad. Si no haces esto, cualquiera que use el ordenador y el navegador después de que tú puede ver lo que has estado haciendo.

El caché también puede almacenar datos privados requeridos por algunos sitios web, lo que podría dar al siguiente usuario en el ordenador acceso a información confidencial o personal. Los archivos temporales de la memoria caché también pueden ser un objetivo para archivos de adware, malware y virus.

Corregir errores del navegador

Hay momentos en que tu caché puede causar problemas cuando usas el navegador. Por ejemplo, puede encontrar que ciertos sitios web tardan en cargarse, no se abren, devuelven un mensaje de error, se cuelgan en un punto determinado o se niegan a responder como deberían.

En muchos casos, puedes corregir este tipo de errores borrando el caché antes de cerrar y volver a abrir el navegador.