Particionado de Tablas en SAP HANA (I) – Definiciones

En ocasiones, los problemas de rendimiento de muchos sistemas de información pasan por una falta de particionamiento de los datos o una mala adopción de esta técnica, SAP HANA no es una excepción, a pesar de los grandes recursos disponibles que puede tener la plataforma in-memory de SAP, está medida en ocasiones es necesaria.


En ocasiones, los problemas de rendimiento de muchos sistemas de información pasan por una falta de particionamiento de los datos o una mala adopción de esta técnica, SAP HANA no es una excepción, a pesar de los grandes recursos disponibles que puede tener la plataforma in-memory de SAP, está medida en ocasiones es necesaria.

A continuación, una breve relación de respuestas a preguntas frecuentes sobre este tema en SAP HANA:

Que es el Particionado de tablas de datos

  • El particionamiento significa que las tablas son divididas en sub-tablas denominadas particiones según un criterio específico.
  • Sólo es aplicable en tablas con almacenamiento columnar (column store), en tablas con almacenamiento en filas (row store) no soportan particionamiento.
  • El particionamiento es transparente para que las aplicaciones funcionen correctamente. Sin embargo la partición puede tener un impacto en el rendimiento, positivo o negativo, que pueden percibir los usuarios en la carga de los sistemas, depende de la estrategia implementada.

Cuando Particionar las tablas de datos

  • Por lo general, el particionado es muy útil en tablas de gran tamaño, por otro lado, debe tener presente que las tablas columnares no pueden superar los dos mil millones de registros.
  • Además del procesamiento paralelo, en un despliegue scale-out (escalabilidad horizontal, uso de más de un host), en consultas complejas, accediendo a particiones distribuidas en distintos nodos, se obtendría un alto rendimiento, más no en consultas simples.
  • Si las tablas tienes conjuntos de datos de uso frecuente, y otros conjuntos de menos uso, deberían ser particionados según este criterio (partition prune).
  • Si una región de datos sólo es actualizada y la otra no, los procesos de actualización serán más eficientes.

Uso de una vista de atributos de SAP HANA en SAP Data Services

SAP Data Services es algo más que una herramienta de ETL (Extract, Transform, Load) es una plataforma de tratamiento de datos con múltiples funciones y posibilidades, especialmente por las amplias alternativas de utilizar diversos tipos fuentes de datos. En un entono SAP HANA se acopla…


SAP Data Services es algo más que una herramienta de ETL (Extract, Transform, Load) es una plataforma de tratamiento de datos con múltiples funciones y posibilidades, especialmente por las amplias alternativas de utilizar diversos tipos fuentes de datos. En un entono SAP HANA se acopla perfectamente, pudiendo ser el instrumento clave para mover los datos desde y hacia la base de datos de esta plataforma in-memory computing.

Una de las posibilidades que podemos tener en cuenta es el uso de Vistas de Atributos (Attibute View) de SAP HANA en Data Services como DataStore (objeto que define una conexión a una fuente de datos), el procedimiento es señalado en la nota de referencia.

Referencia: SAP Note 2009982

Las claves de la eficiencia de la tecnología columnar

Con la expresión «tecnología columnar» nos referimos a las técnicas de almacenamiento de los datos por columnas, incluida en las alternativas más actuales de base de datos como SAP HANA Database y SAP Sybase IQ, propuesta de base de datos para fines analíticos y de data warehouse de SAP.


Con la expresión «tecnología columnar» nos referimos a las técnicas de almacenamiento de los datos por columnas, característica incluida en las alternativas más actuales de base de datos como esel caso de SAP HANA Database y SAP Sybase IQ, propuesta de base de datos para fines analíticos y de data warehouse de SAP.

La mejor eficiencia que proporciona el almacenamiento por columnas en entornos analíticos, podríamos resumirlos en los siguientes aspectos:

  • Más rapidez. Las consultas analíticas se basan en el ordenamiento, agrupación, clasificación o elaboración de rankings de la información, para lo cual se accede a campos o columnas de datos. Las tablas basadas en el almacenamiento en columnas, además de contener los datos en esta estructura, cuentan con índices que señalan la ubicación de los valores en cada columna. Este hecho facilita la recuperación de los datos consultados, sin tener que acceder a toda las filas de datos de una tabla (tal como sucede en un esquema relacional). Finalmente, todo esto redunda en un menor consumo de CPU y en menores tiempos de respuesta.
  • Menor espacio. Con la tecnología columnar los valores similares en cada columna son sustituidos por claves más pequeñas que requieren menos espacio que el valor original.  Como resultado final, el almacenamiento de una tabla puede reducirse en una proporción entre 3x a 7x, aunque este ratio puede variar considerablemente dependiendo de los valores repetidos y del tipo de dato que se almacene.

La tecnología columnar no es mejor que la relacional, cada una tiene un mejor uso recomendable, ya sea en un entorno analítico o transaccional, respectivamente (aquí post relacionado)

Consideraciones básicas para el despliegue de “BW on HANA” (I)

Complementando la entrada anterior, si contáramos con SAP Netweaver BW powered by SAP HANA” (BW on HANA ) se debería considerar los siguientes aspectos al planificar su configuración:


Complementando la entrada anterior, si contáramos con SAP Netweaver BW powered by SAP HANA (BW on HANA ) se debería considerar los siguientes aspectos al planificar su configuración:

  • SAP no da soporte al despliegue de múltiples  sistemas SAP NW BW en un sistema productivo SAP HANA.
  • SAP brinda soporte al despliegue de múltiples sistemas SAP NW BW on HANA en arquitecturas de nodo único o multinodo con fines distintos a un entorno productivo, con una base de datos por cada sistema SAP NW BW.
  • El servidor de base de datos de un sistema BW es desplegado en un esquema de la base de datos SAP HANA.  La instancia central del sistema BW y todas las aplicaciones de servidor asociadas no se instalan en el appliance SAP HANA, son instalados en un servidor aparte.
  • Con respecto al párrafo anterior, existen “excepciones” señaladas en la nota 1661202 que permiten aplicaciones residan en el sistema SAP HANA en un entorno productivo.  Si una aplicación que no figura en el listado de excepciones es instalada en BW on HANA en un entorno productivo, esta aplicación no tendría soporte por parte de SAP.  En un entono distinto a producción si tendría soporte.
  • BW on HANA permite la aplicación de técnicas de alta disponibilidad (High Availability – HA) y tolerancia a fallos (Disaster Tolerance – DT).  En cuanto a HA sigue los mismos mecanismos que un sistema SAP HANA, a través de la activación de nodos pasivos. En general, especialmente en los casos de DT, estas técnicas pueden variar en función del proveedor de Hardware.
  • Las técnicas que se aplican en un sistema SAP HANA para evitar que los datos en memoria se pierdan ante un fallo en el servicio eléctrico también incluye los datos de BW on HANA.
  • Es recomendable tener por los menos tres nodos en un sistema SAP HANA en el que se despliegue BW on HANA. En el nodo principal estarían las tablas con almacenamiento basado en filas y en lo nodos esclavos se tendría las particiones de los infocubos y ODSs (Ref. nota 1702409).
  • Para información adicional y futuras novedades sobre los aspectos comentados en esta entrada revisar las notas 1666670 y 1661202.

Consideraciones para el despliegue de más de una base de datos SAP HANA

Con el término SAP HANA Appliance se hace referencia a un servidor o un sistema SAP HANA el cual puede estar compuesto por un único nodo o por un conjunto (cluster) de nodos (arquitectura con escalabilidad horizontal o sclae-out) dónde en al menos un nodo reside la base de datos SAP HANA y los componentes del sistema.


Con el término SAP HANA Appliance se hace referencia a un servidor o un sistema SAP HANA el cual puede estar compuesto por un único nodo o por un conjunto (cluster) de nodos (arquitectura con escalabilidad horizontal o sclae-out) dónde en al menos un nodo reside la base de datos SAP HANA y los componentes del sistema.

Hace unos días leíamos un listado de acrónimos y términos vinculados al mundo SAP HANA, una buena referencia, pero faltaría considerar otros como MCOS  que corresponden a las iniciales de “Multiple Components One System” que describen la arquitectura de múltiple nodo que se señala en el párrafo anterior.   Otro término que también se utiliza en el contexto SAP HANA es “Multi-SID” o MSID (Multiple Database on one SAP HANA appliance) que hace referencia a la posibilidad de configurar más de una base de datos en un sistema  SAP HANA.

Cabe recordar que en un entorno productivo HANA sólo tendrá soporte si tiene una única base de datos en el sistema (SIDS).  Es posible tener más de una base de datos HANA, pero sólo debería ser considerado en entornos que no son con fines de producción, tales como los clásicos entornos de pruebas o desarrollo.  Esta consideración se aplica tanto si se trata de una arquitectura de un nodo o multinodo.

SAP HANA - Deployment view

Un appliance HANA, recién entregada por  los partners de hardware, lo encontraremos con  una base de datos SAP HANA, usando  “On-Site Configuration tool” se podrá configurar una base de datos adicional, para lo cual deberá considerar lo siguiente:

  • No debería realizarse en un entorno productivo.
  • Se debería contar con la configuración de hardware necesaria para soportar el despliegue de más de una base de datos (especialmente en cuanto a memoria).
  • Se debe tener en cuenta que se puede perder rendimiento o velocidad en la ejecución de varios procesos.
  • Si hubiera problemas en el sistema y se solicitará el servicio de soporte de SAP, podría indicarse detener las bases de datos para comprobar si el problema es originado por la configuración de las bases de datos adicionales.
  • Para más información y futuras novedades revisar las notas 1681092 y 1661202.