¿SQLScript?

SQLScript es una variante del lenguaje estándar SQL-92 (Structured Query Language), diseñado por SAP para obtener el máximo beneficio de un sistema de base de datos de SAP HANA. Tanto el SQL estándar, como SQLScript pueden ser usados en HANA. El SQL tradicional se puede utilizar para crear tablas de datos (cuando las estructuras de metadatos no pueden ser importadas). También se pueden utilizar SQL para crear vistas de cálculo (calculation views), para manipular los datos y gestionar transacciones.


SQLScript es una variante del lenguaje estándar SQL-92 (Structured Query Language), diseñado por SAP  para obtener el máximo beneficio de un sistema de base de datos de SAP HANA. Tanto el SQL estándar, como SQLScript pueden ser usados en HANA. El SQL tradicional se puede utilizar para crear tablas de datos (cuando las estructuras de metadatos no pueden ser importadas).  También se pueden utilizar SQL para crear vistas de cálculo (calculation views), para manipular los datos y gestionar transacciones.

Muestra de la sintasis de SQLScript

SQLScript está compuesto por un grupo extensiones (Data Extensions, Procedural Extensions y Functional Extensions) que contribuirán a que las operaciones con los datos se ejecuten sobre la base de datos HANA, utilizando de la mejor manera su arquitectura para obtener el máximo  rendimiento del sistema. Para este fin, destacan las funciones CE:

Funciones CE más populares de SQLScript de SAP HANA

Mensaje final: si estás escribiendo sentencias SQL en SAP HANA, siempre que puedas, utiliza la sintaxis de SQLScript para obtener el mejor rendimiento al acceder a la información.

«Esto es» como «este otro»… o la comodidad de «encontrar» similitudes entre las cosas

Estas son algunas expresiones que hemos escuchado en el mundo de la consultoría informática. Nadie quiere complicarse, pero se «peca» en el afán de simplificar todo con el fin de convencer y no entrar en detalles que quizás por desconocimiento se trata de evitar. No pretendemos asustar a nadie, sino de afrontar cada reto tecnológico con todo el conocimiento necesario para identificar las verdaderas posibilidades y limitaciones, y de este modo, gestionar adecuadamente su implementación.


  • BPC es como Excel,
  • La 10 es como la 7.5,
  • BusinessObjects es como MicroStrategy,
  • Una migración a BW sobre HANA es como cualquier otra migración… Plop!!!

Estas son algunas expresiones que hemos escuchado en el mundo de la consultoría informática.  Nadie quiere complicarse, pero se «peca» en el afán de simplificar todo con el fin de convencer y no entrar en detalles que quizás por desconocimiento se trata de evitar.  No pretendemos asustar a nadie, sino de afrontar cada reto tecnológico con todo el conocimiento necesario para identificar las verdaderas posibilidades y limitaciones, y de este modo, gestionar adecuadamente su implementación.

La necesidad de simplificar, resumir, asociar, catalogar o clasificar es parte de la naturaleza humana, pero dependiendo en qué contexto se formule, su utilidad o inutilidad tendrá un impacto directo sobre las cosas que se hagan.  Si se trata de la implementación de un producto SAP podemos señalar las siguientes premisas:

  • Ningún producto es similar a otro producto SAP, al de otro fabricante e inclusive las diferencias pueden ser importantes entre las versiones del mismo producto.
  • Difícilmente un producto SAP podrá llevar la etiqueta de producto terminado. La innovación es constante y en muchas ocasiones la madurez o estabilización del producto se logra cuando el producto es liberado y lo comienzan a utilizar los usuarios.
  • Las fortaleza de un producto son conocidas desde un inicio, pero muchas de las debilidades o limitaciones se descubren durante los períodos de implementación.

Las similitud informática no existe y menos entre SAP HANA con relación a la tecnología del pasado, y más aún, si sabe que SAP HANA presenta novedades constantemente.

Notas para gestionar las alertas de un sistema SAP HANA

Los administradores de un sistema SAP HANA deben controlar activamente el estado del sistema, los servicios que se están ejecutando y el consumo de los recursos que se esté realizando. Un sistema SAP HANA tiene un amplio conjunto de alertas que comunican sobre situaciones críticas, como por ejemplo consumo elevado de memoria, falta espacio en disco, algún servidor detenido o uso de CPU en límites máximos.


Los administradores de un sistema SAP HANA deben controlar activamente el estado del sistema, los servicios que se están ejecutando y el consumo de los recursos que se esté realizando.  Un sistema SAP HANA tiene un amplio conjunto de alertas  que comunican sobre situaciones críticas, como por ejemplo consumo elevado de memoria, falta espacio en disco, algún servidor detenido o uso de CPU en límites máximos.

