Como ya sabemos, una de las características de SAP HANA es la posibilidad de trabajar con cargas de trabajo (Workload Management) tanto OLAP como OLTP gracias a su diseño columnar en memoria.

A veces puede ser interesante enfocarnos más en una determinada característica (OLAP o OLTP) por la propia necesidad de nuestra solución mejorando así los tiempos de respuesta.

Los tipos de enfoques que podemos conseguir afinando la configuración son:

  • Carga de trabajo OLAP. Enfocado en sistemas Data Warehouse. (BW).
  • Carga de trabajo OLTP. Enfocado en sistemas transaccionales. (ERP).
  • Carga de trabajo mixta. Para ERPs con reportes analíticos (S4).
  • Carga de trabajo interna propios de HANA. (Merges, backups, savepoints).

Podemos clasificar las cargas de trabajo basándonos en la información del usuario y su contexto, pudiendo establecer así diferentes limitaciones.

Los perfiles de carga de trabajo permiten que SAP HANA varíe en el consumo dinámico de recursos.

Los parámetros que influyen en esta configuración son:

  • statement_thread_limit.
    Con este parámetro establecemos un límite en el número de subprocesos, evitando así demasiado procesamiento concurrente.
  • statement_memory_limit.
    Con este parámetro establecemos un límite en la memoria, evitando así que una sentencia o ejecución consuma demasiada.
  • statement_priority.
    Con este parámetro podemos modificar la prioridad de nuestras ejecuciones.

Para crear una clase de carga de trabajo (Workload class) podemos usar el siguiente comando:

create workload class «Buceando» set ‘PRIORITY’ = ‘9’, ‘STATEMENT MEMORY LIMIT’ = ‘2’ , ‘STATEMENT THREAD LIMIT’ = ’10’;

Ahora crearemos un usuario para poder asignarle la carga de trabajo que creamos anteriormente, para ello:

create user SMONROBE password Abcd1234;
call GRANT_ACTIVATED_ROLE (‘sap.hana.admin.roles::Monitoring’, ‘SMONROBE’);
call GRANT_ACTIVATED_ROLE (‘sap.hana.admin.roles::Administrator’, ‘SMONROBE’);
call GRANT_ACTIVATED_ROLE (‘sap.hana.xs.lm.roles::Administrator’, ‘SMONROBE’);
GRANT WORKLOAD ADMIN to SMONROBE;
alter user SMONROBE disable password lifetime;

El resultado debería ser algo parecido a:

Una vez que está creado, como dijimos anteriormente, le asignamos la carga de trabajo “Buceando”.

 

 

 

Una vez asignada, podemos ver que nuestro usuario SMONROBE tiene asignada la carga de trabajo “Buceando”.

 

Read more