Puede configurar almacenamiento en memoria caché en línea para un programa de fondo de base de datos o como una memoria complementaria para una base de datos. El
almacenamiento en memoria caché en línea utiliza
eXtreme Scale como el medio principal
para interactuar con los datos. Cuando se utiliza eXtreme Scale como una memoria caché en línea, la aplicación interactúa con el programa de fondo mediante un plug-in Loader.
Memoria caché en línea
Cuando se utiliza como una memoria caché en línea,
WebSphere eXtreme
Scale interactúa con el programa de fondo utilizando un plug-in Loader. Este escenario puede simplificar el acceso a datos porque las aplicaciones pueden acceder a las API
eXtreme Scale directamente. Se da soporte a distintos escenarios de almacenamiento en memoria caché en
eXtreme Scale para garantizar que los datos de la memoria caché y los datos del programa de fondo estarán sincronizados.
El diagrama siguiente
ilustra cómo una memoria caché en línea interactúa con la aplicación y el
programa de fondo.
Figura 1. Memoria caché en línea
La opción de memoria caché en línea simplifica el acceso de datos, porque permite a las aplicaciones acceder a las API de eXtreme Scale
directamente. WebSphere
eXtreme Scale soporta varios escenarios de memoria caché en línea, del modo siguiente.
- Lectura directa
- Grabación directa
- Grabación diferida
Caso de ejemplo de almacenamiento en memoria caché de lectura directa
Una memoria caché de lectura directa es una memoria caché escasa que carga de forma poco activa entradas de datos por clave cuando se solicitan. Esto se lleva a cabo sin que el solicitante sepa cómo se llenan las entradas. Si los datos no se pueden encontrar en la memoria caché de
eXtreme Scale,
eXtreme Scale recuperará los datos que faltan del plug-in
Loader, que carga los datos de la base de datos de programa de fondo y los inserta en la memoria caché. Las solicitudes subsiguientes para la misma clave de datos se encontrarán en la memoria caché hasta que se elimina, anula o desaloja.
Figura 2. Almacenamiento en memoria caché de lectura directa
Caso de ejemplo de almacenamiento en memoria caché de grabación directa
En una memoria caché de grabación directa, cada grabación en la memoria caché graba de forma síncrona en la base de datos mediante el cargador. Este método proporciona coherencia con el programa de fondo, pero reduce el rendimiento de grabación porque la operación de la base de datos es síncrona.
Como que la memoria caché y la base de datos están actualizadas, las lecturas subsiguientes para los mismos datos se encontrarán en la memoria caché, evitando la llamada a la base de datos. Una memoria caché de grabación directa suele utilizarse junto con una memoria caché de lectura directa.
Figura 3. Almacenamiento en memoria caché de grabación directa
Caso de ejemplo de almacenamiento en memoria caché de grabación anticipada
La sincronización de base de datos se puede mejorar grabando los cambios de forma asíncrona.
Esto se conoce como memoria caché de grabación diferida o de grabación aplazada.
En su lugar, los cambios que normalmente se grabarían de forma síncrona en el cargador se colocarán en el almacenamiento intermedio de
eXtreme Scale y se grabarán en la base de datos utilizando una hebra de subordinada. El rendimiento de grabación se mejora de forma significativa porque la operación de la base de datos se elimina de la transacción del cliente y se pueden comprimir las grabaciones de la base de datos.
Figura 4. Almacenamiento en memoria caché de grabación diferida