Articulo de referencia

Essbase

Essbase es un sistema de gestión de bases de datos multidimensionales (MDBMS). La plataforma proporciona herramientas para crear aplicaciones de análisis de datos. Arbor Softwar...

Essbase es un sistema de gestión de bases de datos multidimensionales (MDBMS). La plataforma proporciona herramientas para crear aplicaciones de análisis de datos.

Arbor Software desarrolló Essbase y lo lanzó por primera vez en 1992. Arbor se fusionó con Hyperion Software en 1998. Oracle Corporation adquirió Hyperion Solutions Corporation en 2007. Hasta finales de 2005, IBM también comercializó una versión OEM de Essbase como DB2 OLAP Server. [ 1 ]

El investigador de bases de datos EF Codd acuñó el término " procesamiento analítico en línea " ( OLAP ) en un documento técnico [ 2 ] que establecía doce reglas para sistemas analíticos (una alusión a su famoso conjunto anterior de doce reglas que definían el modelo relacional ). Este documento técnico, publicado por Computerworld , era bastante explícito en su referencia a las características de Essbase, y cuando posteriormente se descubrió que Codd había sido patrocinado por Arbor Software, Computerworld retiró el documento. [ 3 ]

A diferencia del "procesamiento de transacciones en línea" ( OLTP ), OLAP define una tecnología de base de datos optimizada para procesar consultas humanas en lugar de transacciones. Como resultado de esta orientación, las bases de datos multidimensionales basaron sus requisitos de rendimiento en un conjunto diferente de puntos de referencia (Analytic Performance Benchmark, APB-1) que el de los sistemas de gestión de bases de datos relacionales ( RDBMS , Transaction Processing Performance Council [TPC]).

Hyperion cambió el nombre de muchos de sus productos en 2005, dándole a Essbase el nombre oficial de Hyperion System 9 BI+ Analytic Services , pero el nuevo nombre fue ignorado en gran medida por los profesionales. Posteriormente, la marca Essbase volvió a ser el nombre oficial del producto con fines de marketing, pero el software del servidor siguió llevando el título de "Analytic Services" hasta que se incorporó al producto Business Intelligence Foundation Suite (BIFS) de Oracle. [ 4 ]

En agosto de 2005, la revista Information Age nombró a Essbase como una de las 10 innovaciones tecnológicas más influyentes de los últimos 10 años, [ 5 ] junto con Netscape , BlackBerry , Google , la virtualización , la Voz sobre IP ( VoIP ), Linux , XML , el procesador Pentium y ADSL . El editor Kenny MacIver afirmó: «Hyperion Essbase fue la tecnología de base de datos multidimensional que puso el procesamiento analítico en línea en el mapa de la inteligencia empresarial . Ha impulsado la creación de decenas de productos OLAP rivales y miles de millones de cubos OLAP». [ 6 ]

Historia y motivación

Poco antes de comercializar su producto Essbase, Arbor Software solicitó en 1992 una patente para un método y aparato para almacenar y recuperar datos multidimensionales en la memoria de la computadora , la cual fue concedida en 1994 (y expiró en 2012) . Essbase se desarrolló originalmente para abordar los problemas de escalabilidad asociados con el uso de hojas de cálculo como Lotus 1-2-3 y Microsoft Excel para modelar y analizar relaciones de datos complejas. De hecho, la solicitud de patente de Essbase utiliza hojas de cálculo como ejemplo para ilustrar la necesidad de un sistema de este tipo. [ 7 ]

En este contexto, "multidimensional" se refiere a la representación de datos financieros en formato de hoja de cálculo. Una hoja de cálculo típica puede mostrar intervalos de tiempo en los encabezados de las columnas y nombres de cuentas en los encabezados de las filas. Por ejemplo:

Si un usuario quiere desglosar estos valores por región, por ejemplo, esto normalmente implica duplicar esta tabla en varias hojas de cálculo:

