Archivo de la etiqueta: HANA

Los cambios qué hay que tener en cuenta al adoptar SAP S/4 HANA


Tal como señala el fabricante, SAP S/4 HANA no es el sucesor de SAP Business Suite, S4 sigue los principios funcionales del conocido ERP, con las características estándares para los negocios, pero se erige sobre la arquitectura de datos in-memory de SAP HANA Database y la filosofía de interfaz de usuario de SAP Fiori. Estas dos nuevas tecnologías de SAP, las más disruptivas, conllevan cambios técnicos que se deben tener en cuenta al considerar la adopción de SAP S/4 HANA.

simplification-list-for-sap-s-4hana-on-premise-edition-1511

Muestra del documento de referencia

Muchas organizaciones cuentan con desarrollos a medida que utilizan una serie de estructuras de datos que quizás, por la simplificación de la nueva arquitectura de S/4, ya no existan o podrían estar considerablemente modificadas. SAP ha intentado agrupar, en un documento, la relación de estos cambios, en el denominado “Simplification List for SAP S/4HANA“, el cual consideramos de obligada lectura si se está considerando o planificando la implementación de SAP S/4 HANA.

Referencia: Simplification List for SAP S/4HANA (en sitio oficial o aquí)

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.

Aplicaciones y funcionalidades de SAP BusinessObjects Cloud


SAP BusinessObjects Cloud es la plataforma SaaS (Software as a Service) de SAP para el Business Intelligence y planificación, en algún momento se denominaba SAP Cloud for Analytics, pero al ampliarse funcionalidades, SAP encontró el pretexto para cambiarle el nombre. Esta propuesta SaaS se base sobre la plataforma SAP HANA Cloud.

SAP BusinessObjects Cloud, aplicaciones y funcionalidades

Dependiendo la suscripción contratada, se puede disponer de las siguientes aplicaciones:

  • SAP BusinessObjects Cloud for Business Intelligence
  • SAP BusinessObjects Cloud for Planning
  • SAP BusinessObjects Cloud for Predictive Analytics
  • SAP BusinessObjects Cloud for Governance, Risk and Compliance (GRC).

 Actualmente SAP BO Cloud tiene las siguientes capacidades:

  • Conectividad en tiempo real. Acceso en tiempo real a fuentes SAP HANA (on-premise y cloud)  a través del denominado “Live conecction”. A futuro se prevé acceso a BW y S/4HANA.
  • Adquisición de datos. Replicación de datos en SAP BusinessObjects Cloud desde fuentes BW, Universos, SAP BPC NW, SAP BPC MS, ficheros planos, Salesforce.com y Google Drive.
  • Visualización. Diseño de visualizaciones orientadas al negocio, personalización de pantallas, funcionalidades avanzadas de repoting y exportación a PDF.
  • Colaboración. A través de la aplicación móvil se ofrece funciones de chat,  visualización de eventos y tareas, gestión de notificaciones.
  • Administración. Gestión de usuarios y equipos, Monitorización.
  • Auditoria. Monitorización del rendimiento para un usuario o un modelo en cualquier período de tiempo.

Es posible contratar este servicio como una nube pública (multiple tenants) o nube privada, la diferencia se encuentra si se desea compartir recursos (no datos) con otros suscriptores o se desea unos recursos para uso exclusivo. Con recursos nos referimos a la capacidad y tiempo de procesamiento, memoria, aplicaciones y sistema operativo. En ambos casos se olvidaría de mantener las aplicaciones y la infraestructura que estas requieren, lo usual en una instalación clásica u on-premise.

Gestión de la carga de trabajo de SAP HANA (o Workload Management)


SAP HANA puede gestionar los siguientes tipos de carga de trabajo (Workload):

  • OLAP Workload: Por ejemplo, reporting sobre BW.
  • OLTP Workload: Por ejemplo, transacciones de un sistema ERP.
  • Workload mixto: Combinan los dos tipos de carga de trabajo anteriores, OLAP y OLTP, el cual se puede dar en sistemas transaccionales con funciones analíticas.
  • Workload interno: Generado por operaciones internas de SAP HANA, tales como backups, puntos de salvaguarda (savepoints).

Toda gestión de recursos tiene como finalidad controlar su consumo, los cuales suelen ser limitados y de valor crítico, evitando cuellos de botella o contratiempos mayores. Para el caso de SAP HANA, esta gestión se centra en la memoria, CPU y la Red (ancho de banda y latencia).

Para la gestión de la carga de trabajo de la memoria se puede configurar, entre otros, los siguientes aspectos:

  • Limitar el consumo de memoria para todas las sentencias SQL (desde la actualización SPS 08). Se debe tener en cuenta que la especificación es por host, si se señala un tope de 100 GB, y se tiene un escenario de escalabilidad horizontal (scale-out), los 100 GB se multiplicarán por el número de host que tuviese la instalación.
  • Limitar el consumo de memoria para sentencias SQL para un usuario en particular (a partir de la actualización SPS 09).
  • Establecer un consumo máximo de memoria por clase de carga de trabajo (a partir de la actualización SPS 10).

