""

SAP HANA Cloud Series Part 5 – How to Improve Calculation

If you haven’t read the previous posts in this series, we’d recommend you review them before continuing, as each post builds on the topics covered in the previous one. In Part 1 we covered creating a development environment, in Part 2 we looked at table structures and rows, and in Part 3 and Part 4  we showed how to build federated scenarios.

En esta quinta sesión, seguiremos trabajando con calculation views, específicamente aprendiendo a mejorarlas para consultas que utilizan diferentes técnicas, por ejemplo, Union Pruning y Static Cache.

Para los siguientes ejercicios, usaremos solo una instancia. Pero las mismas técnicas también se pueden desarrollar dentro del escenario federado que creamos en las publicaciones anteriores.

En nuestro espacio de trabajo tendremos 2 tablas, T_CUSTOMERS_CY que contiene datos de 2022 y T_CUSTOMERS_PY que contiene datos de años anteriores. Puedes ver las definiciones a continuación:

1. 1. Creación de calculation view

Para empezar, nuestro objetivo es tener todos los datos en una misma calculation view, para ello la estructura de la calculation view se construirá como se muestra a continuación:

We are including the tables involved as a projection and using the union node to obtain all data in a single table. In the union node, you can map the columns one by one, but it is also possible to delegate this task to SAP HANA Cloud using the following option:

NB: Verifique que las fuentes de datos estén bien definidas antes de usar esta opción.

The next step in this definition is to create a constant to differentiate the different data sources in the output of the U_CUSTOMERS node. To do this, click on the ‘+’ button:

Once you click this button, a configuration menu will be opened. Select a suitable name, NVARCHAR as a datatype and a suitable length. See an example below where the constant value for 2022 is ‘CURRENT’ and for the rest of the years is ‘Anterior’:

Este valor será necesario más adelante, cuando usemos el artefacto Analytic Privilege y será un aspecto crucial de la seguridad de la vista.

NB: si tiene un gran conjunto de datos y tiene la intención de acceder solo a una parte de ellos, también es útil filtrar los datos que desea usar para mejorar el rendimiento.

Now build the calculation view to make sure everything is correctly configured. You can preview the data at this point by right clicking the object in the project workspace and selecting the ‘Data Preview’ option, as shown here:

También podemos realizar una vista previa de datos como una función SQL. En este caso, el código que se usaría sería como el que se muestra aquí:

2.  Static Cache

Otra técnica para minimizar la transferencia de datos necesaria es hacer uso del almacenamiento en caché. El almacenamiento en caché es una técnica en la que almacena los datos tal como están en este momento y si llega otra consulta y el tiempo de almacenamiento aún es válido, los datos se toman de este almacenamiento intermedio.

El almacenamiento en caché solo tiene sentido si ya ha preprocesado sus datos, por lo que la idea es almacenar los datos después de este preprocesamiento. Por ejemplo, si los usuarios suelen trabajar con solo unas pocas columnas, tiene sentido definir la memoria caché para estas columnas.

Enabling this option is very simple. In SAP HANA Cloud, go back to Business Application Studio and click on your semantics node. Go to ‘View Properties’ > ‘Static Cache’, select the ‘Enable Cache’ option, and modify the retention period to the desired one. After that define the cache, in this example case, let’s assume that users typically use all columns apart from the current year:

Cuando finalice la configuración, simplemente vuelva a desplegarla vista para completar el proceso.

3. Conclusión

In today's exercises, we’ve covered how to perform a simple data modeling in a calculation view with a union node, and learned how to optimize its performance using the caching technique. All that remains is to ensure that we have secured the data involved, which we’ll cover in our next and final article in this SAP HANA series - Part 6 - so keep an eye on the Clariba blog for further updates.

Para finalizar con ese desarrollo y como último paso, solo resta la seguridad necesaria sobre los datos contenidos, consulta la siguiente parte para saber cómo hacerlo.


EspañolEnglish