sql-server windows

sql server - Diferencia de búfer y caché?



sql-server windows (4)

¿Alguien puede detallar? ¿Cuál es la diferencia entre Buffer y Caché en la memoria del sistema?


Añade algo de Wiki sobre la diferencia entre Buffer y Cache .

Un búfer es una ubicación de memoria temporal que se usa tradicionalmente porque las instrucciones de la CPU no pueden abordar directamente los datos almacenados en dispositivos periféricos. Por lo tanto, la memoria direccionable se utiliza como una etapa intermedia. Además, un búfer de este tipo puede ser factible cuando un gran bloque de datos se ensambla o se desmonta (según lo requiera un dispositivo de almacenamiento), o cuando los datos se pueden entregar en un orden diferente al que se produce. Además, generalmente todo el búfer de datos se transfiere de forma secuencial (por ejemplo, al disco duro), por lo que el búfer en sí mismo a veces aumenta el rendimiento de la transferencia o reduce la variación o la inestabilidad de la latencia de la transferencia en lugar del almacenamiento en caché, donde la intención es reducirla. Estos beneficios están presentes incluso si los datos del búfer se escriben en el búfer una vez y se leen del búfer una vez.

Un caché también aumenta el rendimiento de transferencia. Una parte del aumento proviene de la posibilidad de que múltiples transferencias pequeñas se combinen en un bloque grande. Pero la principal ganancia de rendimiento se produce porque hay una buena probabilidad de que los mismos datos se lean de la memoria caché varias veces, o de que los datos escritos pronto se lean. El único propósito de un caché es reducir los accesos al almacenamiento más lento subyacente. La memoria caché también suele ser una capa de abstracción diseñada para ser invisible desde la perspectiva de las capas vecinas.


Un búfer es solo un contenedor para almacenar datos durante un corto período de tiempo cuando llegan más en un momento dado de lo que un consumidor puede usar / procesar. Es una situación de primero en entrar, primero en salir: los datos entran, pueden almacenarse en búfer y salen en el mismo orden en que entraron, después de un tiempo.

Un caché es un almacenamiento para acelerar ciertas operaciones. Las cosas se ponen en un caché, y deben recuperarse varias veces, una y otra vez. No hay ningún tipo de mecanismo que "fluya a través de la memoria caché" (los datos no entran y salen en el mismo orden), pero es solo un contenedor de retención. El orden puede ser cualquier cosa, realmente: los elementos se tratan a través de una clave, no "fluyen", sino que se "ponen" y permanecen allí (hasta que se desechan debido a que no se utilizan, o porque el sistema baja).


Un búfer es como un tambor que puede contener datos y vaciarlos ... Por otro lado, el caché se utiliza para agilizar sus operaciones.


Un buffer es una colección contemporánea de ubicación donde se gestiona o desmonta una gran cantidad de datos. Esto puede ser básico para la interacción con un conjunto de dispositivos de recopilación que necesita enormes bloques de información, o cuando los datos se deben proporcionar de una manera diferente a la que se creó, o raramente son considerables cuando no son suficientes los menos bloques. La ventaja está aquí incluso si los datos almacenados en el búfer se almacenan en el búfer una vez y se obtienen del búfer una vez.

Un cache , en el otro lado, piensa que los datos se obtendrán del caché más una vez de lo que están escritos en ellos. Su objetivo es disminuir los accesos al stock subyacente. El búfer es un caché programable administrado por el sistema operativo en el almacenamiento principal y se usa para tener los datos más necesarios del disco, de modo que no es necesario volver a obtenerlos de la memoria. Esta característica está disponible por el sistema operativo. Mientras que la memoria caché está en un hardware real que usa la CPU para reducir el tiempo efectivo de acceso a la memoria.