Una representación alternativa de esta estructura requeriría una cuadrícula de hoja de cálculo tridimensional, lo que daría lugar a la idea de que "Tiempo", "Cuenta" y "Región" son dimensiones . A medida que se añaden más dimensiones al sistema, resulta muy difícil mantener hojas de cálculo que representen correctamente los valores multidimensionales. Las bases de datos multidimensionales, como Essbase, proporcionan un almacenamiento de datos para valores que existen, al menos conceptualmente, en un " hipercubo " multidimensional .

Escasez

A medida que aumenta el número y el tamaño de las dimensiones, los desarrolladores de bases de datos multidimensionales se enfrentan cada vez más a problemas técnicos en la representación física de los datos. Supongamos que el ejemplo anterior se amplía para añadir las dimensiones "Cliente" y "Producto":

Si la base de datos multidimensional reservara espacio de almacenamiento para cada valor posible, necesitaría almacenar 2.400.000.000 (4 × 4 × 3 × 10.000 × 5.000) celdas. Si el software asigna cada celda a un valor de punto flotante de 64 bits , esto equivale a un requisito de memoria de aproximadamente 17,9 GiB (exactamente 19,2 GB ). En la práctica, por supuesto, el número de combinaciones de "Cliente" y "Producto" que contienen valores significativos será un subconjunto minúsculo del espacio total. Esta propiedad de los espacios multidimensionales se conoce como dispersión .  

Agregación

Los sistemas OLAP generalmente ofrecen múltiples niveles de detalle dentro de cada dimensión, organizando sus elementos en una o más jerarquías . Por ejemplo, una dimensión de tiempo puede representarse como una jerarquía que comienza con "Tiempo total" y se desglosa en años, trimestres y meses. Una dimensión de cuentas puede comenzar con "Beneficio", que se desglosa en "Ingresos" y "Gastos", y así sucesivamente.

En el ejemplo anterior, si "Producto" representa SKU de productos individuales , los analistas también pueden generar informes utilizando agregaciones como "Grupo de productos", "Familia de productos", "Línea de productos", etc. Del mismo modo, para "Cliente", las agregaciones naturales pueden organizar a los clientes según su ubicación geográfica o sector.

La cantidad de valores agregados que implica un conjunto de datos de entrada puede ser sorprendentemente grande. Si las dimensiones Cliente y Producto tienen seis niveles de profundidad, entonces 36 (6 × 6) valores agregados se ven afectados por un solo dato. Por lo tanto, si se almacenan todos estos valores agregados, el espacio necesario es proporcional al producto de la profundidad de todas las dimensiones de agregación. En bases de datos grandes, esto puede provocar que los requisitos de almacenamiento efectivos sean cientos de veces mayores que el tamaño de los datos que se agregan.

Almacenamiento en bloques (Essbase Analytics)

Desde la versión 7, Essbase ha admitido dos "opciones de almacenamiento" que aprovechan la dispersión para minimizar la cantidad de memoria física y espacio en disco necesarios para representar grandes espacios multidimensionales. La patente de Essbase [ 7 ] describe el método original, que buscaba reducir la cantidad de memoria física requerida sin aumentar el tiempo necesario para consultar valores estrechamente relacionados. Con la introducción de opciones de almacenamiento alternativas, los materiales de marketing las denominaron Opción de Almacenamiento en Bloque ( Essbase BSO ), posteriormente conocida como Essbase Analytics .

