Archivo mensual: diciembre 2013

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

SAP BPC: Nuevo parámetro para “bypasear” la conversión monetaria en el “Monitor de Consolidación”


El Monitor de Consolidación de SAP BPC 10.0 NW (SAP Business Planning and Consolidation) ejecuta todas las reglas (Business Rules) de la consolidación financiera y la conversión monetaria como un único proceso, modalidad que no a todos gusta. La conversión monetaria en alguna ocasión puede ser innecesaria que se ejecute desde la interfaz del Monitor, ya sea porque en una organización se trabaja con una única moneda o el proceso de conversión se ha realizado previamente por otro medio.

Como parte de las novedades que traerá la actualización prevista para la última semana de abril (SP13 para BPC 10.0 con NW 7.30, SP06 para BPC10.0 con NW 7.31/7.40 y SP02 para BPC 10.1 con NW 7.40) si incluye la posibilidad de utilizar un nuevo parámetro, a nivel de modelo o cubo BPC, denominado BYPASS_CT_IN_CONS para que el Monitor de Consolidación no procese reglas de la conversión monetaria, de este modo podríamos reducir el tiempo global de la consolidación financiera si es que la conversión de moneda no se requiere o se ejecuta por otra vía.

Al igual que la entrada anterior, no es necesario esperar hasta la disponibilidad de la actualización, se puede contar con esta nueva funcionalidad aplicando la nota de referencia.

Referencia: Nota SAP 1957930

SAP BPC: Nuevo parámetro para evitar bloqueos al importar datos maestros


Una próxima actualización de SAP BPC 10.0 NW está prevista para la segunda semana de enero (SP12 para instalaciones sobre NW 7.30 y SP05 para NW 7.31/7.40, CPMBPC800 o CPMBPC801 respectivamente) y la siguiente actualización está prevista para la última semana de abril de 2014.

Ventana SPRO-IMG para SAP BPC 10.0 NW

La actualización prevista para abril, incluye la posibilidad de definir un nuevo parámetro general (Global Parameter) denominado MD_READ_LOCK, el cual si tiene asignado el valor “N”, el sistema no bloqueará la conexión al sistema si un usuario intenta acceder coincidiendo con una carga o importación de datos maestros.  Para contar con este parámetro no es necesario esperar hasta abril de 2014, aplicando la nota de referencia esto sería posible.

Referencia: Nota SAP 1958480

Las versiones 10.* de SAP BPC NW


La última versión disponible para SAP Business Planning and Consolidation (SAP BPC) para plataformas SAP NetWeaver es la 10.0, sin embargo, cuando accedemos a información técnica podemos encontrar dos identificadores de versión, y desde hace un par de meses, hasta tres identificadores de versión.

Datos de un sistema SAP BPC 10.0 NW sobre SAP NW 7.40

Internamente, en un sistema SAP NetWeaver, el componente SAP BPC se denomina CPMBPC y podemos encontrar las siguientes versiones:

  • CPMBPC 800: Se trata de SAP BPC 10.0 instalado sobre SAP NetWeaver 7.30
  • CPMBPC 801: Es la versión de SAP BPC 10.0 instalado sobre SAP NetWeaver 7.40 o 7.31
  • CPMBPC 810: Es la nueva versión, en fase de ramp-up, 10.1 de SAP BPC, la cual se instala sobre SAP NetWeaver 7.40

SAP HANA versus cualquier otra propuesta de Data Warehouse tradicional


Teniendo presente que SAP HANA no debe ser valorado sólo como una base de datos, sino como una plataforma por todas las posibilidades que nos ofrece, compartimos esta comparativa entre SAP HANA visto solamente como un repositorio de datos contra cualquier otra propuesta de Data Warehouse de enfoque tradicional:

Volumen de datos

  • Enfoque tradicional: Almacenamiento basado en filas. Compresión en disco. Duplicación de datos a través del uso de agregados, almacenamiento en caché y uso elevado de índices.
  • Enfoque SAP HANA: Almacenamiento basado en columnas. Compresión en memoria. Uso intensivo de la memoria para mantener los datos que se requieren.

Latencia de información

  • Tradicional: ETL a través de procesos en lote que podría requerir generación de agregados (o técnicas similares) que en conjunto generaría retrasos en la disponibilidad de la información.
  • SAP HANA: Dirigido a través de servidor de replicación y al no requerirse agregados, se logra mejor rendimiento y considerables menores tiempos.

 Velocidad de cálculo

  • Tradicional: Dirigido a través de almacenamiento de datos en filas y el caché en memoria.
  • SAP HANA: Guiado a través del almacenamiento basado en columnas y el conjunto de datos en memoria.  Los cálculos se realizan en memoria, en la capa de base de datos en lugar de la capa de aplicación (enfoque tradicional).

Flexibilidad y robustez

  • Tradicional: Soluciones basada en disco proveen limitada flexibilidad para cambios en los modelos de datos o ajustes en las jerarquías de datos, los cuales derivan en cambios en agregados, cachés y otros elementos.
  • SAP HANA: Permite realizar los cambio en cualquier momento y no están limitados por la persistencia en disco.

Data governance

  • Tradicional: Duplicación de versiones de datos implica costosas o laboriosas actividades de conciliación.
  • SAP HANA: Es la auténtica “versión única de la verdad”

Aplicaciones

  • Tradicional: Sólo para fines analíticos, no transaccionales.
  • SAP HANA: Es posible combinar tanto aplicaciones OLAP como OLTP.

Referencia: ISBN 978-1-78217-762-3

CPUs de un sistema SAP HANA a la máxima frecuencia