Ante un consumo elevado de CPU o los hilos de procesamiento (threads) activos, se sugiere, en primer lugar, realizar un análisis de rendimiento u optimización de los procesos que lo estuviesen provocando.  Adicionalmente se pueden establecer los siguientes límites.

  • Establecer un número máximo de hilos de procesamiento (threads). Si se superase este límite, el proceso generaría error.
  • Tiempo de espera en microsegundos antes de iniciar un nuevo proceso cuando se alcanza el límite máximo establecido.
  • Número de máximo de procesos concurrentes y otros parámetros que regulan el procesamiento paralelo.

En cuanto a la carga de trabajo de la red, si existiesen problemas debido a la latencia o ancho de banda, estos usualmente se resuelven optimizando la infraestructura de red. SAP HANA ofrece alertas y otros recursos para monitorizar el tráfico de la red, y algunos parámetros para determinar el comportamiento de los elementos que conforman una plataforma HANA (ver nota 2222200), pero que no serán tan gravitantes como puede ser una administración y monitorización de la red, ajena a HANA.

Referencia: SAP Note 2222250

Los LOBs Hibridos de SAP HANA Database


Como veíamos en la entrada anterior, con los tipos de datos LOB de SAP HANA es posible almacenar datos de gran tamaño, tales como documentos, imágenes o videos. Ahora bien, pero toda esta información dentro de una estructura de tablas de la base de datos podría significar un gran consumo de recursos de manera innecesaria.  Desde la actualización SPS 07 de SAP HANA están disponibles los denominados LOBs híbridos, los cuales estarán en memoria sólo cuando son utilizados.

Con los LOB híbridos se puede almacenar datos LOB en el disco hasta que se necesite en lugar de tener que cargarlos en la memoria. Esto influye en el consumo de recursos, por lo tanto afecta a la puesta en marcha del sistema y los tiempos de respuesta. SAP HANA puede almacenar objetos binarios grandes (LOB) en el disco y no dentro de estructuras de columnas o filas de la memoria principal.

Los LOB híbridos residen primero en el disco y se hace referencia a este contenido únicamente por un ID en la columna de la tabla correspondiente. Si hay escasez de memoria, los datos LOB pueden ser descargados desde la memoria principal. A través de unos parámetros del sistema se puede determinar que los datos LOBs pequeños (por defecto, menos de 1.000 bytes) se mantengan en memoria, mientras que los de tamaño superior se mantengan en el disco.

Los cambios que introdujo la actualización SPS 07 de SAP HANA Database sobre los datos LOBs, derivó a que se introdujeran los términos  LOBs de memoria (el mecanismo inicial) y LOBs Híbridos (o LOBS de disco). SAP HANA ofrece un conjunto de sentencias SQL que permiten la parametrización, creación y gestión de estos tipos de datos.

Almacenamiento de gran tamaño en SAP HANA: Campos LOBs


Si estas necesitando almacenar contenidos de gran tamaño, tales como documentos o imágenes en una plataforma SAP HANA Database, debes pensar en los tipos de datos LObs (Large Objetcs), especialmente diseñados para este fin. Existen los siguientes tipos:

  • BLOB: Datos binarios. Por ejemplo, imágenes. Para tablas con almacenamiento por filas y columnas.
  • CLOB: Texto ASCII. Para tablas con almacenamiento por filas y columnas.
  • NCLOB: Texto UNICODE. Para tablas con almacenamiento por filas y columnas.
  • TEXT: Texto con características adicionales de búsqueda. Sólo para tablas columnares. Muchas funciones de cadenas no son aplicables a este tipo de dato.
  • BINTEXT: Texto y datos binarios con características adicionales de búsqueda. Con similares restricciones al tipo TEXT.  La definición de este tipo de dato genera una columna de tipo NCLOB.
  • Nota: El tipo de dato VARBINARY, a pesar que puede almacenar hasta 5.000 bytes no es considerado un tipo LOB, por lo que se carga en memoria cuando se acceda sin ninguna restricción como las que se podrían aplicar con los LOBs híbridos, señalados en próxima entrada.

Restricciones de los tipos de datos LObs

  • Un campo de un tipo LOB sólo puede tener un máximo de 2 GB. Hay alertas que permiten controlar esta situación (Check ID 450 – Tables with memory LOBs > 2 GB).
  • Una columna LOB no puede ser utilizada con la cláusula ORDER BY, GROUP BY, SLECT DISTINC, SELECT con funciones de agregación, FROM como operando en joins.
  • Una columna LOB no puede ser clave primaria

Tratamientos de cadena soportados

  • LENGTH para los tipos CLOB, NCLOB y BLOB. Retorna el tamaño de campo LOB en bytes.
  • SUBSTR para los tipos CLOB y NCLOB. Retorna una subcadena del campo LOB.
  • Las clausulas LIKE y CONTAINS para los tipos CLOB y NCLOB.
  • Cláusula IS NUL sólo para los tipos CLOB, NCLOB y BLOB.

Nota: Ver siguiente entrada sobre LOBs híbridos.

Referencia: SAP Note 2220627

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:

  • 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

