Archivo de la etiqueta: SAP HANA Studio

Mejoras importantes para la conectividad SAP HANA en WebI de SAP BusinessObjects BI 4.2


La actualización 4.2 y posteriores de la plataforma SAP BusinessObjects BI introduce dos características que podrían potenciar, aún más, el uso de SAP HANA como fuente de datos en los informes de Web Intelligence, para lo cual, es necesario contar con un nivel de actualización posterior a la SPS08 de la plataforma in-memory (Ref.  SAP Note: 2210945). Nos referimos a las nuevas funcionalidades “Web Intelligence HANA Direct Access” (Acceso directo SAP HANA)  y “Web Intelligence HANA Online” (Modo con conexión SAP HANA).

Web Intelligence de SAP BusniessObjects BI 4.2 - Conectividad

Acceso directo SAP HANA en WebI

  • Consiste en acceder directamente a vistas calculadas o analíticas de SAP HANA Database a través de un universo temporal  (transient universe).
  • Este “universo temporal” se podría construir al vuelo desde la interfaz de Web Intelligence (versiones JAVA, HTML o Rich client) al seleccionar como fuente de datos una conexión relacional u OLAP a HANA, conexiones publicadas en el repositorio de la plataforma (conexión segura), la cual podría definirse desde la CMC o desde Information Design Tool (IDT).
  • Dependiendo el tipo de conexión, relacional u OLAP, se generarán unos objetos u otros. Este universo temporal no es reutilizable.
  • Lo bueno: facilidad y rapidez para utilizar modelos de datos existentes en HANA. Lo malo: La imposibilidad de reutilizar los universos temporales que se definan.

Conexión online SAP HANA en WebI

  • Con la nueva opción SAP HANA Online (o SAP HANA Conectado) es posible conectarnos, a través de una conexión relacional, a vistas analíticas o calculadas de SAP HANA para delegar los cálculos y agregaciones a la base de datos de HANA.
  • Al perder algunas funcionalidades de la interfaz de WebI, hay la posibilidad de pasar al modo clásico, pero no habría la posibilidad de volver al modo conectado.
  • Si se accede a un importante volumen de datos o se realizan varios cálculos y agregaciones en las consultas de un informe contra fuentes HANA, esta nueva característica será muy útil.
Anuncios

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.

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.

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. 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

Cancelar o interrumpir sesiones en SAP HANA


Un alto consumo de recursos que pudiese realizar un proceso podría afectar la estabilidad y el buen funcionamiento de cualquier infraestructura, en este aspecto, SAP HANA no es la excepción. En SAP HANA es posible definir límites globales de consumos del área de memoria, que utilizan los procesos para su ejecución (denominada Allocated memory). Hasta la actualización SPS 06, el valor predeterminado era el 90% de la memoria física, desde la actualización SPS 07 el valor por defecto es el 90% de los primeros 64 GB y el 97% del resto de la memoria física.

En el caso que se detectará un proceso/sesión con un elevado uso de recursos, este podría ser interrumpido. Una sesión en este contexto es la combinación de la conexión (es decir, enlace al proceso cliente), el hilo (thread, es decir, la ejecución real en el lado SAP HANA), Sentencia SQL y transacción.

La interrupción de la ejecución de una sesión puede afectar el funcionamiento de una aplicación, por lo que esta medida debe ser utilizada con mucho cuidado. Existen las siguientes opciones para terminar sesiones críticas en SAP HANA:

  • Cancelar sesiones. Vía SAP HANA Studio (Administration >> Performance >> Sessions) o vía sentencia SQL (ALTER SYSTEM CANCEL SESSION). La cancelación no es inmediata, el sistema puede realizar comprobaciones previas.
  • Desconectar sesiones. Vía sentencia SQL (ALTER SYSTEM DISCONNECT SESSION) es posible desconectar sesiones (e implícitamente cancelarla). Se debe tener presente que si una sesión no puede ser cancelada con el comando anterior, el uso de una desconexión empeoraría la situación, dado que podría iniciar nuevamente el funcionamiento del proceso que se desea desconectar.
  • Establecer límites de uso de memoria. A partir de la actualización SPS 08 es posible establecer la inmediata culminación de sentencias SQL que superasen ciertos límites de uso de memoria. Así mismo, es posible definir el consumo global de memoria por parte de los procesos.

Referencia: SAP Note 2092196

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 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

Importación de objetos BW para modelarlos en SAP HANA Studio


Si tenemos SAP NetWeaver Business Warehouse sobre una plataforma SAP HANA (BW on HANA) podríamos importar los denominados objetos BW para que sean accesibles desde la interfaz SAP HANA Studio y por consiguiente diseñar vistas de información que faciliten el acceso a los datos desde MS Excel o aplicaciones cliente tales como los componentes SAP BusinessObjects BI e inclusive diseñar Universos para que los usuarios de aplicaciones como Lumira o Predictive Analysis pueda acceder a esta información dado que estas herramientas, por el momento, no pueden acceder directamente a consultas BEx.