Puede suceder que después de reiniciar un sistema SAP HANA o realizar una actualización del sistema, se observe que los CPUs no estén trabajando a la máxima frecuencia disponible. Existe la posibilidad de monitorizar esta información a través de la vista M_HOST_INFORMATION la cual sólo se actualiza al iniciar el sistema.

Consulta de la frecuencia de los procesadores en un sistema SAP HANA

Las diferencias entre las frecuencias del “CPU model” y el “CPU clock” se podrían deber a la parametrización del denominado “CPU governor”, parámetro a nivel del sistema operativo (SUSE Linux), que para el caso de un sistema SAP HANA, en el que se espera un sistema de alto rendimiento y un sistema de bases de datos con procesamiento paralelo, no debe tener asignado ningún valor equivalente a ahorro de energía (“ondemand” o similar), el valor recomendado es “performance”. En los enlaces de referencia se explica el procedimiento para ajustar este parámetro.

Referencia: SAP Note 1890444 y OpenSuse.org

Preguntas claves para valorar la utilidad de una visualización


Las representaciones gráficas que en ocasiones utilizamos, tales como los gráficos de columnas o el de líneas, se remontan al siglo dieciocho y no es hasta mediados del siglo pasado que estos se perfeccionan a través de la formalización de técnicas que se aplican a las actuales herramientas informáticas que se utilizan para crearlos.

Playfair incluido este gráfico en su Anuncio y Atlas Político (1786) para argumentar en contra de la política de financiación de las guerras coloniales a través de la deuda nacional de Inglaterra

Es innegable la importancia de transformar los datos en representaciones gráficas o visualizaciones, la alternativa más inmediata y fácil para comunicar y comprender los grandes volúmenes de información que nos pueden llegar a rodear.  A partir de esta necesidad, han surgido una amplia gama de soluciones con posibilidades gráficas de dudosa utilidad para el análisis, pero de innegable impacto visual.

How is life - OECDURL

Una representación gráfica o visualización, que para comprenderla requiere una compleja explicación, va en contra los principios básicos de esta disciplina: claridad e inmediatez.  Para saber si un gráfico será útil, plantéese las siguientes cuestiones:

  • ¿Claramente indica la naturaleza de la relación de los valores representados?
  • ¿Representa las cantidades con exactitud?
  • ¿Facilita comparar las cantidades?
  • ¿Es más fácil ver el orden o clasificación de los valores?
  • ¿Resulta evidente cómo se debe utilizar la información?

Referencia: Interaction Design Foundation

Los “5 por qué” para minimizar los “fallos técnicos”


En el mundo informático nos podemos encontrar con incidencias de todo tipo, pero las que mayor frustración pueden causar son las que se catalogan como “fallo técnico”.  Si al solicitar una explicación de la causa de un incidente recibimos como respuesta que se trata de un “problema técnico” o similar, pareciera que nos enfrentásemos a un “expediente X”, porque no hay explicación razonable, ninguna certeza que se solucionará y por consiguiente, no habrá garantías de que no volverá a ocurrir.

Inspirado en el sistema de producción Toyota, el autor de referencia, sugiere el uso de la técnica de los 5 por qué, para buscar la verdadera causa de los problemas que se originan en las organizaciones.  Se trata de indagar de manera consecutiva, al menos cinco veces, la ocurrencia de la causa de un problema, para llegar a la causa u origen real del mismo, el cual casi siempre deriva en una carencia en la gestión de los procesos de negocio. Por ejemplo:

Problema técnico inicial: En el nuevo producto hay una característica que no funciona

  1. ¿Por qué? Porque ha fallado un servidor
  2. ¿Por qué ha fallado el servidor? Porque un subsistema se utilizó de forma inadecuada.
  3. ¿Por qué se utilizó de forma inadecuada? Porque el ingeniero responsable no sabía utilizarlo.
  4. ¿Por qué no sabía utilizarlo? Porque nunca lo formaron
  5. ¿Por qué nunca lo formaron? Porque su director no consideraba necesario enseñar a los nuevos ingenieros y porque él y todo el equipo estaban “demasiado ocupados”.

Referencia: El Método Lean Startup (Eric Ries)

Utilidad de las “funciones de proyección” de IDT (SAP BusinessObjects BI)


Cuando utilizamos Information Design Tool (IDT), componente de SAP BusinessObjects BI 4.*, para crear universos, y definimos objetos de tipo indicador (measure)  debemos señalar la función de agregación a nivel de base de datos, pero adicionalmente, debemos seleccionar la función de proyección (Projection Function).

Agregacion

Podríamos señalar que la función de proyección es exclusiva para Web Intelligence.  El resultado de una consulta WebI es almacenado localmente (local report cache), este almacenamiento temporal es conocido como microcubo y es utilizado para calcular los valores de los indicadores en los informes, según como se organicen los objetos en tablas y gráficos. Si en una tabla de un informe WebI, se utilizan menos dimensiones de los devueltos por la consulta, con la función de proyección, WebI sabrá calcularlos los valores de los indicadores.

Para universos con fuentes de datos relacionales se recomienda utilizar, como funciones de proyección, las siguientes: SUM, MIN, MAX, COUNT y AVG.  Para universos multidimensionales se recomienda escoger la opción DELEGATED, a menos que se conozca, con exactitud, la función de agregación.

Coexistencia del EPM Add-in 10.0 y BPC Excel 7.5


Si se desea tener en el mismo ordenador los componentes cliente de SAP Business Planning and Consolidation 10.0 y 7.5, es decir, SAP EPM Add-in 10.0 y BPC Excel 7.5, respectivamente, se deberá desactivar el reconocimiento de las funciones EV en el EPM Add-in 10.0 vía el panel de las “Opciones de Usuario”, tal como se muestra en la siguiente imagen:

User Options del EPM Add-in 10.0 SP16

Referencia: SAP Note 1901924