En resumen, Essbase requiere que el desarrollador etiquete las dimensiones como "densas" o "dispersas". El sistema organiza los datos para representar el hipercubo en "bloques", donde cada bloque comprende una matriz multidimensional compuesta por dimensiones "densas", y se asigna espacio para cada celda potencial en ese bloque. La dispersión se aprovecha porque el sistema solo crea bloques cuando es necesario. En el ejemplo anterior, supongamos que el desarrollador ha etiquetado "Cuentas" y "Tiempo" como "densas", y "Región", "Cliente" y "Producto" como "dispersas". Si hay, por ejemplo, 12 000 combinaciones de Región, Cliente y Producto que contienen datos, entonces solo se crearán 12 000 bloques, cada bloque lo suficientemente grande como para almacenar todas las combinaciones posibles de Cuentas y Tiempo. Por lo tanto, el número de celdas almacenadas es de 192 000 (4 × 4 × 12 000), lo que requiere menos de 2 GiB de memoria (exactamente 1536 MB ), más el tamaño del índice utilizado para buscar los bloques apropiados.  

Dado que la base de datos oculta esta implementación a las herramientas de interfaz (es decir, un informe que intenta recuperar datos de celdas inexistentes simplemente ve valores "nulos"), se puede navegar por todo el hipercubo de forma natural y es posible cargar valores en cualquier celda de forma interactiva.

Motor de cálculo

Los usuarios pueden especificar los cálculos en Essbase BSO de la siguiente manera:

  • La agregación de valores a través de jerarquías dimensionales;
  • Cálculos almacenados en miembros de dimensión;
  • miembros de dimensión "calculados dinámicamente"; o
  • Scripts de cálculo procedimentales que actúan sobre valores almacenados en la base de datos.

El primer método (agregación dimensional) se realiza implícitamente mediante la suma o etiquetando selectivamente las ramas de la jerarquía que se restarán, multiplicarán, dividirán o ignorarán. Además, el resultado de esta agregación puede almacenarse en la base de datos o calcularse dinámicamente bajo demanda; para especificar el método que se utilizará, los miembros deben estar etiquetados como "Almacenado" o "Cálculo dinámico".

El segundo método (cálculos almacenados) utiliza una fórmula para cada miembro de la dimensión calculada ; cuando Essbase calcula ese miembro, el resultado se almacena asociado a ese miembro como si fuera un valor de datos. 

El tercer método (cálculo dinámico) se especifica exactamente en el mismo formato que los cálculos almacenados, pero calcula un resultado cuando un usuario accede a un valor al que apunta ese miembro; el sistema no almacena dichos valores calculados.

El cuarto método (scripts de cálculo) utiliza un lenguaje de programación procedimental específico del motor de cálculo de Essbase. Este tipo de cálculo puede actuar sobre cualquier valor de datos en el hipercubo y, por lo tanto, puede realizar cálculos que no se pueden expresar como una fórmula simple.

También es necesario ejecutar un script de cálculo para activar el cálculo de valores agregados o cálculos almacenados, como se describió anteriormente; se puede utilizar un script de cálculo integrado (denominado "cálculo predeterminado") para ejecutar este tipo de cálculo.

Almacenamiento agregado (Análisis empresarial)

Si bien el almacenamiento en bloques minimiza eficazmente los requisitos de almacenamiento sin afectar el tiempo de recuperación, presenta limitaciones en el tratamiento de datos agregados en aplicaciones de gran tamaño, lo que motivó la introducción de un segundo motor de almacenamiento, denominado Opción de Almacenamiento Agregado ( Essbase ASO ) o, más recientemente, Análisis Empresarial . Esta opción de almacenamiento hace que la base de datos se comporte de forma mucho más similar a una base de datos OLAP, como SQL Server Analysis Services .

Tras la carga de datos, Essbase ASO no almacena valores agregados, sino que los calcula bajo demanda. Para bases de datos grandes, donde el tiempo necesario para generar estos valores puede resultar excesivo, la base de datos puede materializar una o más "vistas" agregadas, compuestas por un nivel de agregación de cada dimensión (por ejemplo, la base de datos puede calcular todas las combinaciones de la quinta generación de Producto con la tercera generación de Cliente). Estas vistas se utilizan posteriormente para generar otros valores agregados cuando sea posible. Este proceso puede automatizarse parcialmente: el administrador especifica la cantidad de espacio en disco que se puede utilizar y la base de datos genera las vistas según el uso real.

