Terminología sobre Correcciones y Mejoras en SAP HANA

En cuanto a las correcciones y mejoras que pueden liberarse en SAP HANA, existe una terminología similar a otras plataformas de SAP, quizás con ciertos matices que tratamos de aclarar a continuación:


En cuanto a las correcciones y mejoras que pueden liberarse en SAP HANA, existe una terminología similar a otras plataformas de SAP, quizás con ciertos matices que tratamos de aclarar a continuación:

  • Revisions. Se trata de correcciones para los componentes centrales o core tales como SAP HANA Database, Clientes, Application Fuction Library o SDA).
  • Support Packages (SP). Incluye correcciones o mejoras de todos los demás componentes de SAP HANA, que no cubre una revisión.
  • Support Package Stack (SPS). Se trata de nuevas capacidades o funcionalidades, las cuales tienen una ferecuencia de dos vesces al año. Incluyen las revisiones o SP previos.

La numeración de las SPS y revisiones están alineadas para facilitar su identificación. Por ejemplo, la revisión 90 se refiere a la primera revisión del SPS 09.

Revisiones, SP y SPS de SAP HANA

Anuncio publicitario

La distribución de tablas en SAP HANA

En un sistema de base de datos, las tablas pueden ser distribuidas en distintos hosts para brindar balanceo de carga y evitar problemas de tipo OOM (Out of memory). En SAP HANA la distribución de tablas sólo es posible en un escenario Scale-out (uso de múltiples procesadores como una sola entidad), a través de los siguientes mecanismos:


En un sistema de base de datos, las tablas pueden ser distribuidas en distintos hosts para brindar balanceo de carga y evitar problemas de tipo OOM (Out of memory). En SAP HANA la distribución de tablas sólo es posible en un escenario Scale-out (uso de múltiples procesadores como una sola entidad), a través de los siguientes mecanismos:

  • Diferentes tablas asignadas a diferentes Index Servers (Particionamiento de base de datos y distribución de tablas).
  • La misma tabla dividida a través de multiples Index Servers (Particionamiento de tablas)

Por defecto, las nuevas tablas se distribuyen en los Index Server disponibles, sin embargo es posible especificar que una tabla o partición se cree en uno en concreto. Por otro lado, existe la posibilidad de realizar una redistribución de tablas, la cual podría plantearse en los siguientes casos:

  • Antes de retirar un host
  • Después de adicionar un host
  • Optimizar la distribución de tablas actual
  • Optimizar la partición de tablas existente

Por lo general, después de añadir o eliminar nodos, la redistribución (Landscape Redistribution) debe llevarse a cabo. En base a la configuración se sugerirá un nuevo panorama. En este proceso se considera sólo las tablas basadas en columnas (column-store tables), no son consideradas las tablas del sistema, temporales y basadas en filas (row-store tables).

En un sistema SAP NW BW sobre SAP HANA, los datos son distribuidos, grosso modo, del siguiente modo:

  • Nodo Principal: Contiene las tablas con almacenamiento basado en filas, tablas del sistema ABAP y datos operacionales generales.
  • Nodo Esclavo o Worker Node: Contiene todos los datos maestros de BW, cubos, DSO y PSAs

Nota: Quizás, sea útil tener presente los siguientes conceptos:

  • Un host es una máquina (compuesto por CPU, memoria, almacenamiento, red y sistema operativo) que ejecuta parte del sistema SAP HANA.
  • Un sistema distribuido SAP HANA, es un sistema que es instalado en más de un host.
  • Una instancia SAP HANA es un conjunto de componentes de un sistema distribuido que es instalado en un host.
  • Cada instancia tiene un “index server”, “preprocessor server” y “name server”. El “statistic server” existe sólo uno por sistema.

Referencia: SAP Note 2081591

SAP HANA Smart Data Access

Desde la actualización SPS 06 de SAP HANA, existe la característica Smart Data Access, la cual consiste en acceder a datos externos sin tener que replicarlos en SAP HANA. Esta técnica, grosso modo, consiste en crear tablas virtuales en HANA que apuntan a tablas remotas ubicadas en distintas fuentes, luego de lo cual se podrían escribir consultas SQL en SAP HANA las cuales serían ejecutadas en la base de datos correspondiente y el resultado sería devuelto a la consulta HANA para completar la operación.


Desde la actualización SPS 06 de SAP HANA, existe la característica Smart Data Access, la cual consiste en acceder a datos externos sin tener que replicarlos en SAP HANA. Esta técnica, grosso modo, consiste en crear tablas virtuales en HANA que apuntan a tablas remotas ubicadas en distintas fuentes, luego de lo cual se podrían escribir consultas SQL en SAP HANA las cuales serían ejecutadas en la base de datos correspondiente y el resultado sería devuelto a la consulta HANA para completar la operación.