Los objetos BW importados son presentados en la interfaz SAP HANA según la naturaleza del objeto, así un DataStore lo verámos como una vista analítica con el mimo nombre del objeto origen.  La importación de un cubo o también denominado infocubo generaría una vista analítica de uso interno con el prefijo _INTERNAL y una vista calculada la que podría ser utilizada por los usuarios. Una QuerySnapshot InfoProvider generaría una vista analítica. Un infoObjeto tipo Característica generaría una vista de atributos.

Para más información sobre la importación de objetos SAP NW BW para modelarlos en SAP HANA Studio consultar la nota 1764251 la cual puede presentar novedades en cualquier momento.

Reglas de oro para diseñadores SAP HANA


En SAP SCN encontramos un post que será muy útil para todos aquellos que estén comenzando a diseñar modelos de datos o a desarrollar aplicaciones en una plataforma SAP HANA. Por el momento se señalan seis “reglas de oro” que seguro se podrán ir ampliando en la medida que SAP HANA siga evolucionando al ritmo que lleva, presentando grandes cambios en cada actualización.

  1. Nunca utilices tablas con almacenamiento basado en filas.  SAP HANA está preparado para trabajar con los dos tipos de almacenamiento de tablas (basado en filas y en columnas), el sistema ya cuenta con mecanismos necesarios para optimizar la grabación de datos en tablas con almacenamiento columnar.  Una de las claves de éxito de HANA es el almacenamiento en columnas, son muy pocos los casos en que se recomienda las tablas con almacenamiento en filas, especialmente la tablas de parámetros o configuración.
  2. No crear índices. El almacenamiento columnar, equivale a tener un índice por cada columna, por lo que crear índices secundarios, tal como se estila hacer en un sistema de base de datos relacional tradicional, no ayuda a reducir los tiempos de acceso a los datos.  Sólo podría ser útil en el caso de tener una tabla muy grande sobre la que se realiza una selección muy pequeña de un conjunto de datos.
  3. Utilizar la Perspectiva Development de SAP HANA Studio.  SAP HANA Studio es la herramienta que facilita todas las tareas de administración y desarrollo en la plataforma HANA.  Las capacidades que ofrece SAP HANA Studio están divididas en Perspectivas (véase como paneles o ventanas), dependiendo de las necesidades y autorizaciones disponibles se podrán habilitar las perspectivas. Para los desarrolladores se ofrecen varias perspectivas entre ellas System, Modeler  y Debug, se sugiere el uso de la perspectiva Development, debidamente configurada se puede contar con todos los recursos necesarios en una única perspectiva.
  4. No utilizar SQLScript, a menos que sea necesario.  SAP HANA ofrece una implementación SQL, la cual se denomina SQLScript, este lenguaje puede ser muy útil en determinadas circunstancias, pero en muchos casos lo que se realice con este lenguaje se podría hacer con vistas de información (de atributos, analíticas y de cálculos) las cuales son más eficientes dado que SQLScript no paraleliza la ejecución de procesos (hasta la reciente actualización SPS07 este es el comportamiento de SQLScript, quizás más adelante se ofrezca una actualización que mejore este comportamiento).
  5. Si utiliza SQLScript, no utilice cursores o SQL dinámico. El uso de estas sentencias ocasiona pérdida de rendimiento, especialmente el uso de SQL dinámico para referirse a nombres de columnas en sentencias INSERT o SELECT, hay otras alternativas disponibles, como las vistas de información (para los SELECTs) o el uso del lenguaje Python (para cargar datos).
  6. Evitar Joins en grandes volúmenes de datos. Unir tablas con más de cien mil filas resultará ineficiente, en su lugar se sugiere normalizar vía el uso de vistas analíticas, para luego unir vía una vista calculada.

Referencia: SAP SCN

Uso de Vistas Analíticas de SAP HANA en BEx Query Designer


En un escenario SAP NetWeaver BW powered by SAP HANA o simplemente BW on HANA, las posibilidades de utilizar estructuras de datos nativos de HANA con los de BW o viceversa, se van ampliando con cada actualización tanto de HANA como de BW. 

Creación de un VirtualProvider Based on a HANA Model

Por ejemplo, si necesitásemos diseñar una consulta BEx con datos BW y datos HANA, actualmente, esta necesidad puntual podríamos cubrirla del siguiente modo:

  • Crearíamos una vista analítica HANA (analytical view) para acceder a los datos HANA que se requieren.
  • Desde NW BW, accedemos a la transacción RSA1 y creamos un VirtualProvider de tipo “Based on a HANA Model” en la InfoArea que veamos conveniente. A través de botón de “detalles” seleccionamos la vista analítica HANA que deseamos utilizar.
  • Luego visualizaremos los atributos de la vista analítica, seleccionaremos aquellos que deseamos que sean accesibles desde el VirtualProvider y luego vincularemos con objetos BW.
  • Grabamos y activamos el VirtualProvider.  A partir de este punto podríamos utilizar BEx Query Designer para construir una consulta o podríamos definir un Multiprovider para combinar el VirtualProvider con otras fuentes BW.

Referencia: Post “Creación de una “Analytic View” de SAP HANA”

¿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.

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.