Este enfoque tiene un inconveniente importante: el cubo no puede tratarse, a efectos de cálculo, como un único hipercubo grande, ya que los valores agregados no se pueden controlar directamente, por lo que la escritura de datos desde las herramientas de interfaz es limitada y no son posibles los cálculos complejos que no se pueden expresar como expresiones MDX .

Motor de cálculo

Essbase ASO puede especificar los cálculos de la siguiente manera:

  • La agregación de valores a través de jerarquías dimensionales; o
  • Miembros de dimensión calculados dinámicamente.

El primer método (agregación de dimensiones) básicamente duplica el algoritmo utilizado por Essbase BSO.

El segundo método (cálculos dinámicos) evalúa las expresiones MDX en función de los miembros de la dimensión.

Interfaz de usuario

La mayoría de los usuarios de Essbase trabajan con datos de Essbase mediante un complemento para Microsoft Excel (anteriormente también para Lotus 1-2-3 ) conocido como Smart View. El complemento de Essbase es un plugin estándar para Microsoft Excel y crea un menú adicional que permite conectarse a bases de datos de Essbase, recuperar o escribir datos y navegar por las dimensiones del cubo ("Acercar", "Dinámica", etc.). [ 8 ]

En 2005, Hyperion comenzó a ofrecer una herramienta de visualización llamada Hyperion Visual Explorer (HVE), que era un producto OEM de Tableau Software . Tableau Software se originó en la Universidad de Stanford como un proyecto de investigación patrocinado por el gobierno para investigar nuevas formas de interacción de los usuarios con bases de datos relacionales y OLAP . Hyperion y Tableau colaboraron en el desarrollo de las primeras versiones de Tableau Software , diseñadas específicamente para bases de datos multidimensionales (OLAP). Oracle puso fin rápidamente al acuerdo OEM con Tableau Software poco después de la adquisición de Hyperion en 2007.

La mayoría de los demás proveedores de análisis conocidos ofrecen aplicaciones orientadas al usuario con soporte para Essbase e incluyen:

Las ofertas anteriores de Hyperion adquirieron nuevos nombres, como se indica a continuación:

Existen API disponibles para C , Visual Basic y Java , y se ofrece compatibilidad con scripts integrados para Perl . El protocolo estandarizado XML for Analysis permite consultar fuentes de datos de Essbase mediante el lenguaje MDX .

En 2007, Oracle Corporation comenzó a incluir las herramientas de Hyperion BI en Oracle Business Intelligence Enterprise Edition Plus.

Interfaz administrativa

Existen varias interfaces estándar que permiten administrar las aplicaciones de Essbase:

  • ESSCMD , la interfaz de línea de comandos original para comandos de administración;
  • MaxL , un "lenguaje de acceso a bases de datos multidimensionales" que proporciona un superconjunto de comandos ESSCMD, pero con una sintaxis más parecida a SQL , así como soporte para consultas MDX ;
  • Essbase Application Manager , el cliente de administración con interfaz gráfica de usuario (GUI) original de Microsoft Windows , compatible con versiones de Essbase anteriores a la 7.0;
  • Servicios de administración de Essbase , posteriormente renombrados Servicios de administración analítica , y luego de nuevo como 'Servicios de administración de Essbase' en la versión 9.3.1, el cliente de administración GUI compatible actualmente; y
  • Servidor de integración de Essbase para el mantenimiento de la estructura y el contenido de las bases de datos de Essbase basadas en modelos de datos derivados de fuentes de datos relacionales o basadas en archivos.

Ofertas en la nube

Desde 2017, Essbase Cloud está disponible como parte de Oracle Analytics Cloud (OAC), un conjunto de herramientas analíticas que incluye informes y paneles, visualización de datos, preparación de datos en línea y funcionalidades móviles. [ 13 ]

Competidores