La comunicación entre SAP HANA database y la base de datos remota es vía ODBC (los drivers de la BBDD remota deben ser instalados), a partir de la reciente actualización SPS 10 se soportan las siguientes fuentes de datos: SAP HANA, SAP IQ, SAP ASE, SAP Event Stream Processor, SAP MaxDB, Teradata Database, Microsoft SQL Server 2012, Oracle 12c, IBM DB2, Hadoop Hortonworks HDP 2.3, IBM Netezza Appliance.

Los usos sugeridos por SAP son los siguientes:

  • Abordar proyectos Big Data conectándose a Hadoop para analizarlos con datos SAP HANA.
  • Utilizar datos inactivos (cold storage) aquellos que muy rara vez se acceden y se desean combinar en consultas con datos de uso frecuente (hot data) en SAP HANA.
  • Crear aplicaciones SAP HANA que accedan a diversas fuentes de datos.
  • Adicionalmente, cabe señalar que a través de la tabla virtual es posible realizar todo tipo de operaciones sobre la tabla remota, tales como seleccionar, actualizar, insertar, eliminar, etc.

Referencias: Notas SAP 2180119 y 18668209

El consumo de CPU en SAP HANA

En SAP HANA un alto consumo de CPU puede ser normal y aceptable, dado que el sistema podría estar utilizando los CPUs disponibles para la paralelización de operaciones complejas. Si el sistema estuviera procesando peticiones de base de datos simples con una gran cantidad de consumo de CPU, esto podría significar un cuello de botella crítico que podría evitarse, analizando y optimizando el consumo de CPU innecesarios.


En SAP HANA un alto consumo de CPU puede ser normal y aceptable, dado que el sistema podría estar utilizando los CPUs disponibles para la paralelización de operaciones complejas. Si el sistema estuviera procesando peticiones de base de datos simples con una gran cantidad de consumo de CPU, esto podría significar un cuello de botella crítico que podría evitarse, analizando y optimizando el consumo de CPU innecesarios.

Tipos de consumo de CPU

El consumo de CPU puede tener los siguientes tipos u orígenes:

  • User. El consumo de CPU se origina fuera del núcleo del sistema operativo, tales como operaciones que recorren tablas de gran tamaño o recuentan valores distintos. Operaciones de productos “no SAP HANA”, que se ejecutan en el mismo host, también podrían ser los causantes de un consumo elevado de CPU.
  • System. Se trata del consumo de CPU originado en núcleo del sistema operativo, por ejemplo: operaciones en segundo plano como la desfragmentación de la memoria o tiempos de espera por bloqueos y operaciones de E/S.
  • I/O Wait. Los tiesmpos de CPU para completar operaciones de E/S, pueden ser considerados como tiempo de inactividad.

 Cómo monitorizar el consumo DE CPU

Como la gran mayoría de tareas de administración y modelado de datos, el seguimiento del consumo de CPU se realiza en SAP HANA Studio a través de las siguientes vías:

  • Administration >> Overview >> CPU Usage
  • Administration >> Performance >> Load >> [System] CPU
  • Adicionalmente, a través de sentencias SQL (HANA_Resources_CPUAndMemory_History y HANA_Hosts_Overview) y definiendo algunos parámetros en el fichero global.ini se puede obtener mayor información.

Se debe tener presente que los casos típicos de un alto consumo de CPU pueden ser originados por sentencias SQL que requieran ser optimizadas (consumo de CPU del tipo User) o por consumo de tiempo de CPU del tipo System originadas por subprocesos tales como “garbage collection” con lentos accesos a tablas del sistema que requiere esta tarea. Para obtener más información sobre el consumo de CPU y cómo controlar su uso y monitorización, sugerimos la revisión períodica de documentos como la nota 2100040.

Las limitaciones y restricciones de SAP HANA

SAP HANA Database, al igual que cualquier otro motor de base de datos, tiene una serie de restricciones o limitaciones que se deben tener presente para garantizar el buen funcionamiento del sistema. A través de la nota 2154870 SAP señala las limitaciones y restricciones de sus base de datos en memoria.


SAP HANA Database, al igual que cualquier otro motor de base de datos, tiene una serie de restricciones o limitaciones que se deben tener presente para garantizar el buen funcionamiento del sistema. A través de la nota 2154870 SAP señala las limitaciones y restricciones de sus base de datos en memoria. Muchos de los valores máximos señalados parecen más que suficientes, difícilmente de alcanzar, tales como las 16 columnas para conformar un índice o los 1.023 índices que puede tener una tabla.

A través de la vista M_SYSTEM_LIMITS se pueden obtener las principales restricciones, la cual puede variar según el nivel de actualización de la plataforma:, los siguientes valores corresponden a la actualización SPS 09:

Limitaciones de SAP HANA database a través de la vista M_SYSTEM_LIMITS

Otras restricciones que se deben tener presente son los siguientes:Otras restriciones de SAP HANA Database

Las siguientes limitaciones son configurables:Restrcciones SAP HANA parametrizables

Referencia: SAP Note 2154870