Los motores de SAP HANA

SAP HANA trabaja con información en tablas con almacenamiento en filas o en tablas con almacenamiento en columnas. Para procesar esta información existe un componente específico según cómo y qué se esté solicitando para obtener los mejores tiempos de respuesta.


SAP HANA trabaja con información en tablas con almacenamiento en filas o en tablas con almacenamiento en columnas.  Para procesar esta información existe un componente específico según cómo y qué se esté solicitando para obtener los mejores tiempos de respuesta.

Vistas vs Motores de procesamiento SAP HANA

Estos componentes se denominan motores (Engine):

  • OLAP Engine.  Procesa consultas analíticas básicas.  Estas consultas se construyen a través de la definición de modelos físicos o lógicas (vistas analíticas) y se vinculan tablas construyendo una estructura denominada “esquema en estrella” (una o más tablas, que cumplen el papel de “dimensiones”, se vinculan a una o más tablas que cumplen el papel de “hechos”).
  • Calculation Engine. Procesa las consultas complejas o los modelos lógicos diseñados en las vistas calculadas.
  • Join Engine. Es el motor que procesa las sentencias SQL estándar como las que se pueden lograr construir a través de las vistas de atributos.
  • Row Engine. Procesa consultas SQL más complejas, las que acceden a tablas con almacenamiento en filas o con lógicas recursivas.

Cada motor es especializado para cada tipo de estructura de datos, los rendimientos de cada uno de estos motores es distinto, por lo que el rendimiento global será la suma de todos los motores que interviene en un proceso.   Por este motivo, es importante realizar el diseño más óptimo, tanto de las estructuras de datos como en las consultas o esquemas lógicos, para obtener los mejores tiempo de respuesta, SAP HANA, por sí sólo, no hace milagros.

¿Qué tienen en común un milhojas y SAP HANA?: Están compuestos por capas

Buscando una forma simple de explicar SAP HANA encontramos en la analogía de las capas, que puede conformar cualquier cosa, una alternativa por experimentar, por ejemplo, podríamos señalar lo siguiente:


Milhojas, además de los ingredientes o compuestos, como en todo, lo más importante es cómo se combinanBuscando una forma simple de explicar SAP HANA encontramos en la analogía de las capas, que puede conformar cualquier cosa, una alternativa por experimentar, por ejemplo, podríamos señalar lo siguiente: Un milhojas es un dulce compuesto por capas de hojaldre, cubiertas de crema y espolvoreado con azúcar glas. Luego podríamos agregar: Lo más importante son las capas de hojaldre porque de estas capas deriva el nombre de este dulce. Pero, ¿qué es más importante, las parte o cómo estas son combinadas, unidas o enlazadas?

SAP HANA es un conjunto de capas de hardware y software organizadas para procesar los datos del negocio en tiempos sustancialmente mejores que cualquier otra alternativa. La base de datos, la tecnología in-memory computing, los bancos de memoria o los sockets de CPUs no son más que piezas de este puzle que posibilita el procesamiento de la información en tiempo real. No encontramos mejor término para referirnos a SAP HANA que el de “Plataforma”.

Principales capas de SAP HANA

Al señalar que SAP HANA es una base de datos, mencionamos sólo una parte de lo que representa este conjunto de componentes, y por consiguiente limitamos la visión a las posibilidades:

  • SAP HANA puede ser el data warehouse de una organización y/o los data marts de las áreas de negocio.
  • SAP HANA puede ser la plataforma para gestionar las transacciones diarias del negocio y/o para analizar la información actual e histórica.
  • SAP HANA puede ser la herramienta para comprender el pasado o para descubrir posibles escenarios futuros.
  • SAP HANA puede ser el framework para desarrollar, sin restricción, cualquier aplicación a medida con toda la tecnología in-memory computing.

La «Nota Central» de HANABPC para BPC NW 10.0 on HANA

Sea con la expresión “Collective Note” o con “Central Note” existen notas centrales que recopilan, a modo de índice, las notas SAP sobre un determinado producto, componente o inclusive, necesidad, como puede ser la mejora de rendimiento de una herramienta.


Sea con la expresión “Collective Note” o con “Central Note” existen notas centrales que recopilan, a modo de índice, las notas SAP sobre un determinado producto, componente o inclusive, necesidad, como puede ser la mejora de rendimiento de una herramienta.

En el caso del componente HANABPC esta nota es la 1734706, en este documento se señalan las notas de cada Service Pack (SP) relacionadas al componente que posibilita el uso de SAP Business Planning and Consolidation 10.0 NW (SAP BPC) sobre la plataforma SAP HANA.  En la actualidad este componente se encuentra en  el nivel de actualización SP05 (para HANABPC 800) y SP02 (para HANABPC 801) que corresponden al SP11 de SAP BPC 10.0 NW

Se debe recordar que existen dos versiones de componentes HANABPC, la 800 para BPC 10.0 NW para entornos NW 7.30 y la 801 para BPC 10.0 NW para NW 7.31 y 7.40.  La nota 1734706 debe ser consultada cuando se publique una actualización para ver las correcciones o mejoras que incluyen. Para SAP BPC NW 7.5 existe una versión para HANA (aquí y aquí posts al respecto) pero apenas vemos novedades para este componente.

“Write-back optimizing on HANA” para SAP BPC on HANA (#HANABPC)

La actualización SP11 de SAP Business Planning and Consolidation 10.0 NW (SAP BPC) y la del componente HANABPC 800.SP05/801.SP02, para los usuarios SAP BPC on HANA es la más importante desde que en la actualización SAP BPC 10.0 SP06 (marzo 2012) se introdujera la posibilidad de llevar BPC a la plataforma SAP HANA.


La actualización SP11 de SAP Business Planning and Consolidation 10.0 NW (SAP BPC) y la del componente HANABPC 800.SP05/801.SP02, para los usuarios SAP BPC on HANA es la más importante desde que en la actualización SAP BPC 10.0 SP06 (marzo 2012) se introdujera la posibilidad de llevar BPC a la plataforma SAP HANA.

A diferencias de anteriores actualizaciones, el último service pack de HANABPC no tan sólo incluye correcciones, sino también mejoras como las comentadas en las últimas entradas (aquí, aquí y aquí).

Las nuevas funcionalidades de BPC on HANA como la «Desagregación de datos» o el procesamiento del RUNALLOCATION en la capa SAP HANA, son posibles porque ahora existe una tabla de hechos en HANA Database, similar a la que se tiene en la arquitectura de SAP BPC NW clásico, utilizada en las operaciones de grabación de datos (operación denominada en BPC como Write-Back). 

La nueva característica se denomina “Write-back optimizing on HANA” y permite grabar los datos calculados inmediatamente (en la tabla de hechos en HANA), evitando la intervención de la capa de aplicación y BW, obteniéndose considerables mejoras en el procesamiento de los datos.  SAP ofrece mecanismos de sincronización entre la tabla in-memory en HANA y la correspondiente tabla de hechos en BW.

Referencia: SAP Note 1902743

Ejecución de la lógica SAP BPC 10.0 NW en la capa SAP HANA (#HANABPC)

Si menospreciaste los Script Logics de SAP BPC NW (SAP Business Planning and Consolidation) y decidiste implementar toda la lógica y cálculos con código ABAP (a través de BAdIs, o peor aún, sin ellas) porque valoraste que así era más rápido y pensaste que esto sería así toda la vida… ya puedes acercarte a la pared más cercana y comenzar con los cabezazos sin parar… PORQUE SAP YA ESTA LLEVANDO LOS CALCULOS DE LA LOGICA SAP BPC A NIVEL DE SAP HANA DATABASE!!!.. y ¿quién puede asegurar que jamás tendrá SAP HANA?


Si menospreciaste los Script Logics de SAP BPC NW (SAP Business Planning and Consolidation) y decidiste implementar toda la lógica y cálculos con código ABAP (a través de BAdIs, o peor aún, sin ellas) porque valoraste que así era más rápido y pensaste que esto sería así toda la vida… ya puedes acercarte a la pared más cercana y comenzar con los cabezazos sin parar… PORQUE SAP YA ESTA LLEVANDO LOS CALCULOS DE LA LOGICA SAP BPC A NIVEL DE SAP HANA DATABASE!!!.. y ¿quién puede asegurar que jamás tendrá SAP HANA?

Uno de los cálculos más solicitados en un proyecto SAP BPC es la posibilidad de repartir, distribuir, asignar, desagregar, simular operaciones top-down, u otras tareas con denominaciones similares. Para estos casos SAP BPC ofrece la posibilidad de realizar la operación a través de codificación de pequeñas rutinas con su pseudolenguaje denominado Script Logic, el cual, actualmente se ejecuta en la capa ABAP de la arquitectura de este sistema.

Extracto de la presentación Exploring the Synergistic Relationships Between BPC, ASUG - 09SEP2013

La novedad es que la sentencia Script Logic, específica para los fines que se comentan en el párrafo anterior (*RUNALLOCATION/*ENDALLOCATION), desde la actualización SP11 de SAP BPC 10.0 NW y del correspondiente componente HANABPC (800 SP05 / 801 SP02) en una instalación SAP BPC on HANA se puede ejecutar en la capa HANA evitando cualquier iteración con la capa de la aplicación, mejorando considerablemente los tiempos de procesamiento. Si por alguna “extraña” circunstancia no se deseará utilizar esta funcionalidad, podría ser desactivada vía parametrización (DISABLE_ALLOCATION_ON_HANA = X).

NUEVA CLAUSULA PARA LOS REPARTOS

Las actualización SP11 de SAP BPC NW también incluye una nueva cláusula, disponible tanto para instalaciones HANA como no-HANA, para utilizarla en las estructuras RUNALLOCATION/ENDALLOCATION con el fin de evitar estructuras FOR/NEXT. Se trata de una variante de la clásica sentencia *DIM, denominada *DIM_NONAGGR, la cual no agregaría los miembros de dimensión seleccionados:

Comparativa entre la clasica sentencia DIM y la nueva DIM_NONAGGR en la estructura RUNALLOCATION

Referencia: SAP Note 1903167