En el mercado existen varios competidores importantes de productos OLAP y de análisis, como Essbase (HOLAP/MOLAP), entre ellos SAP BPC, Microsoft SQL Server Microsoft Analysis Services (MOLAP, HOLAP, ROLAP), IBM Cognos (ROLAP), IBM/Cognos/Applix TM1 (MOLAP), Oracle OLAP (ROLAP/MOLAP), MicroStrategy (ROLAP) y EXASolution (ROLAP).

Cabe destacar también que, de los competidores mencionados anteriormente, incluido Essbase, todos utilizan fuentes de datos relacionales heterogéneas ( Microsoft SQL Server , Oracle, IBM DB/2, TeraData, Access, etc.) o no relacionales (Excel, archivos de texto, archivos CSV, etc.) para alimentar los cubos (datos de hechos y datos dimensionales), excepto Oracle OLAP, que puede utilizar únicamente fuentes relacionales de Oracle.

Exportación y/o migración de productos de Essbase

A partir de 2009Existen dos opciones para exportar cubos de Essbase a otros formatos:

  1. CubePort , una aplicación de conversión comercial, transforma cubos de Essbase al producto Microsoft SQL Server Analysis Services. Este producto realiza una traducción de objetos que componen un cubo de Essbase, incluyendo: esquema, fórmulas de miembros, scripts de cálculo, carga de datos (reglas de carga), scripts de informes a consultas MDX, variables de sustitución y modelo de seguridad. Puede extraer datos de cualquier versión de Essbase, incluyendo Oracle/Hyperion Essbase en Windows, Unix, AIX, HP UX, Solaris, IBM DB/2 OLAP o AS/400 Showcase Essbase.
  2. OlapUnderground Outline Extractor realiza una exportación básica del esquema, aunque no crea directamente ningún objeto nuevo. El resultado es un archivo de texto simple que puede importarse indirectamente a otros productos OLAP, entre otros usos, como la sincronización de esquemas.

Véase también

Referencias

  1. "Servidor OLAP DB2" . Archivado del original el 5 de diciembre de 2006. El servidor OLAP IBM DB2 dejará de recibir soporte el 31 de enero de 2007.
  2. Codd, EF ; SB Codd; CT Salley (26 de julio de 1993). "Proveyendo OLAP a usuarios-analistas: un mandato de TI" (PDF) . Computerworld . Archivado del original (PDF) el 8 de agosto de 2017.
  3. Whitehorn, Mark (26 de enero de 2007). "OLAP y la necesidad de VELOCIDAD: En otra dimensión" . The Register .
  4. "Essbase | Inteligencia de Negocios" . Oracle.
  5. Rossi, Ben (25 de febrero de 2006). "Los diez mejores de los últimos diez años" . Information Age . Recuperado el 27 de enero de 2024 .
  6. "Comunicado de prensa - Hyperion" . 16 de agosto de 2005. Archivado del original el 27 de septiembre de 2007.
  7. 1 2 Earle, Robert J. (1992) "Método y aparato para almacenar y recuperar datos multidimensionales en la memoria de la computadora" Archivado el 1 de febrero de 2018 en Wayback Machine . Patente de Estados Unidos 5,359,724 asignada a Arbor Software Corporation .
  8. Hyperion Solutions Corporation (2006). Guía del administrador de bases de datos Essbase . Archivado el 4 de febrero de 2006 en Wayback Machine.
  9. "OLAP aplicado: Software del sistema de gestión de hojas de cálculo Dodeca" . Sistema de gestión de hojas de cálculo Dodeca . Applied OLAP, Inc.
  10. "Complemento Dodeca Excel para Essbase" .
  11. "Página de inicio -" . Archivado del original el 22/04/2013 . Consultado el 06/09/2018 .
  12. "Análisis de datos de autoservicio con cubus EV" .
  13. Todd Rebner (19 de abril de 2017). "Oracle Essbase Cloud ya está aquí" . Datavail Corporation.
  • Documentación de Essbase