El responsable de recopilar esta información es el Servidor de Estadísticas (Statistics Server) de SAP HANA, este componente verifica constantemente las condiciones para la generación de las alertas. La prioridad de la alerta indica la gravedad del problema y depende de la naturaleza de la comprobación y los valores de umbral configurados en la alerta. Por ejemplo, si se está utilizando el 90% del espacio disponible en el disco, se emite una alerta de baja prioridad, si se llega a utilizar el 98%, se emitirá una alerta de alta prioridad.

Las alertas del sistema se pueden consultar y controlar a través de SAP HANA Studio, tanto los valores actuales como los históricos, almacenados en la base de datos de HANA (esquema _SYS_STATISTICS). Saber gestionar las alertas del sistema SAP HANA es muy importante, a continuación compartimos tres notas que detallan las categorías de alertas más críticas:

«Process algorithms» y «Database Predictive algorithms» en SAP Predictive Analysis

Cuando se tiene los datos que se desean analizar en SAP Predictive Analysis (PA), se deberán aplicar algoritmos para identificar patrones en los datos. PA incluye algoritmos propios, (denominados nativos ), adicionalmente se puede utilizar los algoritmos del Lenguaje R (si se ha configurado este componente Open Source) y si se cuenta con SAP HANA, se puede utilizar los algoritmos de la Predictive Analysis Library (PAL) de esta plataforma.


Cuando se tiene los datos que se desean analizar en SAP Predictive Analysis (PA), se deberán aplicar algoritmos para identificar patrones en los datos.  PA incluye algoritmos propios, (denominados nativos ), adicionalmente se puede utilizar los algoritmos del Lenguaje R (si se ha configurado este componente Open Source) y si se cuenta con SAP HANA, se puede utilizar los algoritmos de la Predictive Analysis Library (PAL) de esta plataforma. 

Escenarios de configuración de SAP Predictive Analysis

Cuando los algoritmos se ejecutan en el cliente se denominan de tipo Process algorithms  y cuando se ejecuta a nivel de base de datos SAP HANA se denomian del tipo Database Predictive algorithms.

Algoritmos soportados en SAP Predictive Analysis

Sólo en el modo de conexión «HANA Online» de PA se puede utilizar los algoritmos de la PAL y combinados con el Lenguaje R, en este último caso, R debería estar configurado para utilizarlo con PA y HANA, así mismo, se deberá contar con la autorización para crear scripts R en HANA (revisar el documento “SAP HANA R Integration Guide”).

Factores que influyen en la rapidez de SAP HANA

SAP HANA es una combinación de hardware y software, ambos, especialmente diseñados para trabajar conjuntamente y brindar el máximo rendimiento en el procesamiento de datos. Pero este máximo rendimiento, que a menudo se refiere como menores tiempos de respuesta en el procesamiento de grandes volúmenes de información, de debe a las tecnologías que se han adoptado en esta plataforma:


SAP HANA es una combinación de hardware y software, ambos, especialmente diseñados para trabajar conjuntamente y brindar el máximo rendimiento en el procesamiento de datos.  Pero este máximo rendimiento, que a menudo se refiere como menores tiempos de respuesta en el procesamiento de grandes volúmenes de información, de debe a las tecnologías que se han adoptado en esta plataforma:

  • Procesamiento en memoria, 
  • Almacenamiento basado en columnas (column-based storage)
  • Técnicas de compresión de datos
  • Procesamiento paralelo (multicore CPUs y clusters de servidores)

Bases de datos en memoria

Usando la tecnología de base de datos en memoria es el factor que más influye en los menores tiempos de respuesta, porque evita los accesos a dispositivos electromecánicos como pueden ser los discos duros, considerablemente más lentos que el acceso a la memoria.

Procesamiento lógico en base de datos

Los clásicos sistemas de bases de datos  generan un tráfico de ida y vuelta con las aplicaciones que requieren procesar los datos.  SAP HANA también se diferencia en este aspecto, al ofrecer la posibilidad de efectuar los cálculos lógicos en la base de datos, evitando el tráfico que repercute en el tiempo global de respuesta.

Almacenamiento en columnas

El almacenamiento en columnas es una técnica optimizada para las tareas de lectura de datos, muy superior al clásico sistema de almacenamiento en filas, optimizado para las tareas de escritura de datos.  SAP HANA trabaja con los dos sistemas de almacenamiento, lo usual es que la mayoría de tablas sean de tipo de almacenamiento basado en columnas, a menos que se trate de una tabla con tareas intensivas de inserción/modificación de datos o si se recuperarán en los informes todas las columnas de la tabla.

SAP HANA no escribe directamente sobre las tablas basadas en columnas porque esta no están  optimizadas para las tareas de escritura, en estos caso hace uso de tablas temporales del tipo basadas en filas y luego en procesos en segundo plano (Delta Merge) lleva los datos a la respectiva tabla. 

Diseño en la Implementación

Hay otros aspectos que también influyen en la rapidez de SAP HANA, ajenos a las consideraciones técnicas de la configuración original de la plataforma, más propios a las tareas que deben realizar los implementadores, tales como el diseño de los modelos de datos y o la construcción de las vistas de información.