Revisando el Roadmap sobre IoT de SAP


Al igual que sucedió con el cloud o el Big Data, los líderes en tecnología están incluyendo el Internet of Things (IoT) en sus propuestas. Son muy optimistas las expectativas de adopción de esta tecnología, que prevén consultoras como Gartner, y que no dejan indiferentes ni a SAP, que en el pasado fue más cauto con otras tecnologías.

Revisando una de las primeras versiones del roadmap sobre IoT que ha publicado SAP el 29 de septiembre de 2015, resulta, por lo menos, complejo de comprenderlo. Como es lógico, este “mapa de ruta” gira alrededor de su plataforma SAP HANA y a las capacidades predictivas que SAP ha ido desarrollando (o adquiriendo) en los últimos años y ha incorporado en su base de datos in-memory y en otros productos.

Visión de integración de dispositivos y procesos según SAP

Salvo mejor parecer, la confusión viene dada porque en un solo documento se ha querido plasmar las posibilidades instalación de la plataforma, toda la gama de posibilidades de interconexión con otros productos y las posibilidades analíticas que se podrían explotar para la implementación de una solución basada en IoT.

SAP Internet of Things - roadmap

Quizás pretendemos ser muy simplistas, pero en IoT para SAP, por un lado señalaríamos la capacidad de cálculo en-memoria de HANA, lo que facilita el procesamiento de grandes volúmenes de datos, y por otro lado, una herramienta como SAP HANA Smart Data Streaming, una de las herramientas señaladas en el roadmap de IoT de SAP.

SAP HANA Smart Data Streaming

SAP HANA Smart Data Streaming (lo abreviaremos como SDS on HANA) fue presentada en la actualización SPS 09 de HANA como una herramienta para capturar datos de manera continuada proveniente de dispositivos y aplicaciones, procesarlos en tiempo real con los siguientes fines:

  • Detectar tendencias y patrones,
  • Identificar valores y monitorizar correlaciones,
  • Generar alertas y notificaciones
  • Actualizar en tiempo real tableros (dashboards operacionales),
  • Formular respuestas a preguntas básicas
  • Agregar y resumir los datos.

SDS on HANA cuanta con varias alternativas de conectividad a varias fuentes de datos. Los datos recibidos son tratados de acuerdo a consultas y reglas (business logic) que brindan la salida deseada que son encaminadas de acuerdo a adaptadores de salida.

Arquitectura de SAP HANA Smart Data Streaming

SDS on HANA incluye varios componentes, entre ellos un plugin para SAP HANA Studio (para los desarrolladores), así como soporte a Continuous Computation Language (CCL) para la aplicación de funcionalidades complejas como agrupamiento y agrupamiento de datos.

Referencia: Roadmap sobre IoT de SAP (o aquí)

La innovación en #IoT, la clave está en el proceso


Internet de las Cosas (Internet of Things – IoT) o simplemente Dispositivos conectados (Connected devices), no es un término nuevo, ya lleva más de tres años con una gran cantidad de menciones y referencias. Para nosotros, IoT debe ser considerado la nueva piedra angular para innovar en la industria y en la vida diaria de las personas, no por la tecnología que conlleva, sino por todos los elementos que lo conforman.

Los macronúmeros del IoT

A continuación, transcribimos un ejemplo de aplicación de IoT que más de una vez hemos leído:

Dejas tu automóvil en un aparcamiento de un supermercado, mientras estás haciendo la compra, alguien le da un golpe. Automáticamente tu vehículo, que ahora es “inteligente”, detecta los daños y envía un informe a tu compañía de seguros. La compañía de seguros contacta contigo a través del teléfono móvil para coordinar fecha y hora para recoger el vehículo para su evaluación por parte de un perito. Simultáneamente, la compañía de seguros realiza indagaciones para identificar al conductor que provocó el choque.

Al leer el párrafo anterior, observamos los elementos que consideramos deberían conformar un servicio basado en IoT:

  1. Dispositivos o cosas capaces de enviar información (dispositivos conectados).
  2. Redes disponibles dónde se encuentren los dispositivos “inteligentes” que faciliten el tránsito de datos entre los dispositivos o hacia una central de procesamiento de datos.
  3. Capacidad de procesamiento y análisis en tiempo real de los datos enviados por los dispositivos inteligentes.
  4. Un proceso, que determina la secuencia de acciones a llevar a cabo como resultado del procesamiento y análisis de datos.

Como sabemos, todo lo que tiene precio y se puede comprar, no es innovación. De los elementos antes señalados, los dos primeros, resultan económicos y fáciles de adquirir, inclusive el tercer elemento. Las propuestas de bases de datos para el procesamiento de grandes volúmenes de información en tiempo real se están popularizando y abaratando.

Para nosotros, en IoT, no se trata tan sólo de sensores o SIMs, la clave está en la definición del proceso, el cual determinará la información que deberán enviar los dispositivos, cómo se procesarán los datos, que acciones se realizarán y sobre todo, cómo interactuará con las personas u otros procesos, para que finalmente se perciba valor en la propuesta basada en IoT.

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:

  • 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