MicroStrategy Types of Caches
Joaquin Attanasio

Joaquin Attanasio

Business Intelligence Consultant | Microstrategy Expert | Data Specialist

Otros Artículos:

MicroStrategy Types of Caches

Share on linkedin
LinkedIn
Share on facebook
Facebook
Share on twitter
Twitter
Share on whatsapp
WhatsApp

¡Muy buenos días a todos! Otra semana más nos encontramos en nuestro espacio favorito, el rinconcito de los curiosos y descubridores conocido como #BestInMicro 

Types of Caches

Hoy seguiremos adentrándonos un poco más en las técnicas de optimización y haremos un repaso por los distintos tipos de caches que hay en MicroStrategy.

Como bien habrán notado, en el artículo anterior hablábamos del cache de reportes específicamente, pero hay otros tipos de cache que toman parten en la optimización de la herramienta. Vamos a analizarlos. 

9 Tipos de Caches en MicroStrategy

Comencemos por los básicos y ya conocidos, que pueden ser administrados desde el menú de MicroStrategy: 

Report Caching

Report Caches: No hay mucho que agregar a esta explicación, son los resultados que se calculan y se procesan por una primera vez y luego ya se presentan con el resultado obtenido previamente. Pueden almacenarse en la memoria del Intelligence Server o en el disco (en forma de fichero).  Como habíamos comentado en la diferencia entre history list y report caching, el historial es también una forma de “cachear” los resultados del informe por usuario.  

Element Caches: Para quien no lo registre aún, los elementos son los objetos representados con el cubito rojo. La cache de elementos es un cache que se almacena en la memoria del Intelligence server. Esta guarda los valores de las tablas de lookup de los atributos, y permite optimizar la navegación, principalmente cuando queremos seleccionar los valores para algún filtro o navegando por la jerarquía. 

Types of Caches Element

Hay que tener siempre presente este tipo de caches, ya perdí la cuenta de la cantidad de veces que usuarios se han quejado porque no podían ver algún valor en un filtro y era porque había actualizado los valores en base de datos y estos aún seguían cacheados en MicroStrategy.   

Object Caches: Esta cache es similar a la anterior, solo que, en vez de guardar valores, estamos guardando objetos. Obviamente con esta definición no estoy explicando la formula del plutonio, pero es que no hay mucho más que acotar. Así como en el ejemplo anterior eran caches que se veían afectadas con actualización de información, este tipo de caches puede ser útil limpiarlo al hacer alguna importación de un paquete con el object manager, o alguna modificación a nivel de esquema que pueda afectar objetos de forma indirecta, como alguna relación padre-hijo.   

Ahora les traigo unos que ya no todo el mundo conoce su existencia. Sigamos con los Cachés de páginas. Cuando un usuario visualiza un dossier publicado, el Intelligence Server genera un objeto caché por página, de modo que la caché se puede reutilizar cuando el usuario cambia de página a otra. Esto es una de las novedades que fueron agregando en las últimas versiones.  

Algo similar podemos encontrar cuando hablamos de Cachés en Mobile. A la hora de definir el home screen de la configuración de la aplicación, podemos seleccionar distintos documentos y páginas que se pre-cargarán al ejecutar la aplicación. Es posible definir un listado en orden para ir cargándose al iniciar la app y así optimizar la experiencia de usuario. 

Types of Caches Object

Siguiendo con la lista, y no quiero pecar de repetitivo, si parece todo lo mismo (y no es que esté cacheado el speech… je, lo sé, muy mal chiste) pasamos a hablar de los Result caches. 

Estos son resultados que se guardan en memoria sobre conjuntos de información. Un gran ejemplo de este tipo de caches son los intelligent Cubes. Quienes han jugado un poco con el import data, habrán visto que estos generan cubos, escapando un poco al concepto histórico de cubos que tenemos los más veteranos en la herramienta. Este tipo de información almacenada es la que corresponde a este tipo de caches.

Luego, nos encontramos con los Server Caches, que podemos diferenciarlos o dividirlos en dos tipos: 

La configuración que controla la caché de objetos del lado servidor para los objetos de esquema y aplicación. A este se le asigna una capacidad. Muy similar a los mencionados anteriormente, pero en vez de objetos pertenecientes a los usuarios, hace referencia a los objetos más relacionados con el uso interno del Intelligence server. 

La configuración que rige la caché de objetos del lado servidor para los objetos de configuración (usuarios, grupos, schedules, etc). Se trata de una configuración de nivel de servidor que se aplica a los objetos de configuración. De forma predeterminada, 2048 objetos de servidor se mantienen en caché. 

Por último, nos encontramos con los XML caches. Estos funcionan igual que los report caches, y de hecho están asociados a ellos, pero estos se generan cuando la ejecución se realiza desde el web Server. Este tipo de caches, aunque sea redundante, esta generado en formato XML, agilizando así no solo el resultado, sino que también la presentación de la información en web. 

En caso contrario, por ejemplo, cuando un informe solo se envía al historial, no se genera ninguna caché XML. Esto se debe a que el Intelligence Server no tiene que generar el XML porque los resultados nunca se enviaron al servidor web, es decir, no se visualizaron… ¿se entiende la diferencia? 

Si todavía no queda claro, el KB8934 me fue de utilidad para terminar de cerrar la idea.  

Gestión de caches

La configuración de todos los tipos de caché, excepto las cachés de página y la lista de historial, se especifica en “Almacenamiento en caché”, en el editor de configuración del proyecto. 

Los ajustes de caché de página se configuran a través de las Application properties > cache files Management en MicroStrategy Workstation.  

La configuración del history list se especifica en el Editor de configuración de Intelligence Server.  

Los servers caches se administran en Project Configuration > Caching > Auxiliary Caches > Objects > Maximum RAM Usage (MBytes) 

Types of Caches Auxiliary

Por último, las cachés de resultados, elementos y objetos se crean y almacenan para proyectos individuales, no se comparten entre proyectos. Cabe destacar que, para realizar cambios en la configuración de la memoria caché, debe tener el privilegio “Administrar cachés”. Además, los cambios en la configuración de caché no surten efecto hasta que detenga y reinicie Intelligence Server. 

Conslusiones

¿Y? ¿Los conocían todos? ¿Los utilizan? Pensar que la optimización de la herramienta y reducir al mínimo los tiempos de espera es un factor clave para los usuarios, y aquí tenemos 9 distintos puntos donde se puede hacer una diferencia. Pero, ¡mucho cuidado! Recuerden que el cachear información es como sacarle una foto en un momento especifico, y las consecuencias de mostrar información desactualizada puede ser mucho peor que esperar unos segundos más de ejecución, así que, como diría una madre: todo lo que hagas, ¡con criterio!  

Los espero la próxima, espero que les resulte útil, ¡y no duden en preguntar o pedir más info de los temas que les interese!

Fuentes

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *