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.

SAP da sus primeros pasos en «Internet of Things» con SAP HANA

Internet of Things (IoT), es un término acuñado en 1999 que está siendo cada vez más utilizado en los últimos meses, especialmente impulsado por la tecnología que rodea al mundo Mobile y Big Data. Para IoT podemos encontrar variadas definiciones, de las vistas, podemos destacar la siguiente:


Internet of Things (IoT), es un término acuñado en 1999 que está siendo cada vez más utilizado en los últimos meses, especialmente impulsado por la tecnología que rodea al mundo Mobile y Big Data. Para IoT podemos encontrar variadas definiciones, de las vistas, podemos destacar la siguiente:

Imagina un mundo en el que miles de millones de objetos pueden detectar, comunicar y compartir información, todos interconectados a través de redes IP (Internet Protoco) públicas o privadas. Estos objetos interconectados podrían recopilar datos con regularidad, los cuales podrían ser analizados y utilizados para tomar iniciativas, brindando más inteligencia a la planificación, a la toma de decisiones y a la gestión general de los procesos de negocio. Este es el mundo de la Internet de las Cosas (Internet of Things, IOT) -(Ref)

Definición de Internet of Things según McKinsey

Internet of Things, debe ser vista como una disciplina o tecnología, la cual engloba muchos otros elementos, tales como técnicas, estándares, buenas prácticas y otros conceptos. El término IoT en ocasiones es utilizado como sinónimo de M2M (Machine to Machine), pero debería diferenciarse que IoT es la tecnología o disciplina y M2M es la principal técnica que hace posible IoT para que los objetos puedan transmitir información.

Internet of Things (IoT), previsiones de objetos interconectados

Ante las previsiones de incremento de la demanda de soluciones IoT, SAP ha dado un primer paso es este sector para su plataforma SAP HANA, se trata de una extensión para el desarrollo de aplicaciones IoT. Esta extensión, por el momento, tiene un uso restringido para ciertos usuarios y la información disponible es limitada, a través de la nota 2008204 podremos conocer futuras novedades.

Visión de SAP de IoT

A partir de estas propuestas como la que ofrece SAP, se podrá desarrollar soluciones que respondan a necesidades concretas de negocio.

Potenciales aplicaciones para IoT

 

Selección del motor para procesar consultas en BW on HANA

En entradas anteriores comentamos sobre los motores (engines) de SAP HANA, los cuales, según el tipo de consulta o cálculo, entran en ejecución para obtener los mejores tiempos de respuesta de todo un proceso que se demande. Para el caso de consultas en un entorno BW on SAP HANA, el motor especialmente diseñado y optimizado para este fin es OLAP Engine, es el que mejores tiempos de procesamiento debería brindar el ejecutar una consulta en SAP NW BW powered by SAP HANA.


En entradas anteriores comentamos sobre los motores (engines) de SAP HANA, los cuales, según el tipo de consulta o cálculo, entran en ejecución para obtener los mejores tiempos de respuesta de todo un proceso que se demande. Para el caso de consultas en un entorno BW on SAP HANA, el motor especialmente diseñado y optimizado para este fin es OLAP Engine, es el que mejores tiempos de procesamiento debería brindar el ejecutar una consulta en SAP NW BW powered by SAP HANA.

Sin embargo, analizando la ejecución de una determinada consulta puede ser posible que se observe que mejores tiempos de respuesta nos brinde el motor JOIN Engine, si fuese así, SAP señala que se trataría de un error el cual debería ser reportado a SAP Support.

Mientras se encuentre la solución al posible error señalado en el párrafo anterior, SAP ofrece un “workaround” el cual debe ser deshabilitado una vez que el problema se resuelva. La “solución temporal” consiste en señalar el motor que debe utilizarse, el cual puede ser señalado para todo el sistema (modificando el parámetro HDB_QUERY_ENGINE_SELECTION), un infoprovider (agregando una fila a la tabla RSDRS_HDB_ENGSEL) o para una determinada consulta (vía transacción RSRT). Para más información consultar la nota 1931671.

Los tiempos de espera «razonables» según la guía de Sizing de BPC on HANA

Consultando la actualización de inicios de abril de la guía “Sizing SAP Business Planning and Consolidation 10, Version for SAP Netweaver on HANA” (BPC on HANA), vemos que SAP «peca» de benevolencia consigo mismo, al señalar los tiempos que tendría que transcurrir antes que un usuario pueda repetir una acción. Tiempos que seguro más de un usuario no estaría dispuesto de esperar.


Consultando la actualización de inicios de abril de la guía “Sizing SAP Business Planning and Consolidation 10, Version for SAP Netweaver on HANA” (BPC on HANA), vemos que SAP «peca» de benevolencia consigo mismo, al señalar los tiempos que tendría que transcurrir antes que un usuario pueda repetir una acción. Tiempos que seguro más de un usuario no estaría dispuesto de esperar. A continuación una muestra:

Tiempos para actividades de usuario en un entorno BPC sobre HANA

Referencia: SAP Marketplace

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