Introducción al análisis multivariado. OLAP simplificado

OLAP es una tecnología especial de informes comerciales que le permite configurar rápidamente nuevos informes, recibir un informe instantáneamente y la capacidad de interactuar con él de forma interactiva.

El término OLAP (procesamiento analítico en línea) generalmente se traduce como “análisis de datos en línea”. El análisis de datos operativos consiste en que el usuario final realiza muchas iteraciones para cambiar el informe en busca de aquellas formas de presentación de datos que le revelen más claramente la esencia del problema que se está analizando actualmente.

informe OLAP

Sin embargo, OLAP no es una tecnología analítica compleja; al contrario, OLAP proporciona un formulario de informe estandarizado y simplificado que contiene cifras agregadas en varias secciones. Este formulario es el más adecuado para crear un sistema de presentación de informes corporativos y está destinado a las amplias masas de empleados de oficina y gerentes de distintos niveles.

Desde el punto de vista del usuario final, la esencia de la tecnología OLAP es que los datos se le proporcionan en una tabla dinámica, que los resume automáticamente en varias secciones y permite la gestión interactiva tanto de los cálculos como del formulario del informe.

Las herramientas de gestión de informes son los elementos de la propia tabla. Al arrastrar columnas y filas, el usuario cambia de forma independiente el tipo de informe y la agrupación de datos, el sistema calcula instantáneamente nuevos totales, sumando miles o incluso millones de filas.

Rama

Partida presupuestaria

Producto

Suma

Ingresos por intereses

Total

30 000 000

Ingresos no financieros

Pagos de clientes

Operaciones de cambio

Total

10 000 000

Total

40 000 000

Ingresos por intereses

Total

6 000 000

Ingresos no financieros

Pagos de clientes

Operaciones de cambio

Total

3 000 000

Total

9 000 000

Novosibirsk

Total

52 000 000

Arroz. 1 informe OLAP

El informe OLAP se reconstruye al recibir comandos del usuario en una fracción de segundo, lo que permite al usuario obtener muchos otros desde un formulario de informe. Esta velocidad de generación de informes está garantizada por la arquitectura especial de los sistemas OLAP, que se diferencia fundamentalmente de otros sistemas y tecnologías de generación de informes.

Todos los datos de un informe OLAP se dividen en dos categorías: dimensiones (filas o fechas) y hechos o medidas (datos numéricos). El informe consta de varias áreas fijas: el área de columnas, filas, datos y dimensiones inactivas.

El área de datos muestra datos detallados, subtotales y totales finales. Como resultado, independientemente de la naturaleza de los datos, el área temática y el grupo de usuarios, existe un conjunto limitado de reglas mediante las cuales se genera el informe.

Esto le permite crear mecanismos universales para cálculos (motor OLAP), gestión y visualización de informes (tabla OLAP, diagrama OLAP, mapa OLAP).

Un informe OLAP puede estar en pantalla o en papel. Un informe OLAP en forma de pantalla le permite manipular los datos y mostrar el formulario. Cualquier informe de pantalla recibido se puede imprimir en papel de la misma forma que apareció en la pantalla.

Además de una o más tablas, un informe OLAP también puede contener otros elementos visuales: gráficos, diagramas. Se pueden agregar los llamados “semáforos”, diagramas fáciles de entender, a las celdas del informe. Esto le permite comprender los datos de un vistazo, razón por la cual estos informes suelen crearse para los altos directivos.

Características del informe OLAP

Entonces, el informe OLAP tiene una serie de características fundamentales, estas son:

  • informe que proporciona al usuario una forma altamente interactiva de trabajar con datos
  • un informe agregado que le permite profundizar en los detalles
  • un informe que le permite cambiar fácilmente las secciones analíticas cambiando el orden de los campos
  • un informe que le permite filtrar datos instantáneamente por todas las combinaciones posibles
  • Informe en pantalla con la capacidad de enviarlo a una impresora.
  • informe personalizable por el usuario sin programación
  • un informe que tiene una estructura simple y regular

Consultas, informes, análisis.

Los informes OLAP brindan al usuario una nueva calidad de trabajo con datos. El usuario puede resumir, generalizar y detallar datos, mover filas y columnas, obteniendo instantáneamente nuevos totales intermedios y finales para todas las secciones, realizar muchas otras operaciones interactivas con el informe, analizando datos más rápido y más profundamente.

Para resolver problemas analíticos asociados con cálculos complejos, pronósticos y modelados de escenarios de "¿Qué pasaría si...?", se utiliza la tecnología de análisis de datos multidimensionales: tecnología OLAP. El concepto de OLAP fue descrito por primera vez en 1993 por Edgar Codd, un famoso investigador de bases de datos y autor del modelo de datos relacionales, en el libro "OLAP para analistas de usuarios: qué debería ser", donde describió 12 leyes del procesamiento de datos analíticos. según el cual los productos de los desarrolladores OLAP todavía existen hoy en día:

1. Representación conceptual multidimensional de datos.

2. Transparencia (acceso transparente a datos externos para el usuario, permitiéndole, esté donde esté, comunicarse con el servidor mediante una herramienta analítica).

3. Disponibilidad y detalle de los datos.

4. Rendimiento constante al desarrollar informes (si aumenta el número de dimensiones o el tamaño de la base de datos, el usuario-analista no debería experimentar una disminución en el rendimiento).

5. Arquitectura cliente-servidor (OLAP accesible desde el escritorio).

6. Multidimensionalidad general.

7. Control dinámico de matrices dispersas.

8. Soporte multiusuario. A menudo sucede que varios usuarios analíticos sienten la necesidad de trabajar juntos con un modelo analítico o crear diferentes modelos a partir de los mismos datos. Y la herramienta OLAP debe proporcionar capacidades de intercambio (consulta y finalización), integridad y seguridad.

9. Operaciones cruzadas ilimitadas.

10. Manipulación intuitiva de datos.

11. Opciones flexibles para recibir informes.

12. Dimensión ilimitada y número de niveles de agregación (la herramienta analítica debe proporcionar al menos 15 dimensiones simultáneamente, y preferiblemente 20).

Las desventajas de los informes convencionales para un gerente son obvias: el gerente no tiene tiempo para seleccionar los números de interés del informe, especialmente porque puede haber demasiados. La complejidad de comprender los informes y la incomodidad de trabajar con ellos llevaron a la necesidad de crear un nuevo concepto para trabajar con datos.

Cuando un analista necesita obtener información, él, de forma independiente o con la ayuda de un programador, realiza la consulta SQL adecuada a la base de datos y recibe los datos que le interesan en forma de informe. Los informes se pueden construir a pedido o sobre el logro de ciertos eventos o tiempos. Esto plantea muchos problemas. En primer lugar, el analista a menudo no tiene habilidades de programación de alto nivel y no puede implementar de forma independiente una consulta SQL a la base de datos. Además, el analista necesita no sólo un informe, sino muchos de ellos en tiempo real. Los programadores, que pueden realizar fácilmente cualquier consulta a la base de datos, incluso si le ayudan, no estarán disponibles todo el tiempo, porque también tienen su propio trabajo. Las solicitudes masivas al servidor de la base de datos complican el trabajo de los empleados de la empresa que trabajan constantemente con bases de datos.

El concepto de OLAP surgió precisamente para resolver estos problemas. OLAP (oh norte l ine A analítico PAG rocessing) es el procesamiento analítico operativo de grandes volúmenes de datos en tiempo real. El propósito de los sistemas OLAP es facilitar la resolución de problemas de análisis de grandes volúmenes de datos y procesamiento rápido de consultas complejas de bases de datos.

OLAP es:

    no es un producto de software

    no es un lenguaje de programación

    no tecnología

OLAP es un conjunto de conceptos, principios y requisitos que facilitan a los analistas el acceso a los datos. Es una herramienta para el análisis dinámico multidimensional de grandes volúmenes de datos en tiempo real.

La tarea del analista es encontrar patrones en grandes cantidades de datos. El analista no prestará atención a un solo hecho; necesita información sobre varias docenas de acontecimientos similares. Los hechos individuales de la base de datos son de interés, por ejemplo, para un contable o un empleado del departamento de ventas responsable de la transacción. Para un analista, un registro no es suficiente; él, por ejemplo, puede necesitar todas las transacciones de una determinada sucursal u oficina de representación durante un mes o un año. Al mismo tiempo, el analista descarta detalles innecesarios como el número de identificación fiscal del comprador, su dirección exacta y número de teléfono, índice del contrato, etc. Al mismo tiempo, los datos que un analista requiere para su trabajo contienen necesariamente valores numéricos; esto se debe a la esencia misma de su actividad.

Un conjunto de datos multidimensional a menudo se representa como un cubo OLAP (ver Fig. 26). Los ejes de un cubo OLAP contienen parámetros y las celdas contienen datos agregados que dependen de ellos.

Arroz. 26OLAP - cubo

Los cubos OLAP son esencialmente metainformes. Las ventajas de los cubos son obvias: los datos de la base de datos solo deben solicitarse una vez al construir un cubo. Dado que los analistas, por regla general, no trabajan con información que se complementa y modifica sobre la marcha, el cubo generado es relevante durante bastante tiempo. Gracias a esto, no sólo se eliminan las interrupciones en el funcionamiento del servidor de la base de datos (no hay consultas con miles y millones de líneas de respuesta), sino que también aumenta considerablemente la velocidad de acceso a los datos por parte del propio analista.

Pero también hay un inconveniente importante: un cubo OLAP puede ocupar decenas o incluso cientos de veces más espacio que los datos originales.

OLAP: un cubo no tiene por qué ser tridimensional. Puede ser tanto bidimensional como multidimensional, según el problema que se resuelva. Los analistas pueden necesitar más de 20 dimensiones; los productos OLAP serios están diseñados sólo para esta cantidad. Las aplicaciones de escritorio más simples admiten un máximo de 6 dimensiones.

No es necesario completar todos los elementos del cubo: si falta alguna información, simplemente no se determinará el valor en la celda correspondiente. Tampoco es necesario que una aplicación OLAP almacene necesariamente datos en una estructura multidimensional; lo principal es que estos datos se vean exactamente así para el usuario.

El cubo OLAP se puede llenar tanto con datos reales de sistemas operativos como con datos de pronóstico basados ​​en datos históricos. Las dimensiones de un hipercubo pueden ser complejas, jerárquicas y se pueden establecer relaciones entre ellas. Durante el proceso de análisis, el usuario puede cambiar el punto de vista de los datos (la llamada operación de cambiar la vista lógica), viendo así los datos desde varias perspectivas y resolviendo problemas específicos. Se pueden realizar varias operaciones en los cubos, incluida la previsión y la planificación condicional (análisis de hipótesis).

Un cubo tridimensional se puede representar y visualizar fácilmente. Sin embargo, es casi imposible imaginar o representar adecuadamente un cubo de seis o veinte dimensiones. Por lo tanto, antes de su uso, se extraen tablas bidimensionales ordinarias del cubo multidimensional, es decir, como si “cortaran” las dimensiones del cubo según las marcas. Al cortar los cubos OLAP por dimensiones, el analista en realidad recibe los "informes bidimensionales ordinarios" que le interesan (no necesariamente informes en el sentido habitual del término; estamos hablando de estructuras de datos con las mismas funciones). Esta operación se llama "cortar" el cubo. De esta manera, el analista recibe una porción bidimensional del cubo y trabaja con ella. Las secciones necesarias son informes.

Al interactuar con el sistema OLAP, el usuario puede realizar una visualización flexible de la información, obtener fragmentos de datos arbitrarios y realizar operaciones analíticas de detalle, convolución, distribución de un extremo a otro y comparación en el tiempo (ver Fig. 27).

Arroz. 27Pobtener cortes de datos arbitrarios usandocortando un cubo OLAP.

Clasificación de productos OLAP.

Las operaciones con datos las realiza un motor OLAP. Los productos OLAP se clasifican según el método de almacenamiento de datos y la ubicación del motor OLAP.

Según el método de almacenamiento de datos, se dividen en tres categorías: MOLAP, ROLAP y HOLAP:

    MOLAP: los datos fuente y agregados se almacenan en base de datos multidimensional o en un cubo local multidimensional.

    ROLAP: los datos de origen se almacenan en base de datos relacional o en tablas locales planas en el servidor de archivos. Los datos agregados se pueden colocar en tablas de servicios en la misma base de datos. La conversión de datos de una base de datos relacional a cubos multidimensionales se produce a petición de una herramienta OLAP.

    HOLAP - los datos originales permanecen en base de datos relacional, y los datos agregados se colocan en base de datos multidimensional. Un cubo OLAP se construye a petición de una herramienta OLAP basada en datos relacionales y multidimensionales.

Según la ubicación del motor OLAP, se pueden distinguir dos clases principales de productos OLAP: servidor OLAP y cliente OLAP.

servidor OLAP recibe una solicitud, calcula y almacena datos agregados en el servidor, proporcionando a la aplicación cliente instalada en la computadora del cliente solo los resultados de las consultas a cubos multidimensionales que están almacenados en el servidor. Muchos servidores OLAP modernos admiten los tres métodos de almacenamiento de datos: MOLAP, ROLAP y HOLAP.

cliente OLAP construye un cubo multidimensional y realiza cálculos OLAP no en un servidor separado, sino en la propia computadora cliente del usuario. Los clientes OLAP también se dividen en ROLAP y MOLAP.

Se sabe que un servidor OLAP puede procesar mayores cantidades de datos que un cliente OLAP con la misma potencia informática. Esto se debe a que el servidor OLAP almacena una base de datos multidimensional que contiene cubos precalculados en los discos duros. Los programas cliente realizan solicitudes al servidor y reciben tanto el cubo como sus fragmentos. Las características de velocidad de un servidor OLAP son menos sensibles al crecimiento de datos.

El cliente OLAP debe tener todo el cubo en RAM en el momento de la operación. Por lo tanto, la cantidad de datos procesados ​​por el cliente OLAP depende directamente de la cantidad de RAM en la computadora del usuario. El cliente OLAP genera una consulta a la base de datos, que describe las condiciones de filtrado y el algoritmo para la agrupación preliminar de los datos primarios. El servidor busca, agrupa registros y devuelve una selección compacta para realizar más cálculos OLAP. El tamaño de esta muestra puede ser decenas o cientos de veces menor que el volumen de registros primarios no agregados. En consecuencia, la necesidad de un cliente OLAP de este tipo en los recursos informáticos se reduce significativamente.

Un servidor OLAP impone requisitos mínimos a la potencia de las computadoras cliente. Los requisitos del cliente OLAP son mayores, porque... realiza cálculos en su RAM. Si la potencia de las computadoras cliente es baja, el cliente OLAP funcionará lentamente o no podrá funcionar en absoluto. Comprar un servidor potente puede resultar más económico que actualizar todas sus computadoras.

El coste de un servidor OLAP es bastante elevado y la implementación y mantenimiento de un servidor OLAP requiere personal altamente cualificado. El costo de un cliente OLAP es un orden de magnitud menor que el costo de un servidor OLAP.

Con la introducción de OLAP, la productividad y eficiencia de la gestión empresarial aumentan significativamente. La persona principal en el proceso de análisis de datos es experto– especialista en la materia. El experto plantea hipótesis (supuestos) y, para analizarlas, examina determinadas muestras de diversas formas o construye modelos para comprobar la fiabilidad de las hipótesis.

Las herramientas analíticas permiten al usuario final, que no tiene conocimientos especiales de TI, trabajar con grandes volúmenes de datos. El propósito de los sistemas empresariales analíticos: apoyar la toma de decisiones en todos los niveles de la gestión empresarial.

Sistemas analíticos Nivel operacional Proporcionar gestión empresarial en "modo operativo", es decir. implementación de un programa de producción específico. Sistemas analíticos nivel estratégico ayudar a la dirección empresarial a tomar decisiones en “modo desarrollo”. Los sistemas de gestión estratégica son sistemas de información analítica que apoyan la solución de tareas clave de la gestión estratégica de una empresa.

Se pueden leer muchos artículos sobre OLAP en el sitio web: http://www.olap.ru/basic/oolap.asp

OLAP- abreviatura de procesamiento analítico en línea en inglés - este no es el nombre de un producto específico, sino de una tecnología completa. En ruso, lo más conveniente es llamar procesamiento analítico operativo OLAP. Aunque en algunas publicaciones el procesamiento analítico se denomina tanto en línea como interactivo, el adjetivo "en línea" refleja con mayor precisión el significado de la tecnología OLAP.

El desarrollo de soluciones de gestión por parte de un directivo entra en la categoría de áreas más difíciles de automatizar. Sin embargo, hoy existe la oportunidad de ayudar al gerente a desarrollar soluciones y, lo más importante, acelerar significativamente el proceso de desarrollo de soluciones, su selección y adopción. Puedes usar OLAP para esto.

Veamos cómo suele ocurrir el proceso de desarrollo de soluciones.

Históricamente, las soluciones para automatizar actividades operativas han sido las más desarrolladas. Estamos hablando de sistemas de procesamiento transaccional (OLTP), también llamados sistemas operativos. Estos sistemas garantizan el registro de determinados hechos, su almacenamiento a corto plazo y su conservación en archivos. La base de dichos sistemas la proporcionan los sistemas de gestión de bases de datos relacionales (RDBMS). El enfoque tradicional es intentar utilizar sistemas operativos ya construidos para apoyar la toma de decisiones. Por lo general, intentan construir un sistema desarrollado de consultas al sistema operativo y utilizan los informes obtenidos después de la interpretación directamente para respaldar las decisiones. Los informes se pueden crear de forma personalizada, es decir. el gerente solicita un informe, y de manera regular, cuando los informes se construyen sobre el logro de ciertos eventos o tiempo. Por ejemplo, un proceso tradicional de apoyo a la toma de decisiones podría verse así: un gerente acude a un especialista en información y comparte su pregunta con él. Luego, el especialista del departamento de información genera una solicitud al sistema operativo, recibe un informe electrónico, lo interpreta y lo comunica al personal de gestión.

Por supuesto, un esquema de este tipo proporciona apoyo a la toma de decisiones hasta cierto punto, pero tiene una eficiencia extremadamente baja y una gran cantidad de desventajas. Se utilizan cantidades minúsculas de datos para respaldar decisiones de misión crítica. Hay otros problemas tambien. Este proceso es muy lento, ya que el proceso de redacción de solicitudes e interpretación del informe electrónico es largo. Se necesitan muchos días, mientras que es posible que el gerente deba tomar una decisión ahora mismo, de inmediato. Si tenemos en cuenta que, después de recibir el informe, el gerente puede estar interesado en otra pregunta (por ejemplo, aclarar o requerir la consideración de datos en un contexto diferente), entonces este ciclo lento debería repetirse. Y dado que el proceso de análisis de datos de los sistemas operativos se realizará de forma iterativa, se pierde aún más tiempo. Otro problema es la diferencia en las áreas de actividad de un especialista en tecnologías de la información y un gerente, que pueden pensar en diferentes categorías y, como resultado, no entenderse. Esto significa que serán necesarias iteraciones aclaratorias adicionales, y esto nuevamente es tiempo, que siempre es escaso. Otro problema importante es que los informes son difíciles de entender. El gerente no tiene tiempo para seleccionar los números de interés del informe, especialmente porque puede haber demasiados (recuerde los enormes informes de varias páginas en los que en realidad se usan varias páginas y el resto se usa por si acaso). También observamos que el trabajo de interpretación recae con mayor frecuencia en especialistas de los departamentos de información. Es decir, un especialista competente se distrae con el trabajo rutinario e ineficaz de dibujar diagramas, etc., que, naturalmente, no puede tener un efecto favorable en sus calificaciones. Además, no es ningún secreto que en la cadena de interpretación hay simpatizantes interesados ​​en distorsionar deliberadamente la información entrante.

Las deficiencias anteriores nos hacen pensar en la eficiencia general del sistema operativo y los costos asociados a su existencia, ya que resulta que los costos de creación de un sistema operativo no se compensan adecuadamente con la eficiencia de su funcionamiento.

En realidad, estos problemas no son consecuencia de la mala calidad del sistema operativo ni de su mal diseño. Las raíces de los problemas radican en la diferencia fundamental entre las actividades operativas que automatiza el sistema operativo y las actividades que se desarrollan y toman decisiones. Esta diferencia radica en el hecho de que los datos del sistema operativo son simplemente registros de ciertos eventos y hechos que tuvieron lugar, pero no información en el sentido general de la palabra. La información es lo que reduce la incertidumbre en un área. Y sería muy bueno que la información redujera la incertidumbre en la preparación de decisiones. El conocido E.F. habló una vez sobre la inadecuación de los sistemas operativos basados ​​en RDBMS para este propósito. Codd, un pionero de la tecnología de sistemas de gestión de bases de datos relacionales en la década de 1970: "Aunque los sistemas de gestión de bases de datos relacionales están disponibles para los usuarios, nunca se ha reconocido que proporcionen poderosas capacidades de síntesis, análisis y consolidación (funciones llamadas análisis de datos multidimensionales)". Estamos hablando específicamente de la síntesis de información, de convertir los datos de los sistemas operativos en información e incluso en evaluaciones cualitativas. OLAP hace posible esta transformación.

OLAP se basa en la idea de un modelo de datos multidimensional. El pensamiento humano es multidimensional por definición. Cuando una persona hace preguntas, impone restricciones, formulando así preguntas en muchas dimensiones; por lo tanto, el proceso de análisis en un modelo multidimensional está muy cerca de la realidad del pensamiento humano. Según las dimensiones del modelo multidimensional, se grafican los factores que influyen en las actividades de la empresa (por ejemplo: tiempo, productos, sucursales de la empresa, geografía, etc.). De esta forma se obtiene un hipercubo (claro, el nombre no es muy bueno, ya que por cubo se suele entender una figura de aristas iguales, lo que dista mucho de ser el caso en este caso), que luego se rellena con indicadores de la actividad de la empresa (precios, ventas, plan, ganancias, pérdidas, etc.). Esto se puede completar tanto con datos reales de los sistemas operativos como con datos de pronóstico basados ​​en datos históricos. Las dimensiones de un hipercubo pueden ser complejas, jerárquicas y se pueden establecer relaciones entre ellas. Durante el proceso de análisis, el usuario puede cambiar el punto de vista de los datos (la llamada operación de cambiar la vista lógica), viendo así los datos desde varias perspectivas y resolviendo problemas específicos. Se pueden realizar varias operaciones en los cubos, incluida la previsión y la planificación condicional (análisis de hipótesis). Además, las operaciones se realizan sobre cubos, es decir. el producto, por ejemplo, dará como resultado un producto de hipercubo, cada celda del cual es el producto de las celdas de los hipercubos multiplicadores correspondientes. Naturalmente, es posible realizar operaciones en hipercubos que tengan diferente número de dimensiones.

Una pequeña historia

La idea de procesar datos en matrices multidimensionales no es nueva. De hecho, se remonta al año 1962, cuando Ken Iverson publicó su libro “Un lenguaje de programación” (APL). La primera implementación práctica de APL tuvo lugar a finales de los años sesenta por parte de IBM. APL es un lenguaje muy elegante, definido matemáticamente con variables multidimensionales y operaciones procesadas. Fue pensado como una herramienta original y poderosa para trabajar con transformaciones multidimensionales en comparación con otros lenguajes de programación prácticos.

Sin embargo, la idea no recibió una aplicación masiva durante mucho tiempo, ya que aún no había llegado el momento de las interfaces gráficas y los dispositivos de impresión de alta calidad, y la visualización de caracteres griegos requería pantallas, teclados y dispositivos de impresión especiales. Más tarde, a veces se utilizaron palabras en inglés para reemplazar a los operadores griegos, pero los puristas de APL detuvieron los intentos de popularizar su idioma favorito. APL también consumió recursos de la máquina. En aquellos días su uso era caro. Los programas corrían muy lentamente y, además, ejecutarlos era muy caro: requerían mucha memoria, que en ese momento era simplemente impactante (unos 6 MB).

Sin embargo, la frustración de estos errores iniciales no acabó con la idea. Se utilizó en muchas aplicaciones comerciales en los años 70 y 80. Muchas de estas aplicaciones tenían características de los sistemas de procesamiento analítico modernos. Así, IBM desarrolló un sistema operativo para APL llamado VSPC, y algunas personas lo consideraron un entorno ideal para uso personal hasta que las hojas de cálculo se volvieron omnipresentes.

Pero APL era demasiado difícil de usar, especialmente porque cada vez había inconsistencias entre el lenguaje en sí y el hardware en el que se intentaba implementarlo.

En la década de 1980, APL estuvo disponible en máquinas personales, pero no encontró uso en el mercado. La alternativa era programar aplicaciones multidimensionales utilizando arrays en otros lenguajes. Esta fue una tarea muy difícil incluso para los programadores profesionales, lo que los obligó a esperar a la próxima generación de productos de software multidimensionales.

En 1972, varios productos de software de aplicaciones multidimensionales utilizados anteriormente con fines educativos encontraron uso comercial: por ejemplo, Express. Incluso ahora permanece en una forma completamente reescrita, pero los conceptos originales de los años 70 han dejado de ser relevantes. Hoy, en los años 90, Express es una de las tecnologías OLAP más populares, y Oracle(r) la promoverá y agregará nuevas capacidades.

En los años 80 aparecieron productos más multidimensionales. A principios de la década surgió un producto llamado Stratagem, más tarde llamado Acumate (hoy propiedad de Kenan Technologies), que todavía se promocionó hasta principios de los 90, pero hoy, a diferencia de Express, prácticamente no se utiliza.

Comshare System W era un producto multidimensional de un estilo diferente. Introducido en 1981, fue el primero en centrarse más en el usuario final y el desarrollo de aplicaciones financieras. Introdujo muchos conceptos nuevos que no fueron bien adoptados, como reglas completamente no procesales, visualización y edición de datos multidimensionales en pantalla completa, recálculo automático e integración por lotes con datos relacionales. Sin embargo, el Comshare System W era bastante pesado para el hardware de la época en comparación con otros productos. Se usó cada vez menos en el futuro, se vendió cada vez menos y no se realizaron mejoras en el producto. Aunque todavía está disponible en UNIX, no es cliente-servidor, lo que no mejora su oferta en el mercado de análisis. A finales de la década de 1980, Comshare lanzó un producto para DOS y más tarde para Windows. Estos productos se llamaron Commander Prism y utilizaron los mismos conceptos que System W.

Otro producto creativo de finales de los 80 se llamó Metaphor. Estaba destinado a especialistas en marketing profesionales. También introdujo muchos conceptos nuevos que recién comienzan a usarse ampliamente en la actualidad: computación cliente-servidor, uso de un modelo multidimensional para datos relacionales y desarrollo de aplicaciones orientadas a objetos. Sin embargo, el hardware de PC estándar de la época no era capaz de ejecutar Metaphor y los proveedores se vieron obligados a desarrollar sus propios estándares de red y PC. Poco a poco, Metaphor comenzó a funcionar con más éxito en máquinas personales en serie, pero el producto se fabricó exclusivamente para OS/2 y tenía su propia interfaz gráfica de usuario.

Luego, Metaphor firmó una alianza de marketing con IBM, que posteriormente absorbió. A mediados de 1994, IBM decidió integrar la tecnología Metaphor (rebautizada DIS) con sus tecnologías futuras y, por tanto, dejar de financiar la línea separada. Sin embargo, los clientes expresaron su descontento y exigieron soporte continuo para el producto. Se continuó brindando soporte para los clientes restantes e IBM relanzó el producto con el nuevo nombre DIS, lo que, sin embargo, no lo hizo popular. Pero los conceptos creativos e innovadores de Metaphor no fueron olvidados y hoy son visibles en muchos productos.

A mediados de los años 80 nació el término EIS (Executive Information System). El primer producto que demostró claramente esta dirección fue Pilot's Command Center. Era un producto que permitía la computación colaborativa, lo que hoy llamamos computación cliente-servidor. Dado que el poder de las computadoras personales en los años 80 era limitado, el producto era muy "servidor". céntrico", pero este principio sigue siendo muy popular hoy en día. Pilot no vendió Command Center por mucho tiempo, pero introdujo muchos de los conceptos que se pueden reconocer en los productos OLAP actuales, incluido el soporte automático para intervalos de tiempo, cálculos multidimensionales cliente-servidor y control simplificado del proceso de análisis (ratón, pantallas sensibles, etc.) Algunos de estos conceptos se volvieron a aplicar más adelante en Pilot Analysis Server.

A finales de la década de 1980, las hojas de cálculo dominaban el mercado de herramientas que proporcionaban análisis a los usuarios finales. Compete presentó la primera hoja de cálculo multidimensional. Se comercializó como un producto muy caro para profesionales, pero los proveedores no lograron garantizar que el producto pudiera capturar el mercado y Computer Associates adquirió los derechos junto con otros productos, incluidos Supercalc y 20/20. El principal efecto de la adquisición de Compete por parte de Computer Associates fue reducir drásticamente su precio y eliminar la protección contra copia, lo que naturalmente contribuyó a su proliferación. Sin embargo, no tuvo éxito. Competir es la base de Supercalc 5, pero no se promueve su aspecto multidimensional. El antiguo Compete todavía se utiliza debido a que se invirtió mucho dinero en él al mismo tiempo.

Lotus fue el siguiente en intentar ingresar al mercado de hojas de cálculo multidimensionales con su producto Improv, que se ejecuta en una máquina NeXT. Esto aseguró, como mínimo, que las ventas de 1-2-3 no disminuyeran. Pero cuando finalmente se lanzó para Windows, Excel ya tenía una gran cuota de mercado, lo que impidió a Lotus realizar cambios en la distribución del mercado. Lotus, al igual que CA con Compete, trasladó Improv al extremo inferior del mercado, pero esto no era una condición para una promoción exitosa en el mercado y los nuevos desarrollos en esta área no continuaron. Resultó que los usuarios de PC preferían hojas de cálculo 1-2-3 y no estaban interesados ​​en nuevas capacidades multivariadas a menos que fueran totalmente compatibles con sus hojas de cálculo antiguas. Del mismo modo, los conceptos de pequeñas hojas de cálculo de escritorio ofrecidas como aplicaciones personales no han resultado realmente convenientes ni han tenido éxito en el mundo empresarial real. Microsoft(r) siguió este camino añadiendo tablas dinámicas (en la edición rusa se llaman “tablas dinámicas”) a Excel. Aunque pocos usuarios de Excel se han beneficiado del uso de esta característica, es probablemente la única evidencia del uso generalizado de capacidades de análisis multivariado en el mundo simplemente porque hay tantos usuarios de Excel en el mundo.

OLAP, ROLAP, MOLAP...

Es bien sabido que cuando Codd publicó sus reglas para construir DBMS relacionales en 1985, provocaron una fuerte reacción y posteriormente tuvieron un fuerte impacto en la industria DBMS en general. Sin embargo, pocas personas saben que en 1993 Codd publicó un trabajo titulado "OLAP para analistas de usuarios: lo que debería ser". En él, describió los conceptos básicos del análisis en línea y definió 12 reglas que deben cumplir los productos que brindan capacidades de análisis en línea.

Estas son las reglas (si es posible se ha conservado el texto original):

  1. Representación conceptual multidimensional. El usuario-analista ve el mundo empresarial como de naturaleza multidimensional. En consecuencia, el modelo OLAP debe ser multidimensional en su esencia. Un diagrama conceptual multidimensional o una representación personalizada facilita el modelado y el análisis, así como los cálculos.
  2. Transparencia. Ya sea que el producto OLAP forme parte de las herramientas del usuario o no, este hecho debe ser transparente para el usuario. Si OLAP es proporcionado por la informática cliente-servidor, entonces este hecho también debería, si es posible, ser invisible para el usuario. OLAP debe proporcionarse en el contexto de una arquitectura verdaderamente abierta, que permita al usuario, esté donde esté, comunicarse a través de una herramienta analítica con el servidor. Además de esto, también se debe lograr la transparencia cuando la herramienta analítica interactúa con entornos de bases de datos homogéneos y heterogéneos.
  3. Disponibilidad. El usuario analista de OLAP debe poder realizar análisis basados ​​en un esquema conceptual común que contenga datos de toda la empresa en una base de datos relacional, así como datos de bases de datos heredadas, métodos de acceso comunes y un modelo analítico común. Esto significa que OLAP debe proporcionar su propio esquema lógico para el acceso en un entorno de base de datos heterogéneo y realizar las transformaciones apropiadas para presentar los datos al usuario. Además, es necesario tener en cuenta de antemano dónde, cómo y qué tipos de organización física de los datos se utilizarán realmente. Un sistema OLAP sólo debería acceder a los datos que realmente se necesitan, en lugar de adoptar un enfoque general de "embudo de cocina" que introduce entradas innecesarias.
  4. Productividad constante en el desarrollo de informes. Si aumenta el número de dimensiones o el tamaño de la base de datos, el usuario analista no debería experimentar ninguna degradación significativa en el rendimiento. Para el usuario final, son fundamentales tanto el rendimiento constante como el mantenimiento de la facilidad de uso y la limitación de la complejidad de OLAP. Si el analista-usuario experimenta diferencias significativas en el desempeño según el número de dimensiones, entonces tenderá a compensar estas diferencias con la estrategia de diseño, lo que hará que los datos se presenten de formas distintas a la forma en que realmente se presentan. necesita ser presentado. Pasar tiempo explorando un sistema para compensar sus deficiencias no es para lo que están diseñados los productos analíticos.
  5. Arquitectura cliente-servidor. La mayoría de los datos que hoy en día deben procesarse de forma rápida y analítica se almacenan en mainframes con acceso a PC. Esto significa que los productos OLAP deben poder funcionar en un entorno cliente-servidor. Desde este punto de vista, parece necesario que el componente servidor de una herramienta analítica sea tan "inteligente" que varios clientes puedan conectarse al servidor con un mínimo de complejidad y programación de integración. Un servidor inteligente debe poder mapear y consolidar esquemas de bases de datos físicos y lógicos dispares. Esto proporcionará transparencia y la capacidad de construir un marco conceptual, lógico y físico común.
  6. Multidimensionalidad generalizada. Cada dimensión debe aplicarse independientemente de su estructura y capacidades operativas. Se pueden proporcionar capacidades operativas adicionales a dimensiones seleccionadas y, dado que las dimensiones son simétricas, se puede proporcionar una única función a cualquier dimensión. Las estructuras de datos básicos, las fórmulas y los formatos de informes no deben estar sesgados hacia ninguna dimensión.
  7. Gestión dinámica de matrices dispersas. El diseño físico de una herramienta OLAP debe adaptarse completamente al modelo analítico específico para una gestión óptima de matrices dispersas. Para cualquier matriz dispersa dada, existe uno y sólo un esquema físico óptimo. Este esquema proporciona la máxima eficiencia de la memoria y operatividad de la matriz, siempre que, por supuesto, todo el conjunto de datos quepa en la memoria. Para operaciones prácticas con grandes modelos analíticos, los datos físicos subyacentes de una herramienta OLAP deben configurarse en cualquier subconjunto de dimensiones y en cualquier orden. Los métodos de acceso físico también deberían cambiar dinámicamente y contener diferentes tipos de mecanismos, como: cálculos directos, árboles B y derivados, hash y la capacidad de combinar estos mecanismos si es necesario. La dispersión (medida como el porcentaje de celdas vacías respecto de todas las celdas posibles) es una de las características de la propagación de datos. No regular la escasez puede hacer que la eficiencia operativa sea inalcanzable. Si una herramienta OLAP no puede controlar y regular la distribución de los valores de los datos analizados, un modelo que pretende ser práctico, basado en muchas vías y dimensiones de consolidación, puede en realidad resultar innecesario y desesperado.
  8. Soporte multiusuario. A menudo, varios usuarios analíticos necesitan trabajar en colaboración con el mismo modelo analítico o crear modelos diferentes a partir de los mismos datos. Por lo tanto, una herramienta OLAP debe proporcionar capacidades de intercambio (consulta y finalización), integridad y seguridad.
  9. Operaciones cruzadas ilimitadas. Los diferentes niveles de acumulación y rutas de consolidación, debido a su naturaleza jerárquica, representan relaciones dependientes en un modelo o aplicación OLAP. Por lo tanto, la herramienta en sí debería implicar los cálculos correspondientes y no requerir que el usuario analítico redefina estos cálculos y operaciones. Los cálculos que no resultan de estas relaciones heredadas requieren una definición mediante diferentes fórmulas según algún lenguaje aplicable. Un lenguaje de este tipo puede permitir cálculos y manipulación de datos de cualquier dimensión y no limitar las relaciones entre celdas de datos, independientemente del número de atributos de datos comunes de celdas específicas.
  10. Manipulación intuitiva de datos. La reorientación de las rutas de consolidación, el detalle, la ampliación y otras manipulaciones reguladas por las rutas de consolidación deben realizarse mediante un impacto separado en las celdas del modelo analítico y no deben requerir el uso de un sistema de menús u otras acciones múltiples con la interfaz de usuario. La visión del usuario-analista de las dimensiones definidas en el modelo analítico debe contener toda la información necesaria para realizar las acciones anteriores.
  11. Opciones de informes flexibles. El análisis y la presentación de datos es simple cuando las filas, columnas y celdas de datos que se compararán visualmente están cerca unas de otras o organizadas de acuerdo con alguna función lógica que tiene lugar en la empresa. Las herramientas de generación de informes deben ser datos sintetizados o información resultante del modelo de datos en cualquier orientación posible. Esto significa que las filas, columnas o páginas deben mostrar entre 0 y N dimensiones a la vez, donde N es el número de dimensiones en todo el modelo analítico. Además, cada dimensión de contenido que se muestra en una sola publicación, columna o página también debe poder mostrar cualquier subconjunto de los elementos (valores) contenidos en la dimensión, en cualquier orden.
  12. Dimensión ilimitada y número de niveles de agregación. Un estudio sobre el posible número de dimensiones necesarias requeridas en un modelo analítico mostró que se podían utilizar hasta 19 dimensiones simultáneamente. Por lo tanto, se recomienda encarecidamente que la herramienta analítica sea capaz de proporcionar simultáneamente al menos 15 dimensiones, y preferiblemente 20. Además, cada una de las dimensiones comunes no debe estar limitada en el número de niveles de agregación y rutas de consolidación definidos por el usuario-analista.

De hecho, los desarrolladores de productos OLAP actuales siguen estas reglas, o al menos se esfuerzan por seguirlas. Estas reglas pueden considerarse la base teórica del procesamiento analítico operativo; es difícil discutirlas. Posteriormente se extrajeron muchos corolarios de las 12 reglas, que, sin embargo, no citaremos para no complicar innecesariamente la narración.

Echemos un vistazo más de cerca a las diferencias entre los productos OLAP en su implementación física.

Como se señaló anteriormente, OLAP se basa en la idea de procesar datos mediante estructuras multidimensionales. Cuando decimos OLAP queremos decir que lógicamente la estructura de datos del producto analítico es multidimensional. Cómo se implementa exactamente esto es otra cuestión. Hay dos tipos principales de procesamiento analítico, que incluyen determinados productos.

MOLAP. En realidad, OLAP multidimensional (multidimensional). El producto se basa en una estructura de datos no relacional que proporciona almacenamiento, procesamiento y presentación multidimensional de datos. En consecuencia, las bases de datos se denominan multidimensionales. Los productos de esta clase suelen tener un servidor de base de datos multidimensional. Durante el proceso de análisis, los datos se seleccionan exclusivamente de una estructura multidimensional. Una estructura así es muy productiva.

ROLAP. OLAP relacional. Como su nombre lo indica, la estructura multidimensional de dichas herramientas se implementa mediante tablas relacionales. Y, en consecuencia, los datos en el proceso de análisis se seleccionan de la base de datos relacional mediante una herramienta analítica.

Las desventajas y ventajas de cada enfoque son, en general, obvias. OLAP multidimensional proporciona un mejor rendimiento, pero las estructuras no se pueden utilizar para procesar grandes cantidades de datos porque la alta dimensionalidad requerirá grandes recursos de hardware, mientras que la escasez de hipercubos puede ser muy alta y, por lo tanto, el uso de potencia de hardware no estará justificado. Por el contrario, OLAP relacional proporciona procesamiento en grandes matrices de datos almacenados, ya que es posible proporcionar un almacenamiento más económico, pero al mismo tiempo es significativamente inferior a OLAP multidimensional en velocidad de operación. Un razonamiento similar llevó a la identificación de una nueva clase de herramientas analíticas: HOLAP. Se trata de un procesamiento analítico operativo híbrido. Las herramientas de esta clase le permiten combinar ambos enfoques: relacional y multidimensional. Se puede acceder tanto a datos de bases de datos multidimensionales como a datos relacionales.

Existe otro tipo bastante exótico de procesamiento analítico operativo: DOLAP. Este es OLAP de "escritorio". Estamos hablando de un procesamiento analítico en el que los hipercubos son pequeños, sus dimensiones son pequeñas, las necesidades son modestas y para dicho procesamiento analítico es suficiente una máquina personal en un escritorio.

Conclusión

El procesamiento analítico operativo puede simplificar y acelerar significativamente el proceso de preparación y toma de decisiones por parte del personal directivo. El procesamiento analítico en línea tiene como objetivo convertir los datos en información. Es fundamentalmente diferente del proceso tradicional de apoyo a la toma de decisiones, que suele basarse en la revisión de informes estructurados. Por analogía, la diferencia entre informes estructurados y OLAP es la misma que entre conducir por la ciudad en tranvía y conducir un coche personal. Cuando viajas en tranvía, se mueve sobre rieles, lo que no te permite ver claramente los edificios distantes y mucho menos acercarte a ellos. Por el contrario, conducir un coche personal te da total libertad de movimiento (por supuesto, debes respetar las normas de tráfico). Puede conducir hasta cualquier edificio y llegar a lugares donde no pasan los tranvías.

Los informes estructurados son los rieles que obstaculizan la libertad a la hora de tomar decisiones. OLAP es un vehículo para el movimiento eficiente a lo largo de las autopistas de la información.

Además de este artículo, puedes consultar los temas de la sección actual:
en la sección "Enciclopedia"
7 artículos en la sección "Artículos".

Los sistemas de información de una empresa seria, por regla general, contienen aplicaciones diseñadas para análisis complejos de datos, su dinámica, tendencias, etc. En consecuencia, la alta dirección se convierte en el principal consumidor de los resultados del análisis. En última instancia, dicho análisis tiene como objetivo apoyar la toma de decisiones. Y para tomar cualquier decisión de gestión es necesario disponer de la información necesaria, normalmente cuantitativa. Para hacer esto, es necesario recopilar estos datos de todos los sistemas de información de la empresa, llevarlos a un formato común y solo luego analizarlos. Para ello se crean los Data Warehouses.

¿Qué es un almacén de datos?

Por lo general, el lugar donde se recopila toda la información de valor analítico. Los requisitos para dichas tiendas corresponden a la definición clásica de OLAP y se explicarán a continuación.

A veces, el Almacén tiene otro objetivo: la integración de todos los datos de la empresa, para mantener la integridad y relevancia de la información dentro de todos los sistemas de información. Eso. el repositorio acumula no solo información analítica, sino casi toda la información, y puede proporcionarla en forma de directorios a otros sistemas.

Un almacén de datos típico suele ser diferente de una base de datos relacional típica. En primer lugar, las bases de datos normales están diseñadas para ayudar a los usuarios a realizar el trabajo diario, mientras que los almacenes de datos están diseñados para la toma de decisiones. Por ejemplo, la venta de bienes y la emisión de facturas se realiza mediante una base de datos diseñada para el procesamiento de transacciones, y el análisis de la dinámica de ventas durante varios años, que permite planificar el trabajo con proveedores, se realiza mediante un almacén de datos.

En segundo lugar, mientras que las bases de datos tradicionales están sujetas a cambios constantes a medida que los usuarios trabajan, el almacén de datos es relativamente estable: los datos que contiene generalmente se actualizan según un cronograma (por ejemplo, semanal, diario o cada hora, según las necesidades). Idealmente, el proceso de enriquecimiento es simplemente la adición de nuevos datos durante un período de tiempo sin cambiar la información anterior que ya está en el repositorio.

Y en tercer lugar, las bases de datos habituales suelen ser la fuente de datos que acaban en el almacén. Además, el repositorio se puede reponer a partir de fuentes externas, como informes estadísticos.

¿Cómo se construye una instalación de almacenamiento?

ETL– concepto básico: Tres etapas:
  • Extracción: extraer datos de fuentes externas en un formato comprensible;
  • Transformación – transformación de la estructura de los datos originales en estructuras convenientes para construir un sistema analítico;
Agreguemos una etapa más: limpieza de datos ( Limpieza) – el proceso de filtrar datos irrelevantes o corregir datos erróneos basándose en métodos estadísticos o expertos. Para no generar informes como “Ventas del 20011” más adelante.

Volvamos al análisis.

¿Qué es el análisis y por qué es necesario?

El análisis es el estudio de datos con el fin de tomar decisiones. Los sistemas analíticos se denominan sistemas de apoyo a la decisión ( DSS).

Aquí vale la pena señalar la diferencia entre trabajar con DSS y un conjunto simple de informes regulados y no regulados. El análisis en DSS es casi siempre interactivo e iterativo. Aquellos. el analista profundiza en los datos, redacta y ajusta consultas analíticas y recibe informes cuya estructura puede desconocerse de antemano. Volveremos a esto con más detalle a continuación cuando analicemos el lenguaje de consulta. MDX.

OLAP

Los sistemas de apoyo a la toma de decisiones suelen tener los medios para proporcionar al usuario datos agregados para varias muestras del conjunto original en una forma conveniente para la percepción y el análisis (tablas, gráficos, etc.). El enfoque tradicional para segmentar datos de origen implica extraer de los datos de origen uno o más conjuntos de datos multidimensionales (a menudo llamados hipercubo o metacubo), cuyos ejes contienen atributos y las celdas contienen datos cuantitativos agregados. (Dichos datos también se pueden almacenar en tablas relacionales, pero en este caso estamos hablando de la organización lógica de los datos y no de la implementación física de su almacenamiento). A lo largo de cada eje, los atributos se pueden organizar en forma de jerarquías, representando diferentes niveles de su detalle. Gracias a este modelo de datos, los usuarios pueden formular consultas complejas, generar informes y obtener subconjuntos de datos.

La tecnología para el análisis de datos multidimensionales complejos se llama OLAP (procesamiento analítico en línea). OLAP es un componente clave del almacenamiento de datos tradicional. El concepto de OLAP fue descrito en 1993 por Edgar Codd, un reconocido investigador de bases de datos y autor del modelo de datos relacionales. En 1995, basándose en los requisitos establecidos por Codd, se formuló la denominada prueba FASMI (Análisis rápido de información multidimensional compartida), que incluía los siguientes requisitos para aplicaciones de análisis multidimensional:

  • proporcionar al usuario resultados de análisis en un tiempo aceptable (normalmente no más de 5 s), incluso a costa de un análisis menos detallado;
  • la capacidad de realizar cualquier análisis lógico y estadístico específico de una aplicación determinada y guardarlo en un formato accesible para el usuario final;
  • acceso multiusuario a los datos con soporte para mecanismos de bloqueo apropiados y medios de acceso autorizados;
  • representación conceptual multidimensional de datos, incluido el soporte total para jerarquías y jerarquías múltiples (este es un requisito clave de OLAP);
  • la capacidad de acceder a cualquier información necesaria, independientemente de su volumen y ubicación de almacenamiento.
Cabe señalar que la funcionalidad OLAP se puede implementar de varias maneras, desde las herramientas de análisis de datos más simples en aplicaciones de oficina hasta sistemas analíticos distribuidos basados ​​en productos de servidor. Aquellos. OLAP no es una tecnología, pero ideología.

Antes de hablar sobre las diversas implementaciones de OLAP, echemos un vistazo más de cerca a qué son los cubos desde un punto de vista lógico.

Conceptos multidimensionales

Para ilustrar los principios de OLAP, utilizaremos la base de datos Northwind, que se incluye con Microsoft SQL Server y es una base de datos típica que almacena información comercial para una empresa mayorista de distribución de alimentos. Dichos datos incluyen información sobre proveedores, clientes, una lista de bienes suministrados y sus categorías, datos sobre pedidos y bienes solicitados, una lista de empleados de la empresa.

Cubo

Tomemos por ejemplo la tabla Facturas1, que contiene los pedidos de la empresa. Los campos de esta tabla serán los siguientes:
  • Fecha de orden
  • Un país
  • Ciudad
  • Nombre del cliente
  • Compañía de entrega
  • nombre del producto
  • Cantidad de bienes
  • Precio del pedido
¿Qué datos agregados podemos obtener de esta vista? Normalmente estas son respuestas a preguntas como:
  • ¿Cuál es el valor total de los pedidos realizados por clientes de un país en particular?
  • ¿Cuál es el valor total de los pedidos realizados por clientes en un determinado país y entregados por una determinada empresa?
  • ¿Cuál es el valor total de los pedidos realizados por clientes en un país en particular en un año determinado y entregados por una empresa en particular?
Todos estos datos se pueden obtener de esta tabla mediante consultas SQL bastante obvias con agrupación.

El resultado de esta consulta siempre será una columna de números y una lista de atributos que lo describen (por ejemplo, país); este es un conjunto de datos unidimensional o, en lenguaje matemático, un vector.

Imaginemos que necesitamos obtener información sobre el costo total de los pedidos de todos los países y su distribución entre las empresas de entrega; obtendremos una tabla (matriz) de números, donde las empresas de entrega se enumerarán en los encabezados de las columnas, los países en la fila. encabezados, y en las celdas habrá cantidad de pedidos. Esta es una matriz de datos bidimensional. Este conjunto de datos se llama tabla dinámica ( tabla dinámica) o tabla cruzada.

Si queremos obtener los mismos datos, pero también por año, entonces aparecerá otro cambio, es decir. el conjunto de datos se volverá tridimensional (un tensor condicional de tercer orden o un “cubo” tridimensional).

Obviamente, el número máximo de dimensiones es el número de todos los atributos (Fecha, País, Cliente, etc.) que describen nuestros datos agregados (cantidad de pedidos, número de productos, etc.).

Así es como llegamos al concepto de multidimensionalidad y su encarnación: cubo multidimensional. Llamaremos a esa mesa " tabla de hechos" Dimensiones o ejes del cubo ( dimensiones) son atributos cuyas coordenadas se expresan mediante los valores individuales de estos atributos presentes en la tabla de hechos. Aquellos. por ejemplo, si la información sobre pedidos se mantuvo en el sistema de 2003 a 2010, entonces el eje de este año constará de 8 puntos correspondientes. Si los pedidos provienen de tres países, entonces el eje de países contendrá 3 puntos, etc. Independientemente de cuántos países estén incluidos en el directorio de países. Los puntos sobre un eje se llaman sus “miembros” ( Miembros).

En este caso, los propios datos agregados se denominarán “medidas” ( Medida). Para evitar confusiones con "dimensiones", estas últimas se denominan preferentemente "ejes". El conjunto de medidas conforma otro eje de "Medidas" ( Medidas). Tiene tantos miembros (puntos) como medidas (columnas agregadas) en la tabla de hechos.

Los miembros de dimensiones o ejes se pueden combinar mediante una o más jerarquías ( jerarquía). Expliquemos qué es la jerarquía con un ejemplo: las ciudades a partir de órdenes se pueden unir en distritos, los distritos en regiones, las regiones de un país, los países en continentes u otras entidades. Aquellos. hay una estructura jerárquica - continente- país-región-distrito-ciudad– 5 niveles ( Nivel). Para una región, los datos se agregan para todas las ciudades que están incluidas en ella. Para una región que abarca todos los distritos que contienen todas las ciudades, etc. ¿Por qué necesitamos múltiples jerarquías? Por ejemplo, en el eje de fecha del pedido es posible que deseemos agrupar puntos (es decir, días) en una jerarquía. Año mes dia o por Año-Semana-Día: en ambos casos hay tres niveles. Obviamente, la Semana y el Mes agrupan los días de manera diferente. También hay jerarquías, cuyo número de niveles no es determinista y depende de los datos. Por ejemplo, carpetas en el disco de una computadora.

La agregación de datos puede ocurrir usando varias funciones estándar: suma, mínimo, máximo, promedio, recuento.

MDX

Pasemos al lenguaje de consulta en datos multidimensionales.
El lenguaje SQL no fue diseñado originalmente para programadores, sino para analistas (y por lo tanto tiene una sintaxis que se asemeja al lenguaje natural). Pero con el tiempo se volvió cada vez más complicado y ahora pocos analistas saben cómo utilizarlo bien, si es que lo saben. Se ha convertido en una herramienta para programadores. El lenguaje de consulta MDX, que se rumorea que fue desarrollado por nuestro antiguo compatriota Mosha (o Mosha) Posumansky en las selvas de Microsoft, también estaba inicialmente destinado a analistas, pero sus conceptos y su sintaxis (que recuerda vagamente a SQL, y completamente en vano, es decir, porque sólo confunde), incluso más complicado que SQL. Sin embargo, sus conceptos básicos siguen siendo fáciles de entender.

Lo veremos en detalle porque es el único lenguaje que ha recibido el estatus de estándar en el marco del estándar general del protocolo XMLA y, en segundo lugar, porque existe una implementación de código abierto en forma del proyecto Mondrian de la empresa. pentaho. Otros sistemas de análisis OLAP (por ejemplo, Oracle OLAP Option) suelen utilizar sus propias extensiones de sintaxis SQL, aunque también declaran ser compatibles con MDX.

Trabajar con conjuntos de datos analíticos sólo significa leerlos y no escribirlos. Eso. MDX no tiene cláusulas para cambiar datos, solo una cláusula de selección: seleccionar.

En OLAP puedes hacer cubos multidimensionales. rebanadas- es decir. cuando los datos se filtran a lo largo de uno o más ejes, o proyecciones– cuando el cubo “colapsa” a lo largo de uno o más ejes, agregando datos. Por ejemplo, nuestro primer ejemplo con la cantidad de pedidos de los países es una proyección del cubo sobre el eje País. La consulta MDX para este caso se verá así:

Seleccione...Niños en filas de
¿Qué es qué aquí?

Seleccionar– la palabra clave se incluye en la sintaxis únicamente por motivos de belleza.
es el nombre del eje. Todos los nombres propios en MDX están escritos entre corchetes.
es el nombre de la jerarquía. En nuestro caso, esta es la jerarquía País-Ciudad.
– este es el nombre del miembro del eje en el primer nivel de la jerarquía (es decir, país) Todos – este es un metamiembro que une a todos los miembros del eje. Existe tal metatérmino en cada eje. Por ejemplo, en el eje de años está “Todos los años”, etc.
Niños es una función miembro. Cada miembro tiene varias funciones disponibles. Como padre. Nivel, Jerarquía, devolviendo respectivamente el antepasado, el nivel en la jerarquía y la jerarquía misma a la que pertenece el miembro en este caso. Hijos: devuelve un conjunto de miembros hijos de este miembro. Aquellos. en nuestro caso – países.
en filas– Indica cómo organizar estos datos en la tabla resultante. En este caso, en el encabezado de las líneas. Valores posibles aquí: en columnas, en páginas, en párrafos, etc. También es posible indicarlo simplemente por índice, empezando desde 0.
de– esta es una indicación del cubo a partir del cual se realiza la selección.

¿Qué pasa si no necesitamos todos los países, sino sólo un par de países específicos? Para hacer esto, podemos especificar explícitamente en la solicitud los países que necesitamos, en lugar de seleccionar todo usando la función Niños.

Seleccione (...,...) en las filas de
Las llaves en este caso son la declaración del conjunto ( Colocar). Un conjunto es una lista, una enumeración de miembros. desde un eje.

Ahora escribamos una consulta para nuestro segundo ejemplo: salida en el contexto de un repartidor:

Seleccione...Niños en filas.Miembros en columnas de
Agregado aquí:
– eje;
.Miembros– una función de eje que devuelve todos los términos que contiene. Jerarquía y nivel tienen la misma función. Porque Sólo existe una jerarquía en este eje, entonces se puede omitir su indicación, porque el nivel y la jerarquía también son los mismos, entonces puede mostrar todos los miembros en una lista.

Creo que ya es obvio cómo podemos continuar con nuestro tercer ejemplo con detalle por año. Pero será mejor no profundizar por año, sino filtrar, es decir, por año. construir una rebanada Para ello escribiremos la siguiente consulta:

Seleccione ..Niños en filas .Miembros en columnas de donde (.)
¿Dónde está la filtración aquí?

dónde- palabra clave
es un miembro de la jerarquía . El nombre completo, incluidos todos los términos, sería: .. , pero porque Dado que el nombre de este miembro es único dentro del eje, se pueden omitir todas las aclaraciones intermedias del nombre.

¿Por qué el término de fecha está entre paréntesis? Los paréntesis son una tupla ( tupla). Una tupla es una o más coordenadas a lo largo varios ejes Por ejemplo, para filtrar a lo largo de dos ejes a la vez, entre paréntesis enumeramos dos términos de diferente medidas separadas por comas. Es decir, la tupla define una “porción” del cubo (o “filtrado”, si dicha terminología es más precisa).

La tupla se utiliza para algo más que filtrar. Las tuplas también pueden estar en los encabezados de filas/columnas/páginas, etc.

Esto es necesario, por ejemplo, para mostrar el resultado de una consulta tridimensional en una tabla bidimensional.

Seleccione unión cruzada(...Niños, ..Niños) en filas. Miembros en columnas desde donde (.)
unión cruzada es una función. Devuelve un conjunto de tuplas (sí, ¡un conjunto puede contener tuplas!) resultantes del producto cartesiano de dos conjuntos. Aquellos. el conjunto resultante contendrá todas las combinaciones posibles de países y años. Por tanto, los encabezados de fila contendrán un par de valores: País-Año.

La pregunta es, ¿dónde está la indicación de qué características numéricas se deben mostrar? En este caso, se utiliza la medida predeterminada definida para este cubo, es decir Precio del pedido. Si queremos derivar otra medida, entonces recordamos que las medidas son miembros de una dimensión. Medidas. Y actuamos exactamente igual que con los demás ejes. Aquellos. filtrar una consulta por una de las medidas mostrará exactamente esta medida en las celdas.

Pregunta: ¿Cuál es la diferencia entre filtrar en dónde y filtrar especificando miembros del eje en las filas? Respuesta: prácticamente nada. Simplemente en donde se indica un corte para aquellos ejes que no participan en la formación de encabezados. Aquellos. mismo eje no puedo estar presente al mismo tiempo en filas, y en dónde.

Miembros calculados

Para consultas más complejas, puede declarar miembros calculados. Miembros de los ejes de atributos y de medidas. Aquellos. Puedes declarar, por ejemplo, una nueva medida que mostrará la contribución de cada país al importe total de los pedidos:

Con miembro. como '.CurrentMember / ..', FORMAT_STRING='0.00%' seleccione ...Niños en filas desde donde.
El cálculo se produce en el contexto de una celda en la que se conocen todos sus atributos de coordenadas. Las coordenadas correspondientes (miembros) se pueden obtener mediante la función CurrentMember para cada uno de los ejes del cubo. Aquí debemos entender que la expresión .Miembro actual/..' no divide un término por otro, sino que divide datos agregados relevantes¡rebanadas de cubos! Aquellos. la porción del territorio actual se dividirá en una porción para todos los territorios, es decir, el valor total de todos los pedidos. FORMAT_STRING: establece el formato para mostrar valores, es decir. %.

Otro ejemplo de miembro calculado, pero en el eje de años:

Con miembro. como '. - .’
Evidentemente, el informe no contendrá una unidad, sino la diferencia de las secciones correspondientes, es decir. la diferencia en la cantidad de pedidos en estos dos años.

Mostrar en ROLAP

Los sistemas OLAP se basan de una forma u otra en algún tipo de sistema de organización y almacenamiento de datos. Cuando hablamos de RDBMS, hablamos de ROLAP (dejaremos MOLAP y HOLAP para un estudio independiente). ROLAP – OLAP en una base de datos relacional, es decir descrito en forma de tablas bidimensionales ordinarias. Los sistemas ROLAP convierten consultas MDX a SQL. El principal problema informático de las bases de datos es la rápida agregación. Para agregar más rápido, los datos de la base de datos suelen estar altamente desnormalizados, es decir. no se almacenan de manera muy eficiente en términos de espacio en disco ocupado y monitoreo de la integridad de la base de datos. Además, contienen tablas auxiliares que almacenan datos parcialmente agregados. Por lo tanto, para OLAP, generalmente se crea un esquema de base de datos separado, que solo replica parcialmente la estructura de las bases de datos transaccionales originales en términos de directorios.

Navegación

Muchos sistemas OLAP ofrecen herramientas de navegación interactivas para una consulta ya generada (y, en consecuencia, datos seleccionados). En este caso se utiliza la denominada “perforación” o “perforación”. Una traducción más adecuada al ruso sería la palabra "profundización". Pero esto es una cuestión de gustos, en algunos entornos la palabra “perforar” se ha quedado.

Perforar– este es un informe que detalla reduciendo el grado de agregación de datos, combinado con el filtrado a lo largo de algún otro eje (o varios ejes). Existen varios tipos de perforación:

  • profundizar– filtrar a lo largo de uno de los ejes de origen del informe con la visualización de información detallada sobre los descendientes dentro de la jerarquía del miembro de filtrado seleccionado. Por ejemplo, si hay un informe sobre la distribución de pedidos desglosado por países y años, al hacer clic en el año 2007 se mostrará un informe desglosado por los mismos países y meses de 2007.
  • lado de perforación– filtrar bajo uno o más ejes seleccionados y eliminar la agregación a lo largo de uno o más ejes. Por ejemplo, si hay un informe de distribución de pedidos desglosado por Países y Años, al hacer clic en el año 2007 se mostrará otro informe desglosado, por ejemplo, por Países y Proveedores con filtrado por 2007.
  • canal de perforación– eliminar la agregación a lo largo de todos los ejes y filtrar simultáneamente a lo largo de ellos – le permite ver los datos de origen de la tabla de hechos de la que se obtuvo el valor en el informe. Aquellos. Al hacer clic en el valor de una celda, se muestra un informe con todos los pedidos que dieron este monto. Una especie de perforación instantánea en las mismas “profundidades” del cubo.
Eso es todo. Ahora, si decide dedicarse a Business Intelligence y OLAP, es hora de empezar a leer literatura seria.

Etiquetas:

  • OLAP
  • Mondrian
  • Inteligencia de Negocio
  • MDX
Agregar etiquetas

Programas OLAP de escritorio y componentes OLAP

Clasificación de programas OLAP.

Primero, repitamos la conocida definición de OLAP. OLAP (procesamiento analítico en línea), el proceso de análisis operativo, es una clase de software que brinda al usuario la oportunidad de recibir respuestas instantáneas y en tiempo real a consultas analíticas arbitrarias.

Sucede que no se considera herramienta OLAP ningún programa que realice rápidamente consultas y cálculos arbitrarios y proporcione al usuario datos en una forma comprensible para él. La clase OLAP incluye sólo aquellos programas que proporcionan al usuario una tabla administrada multidimensional como interfaz externa. Esta tabla permite al usuario intercambiar columnas y filas, cerrar y abrir columnas descriptivas, establecer condiciones de filtrado y al mismo tiempo calcula automáticamente grupos de datos intermedios y totales finales para columnas numéricas. Una parte integral del análisis OLAP es la visualización gráfica de datos.

Los programas que implementan esta técnica se dividen en las siguientes categorías:

  1. Servidor OLAP o DBMS multidimensional MOLAP. Es un motor informático y una base de datos multidimensional a la que acceden los programas cliente con comandos para recuperar datos y realizar cálculos. MOLAP almacena conjuntos de datos, hechos y dimensiones, con agregados precalculados.
  2. Componente MOLAP. Se trata de una herramienta de programador con la que se desarrollan programas cliente que reciben cubos calculados desde un servidor OLAP a través de alguna interfaz, por ejemplo OLE DB para OLAP de Microsoft Corporation.
  3. Componente ROLAP. Esta también es una herramienta de programador. A diferencia del componente visual OLAP, contiene su propio motor OLAP para transformar datos relacionales o una matriz multidimensional en cubos multidimensionales. En otras palabras, este programa, a petición del usuario, calcula agregados en RAM y los muestra en la propia pantalla.
  4. Servidor ROLAP. Una clase de software relativamente nueva. A diferencia de un servidor OLAP, no contiene una base de datos multidimensional, pero convierte datos DBMS relacionales en cubos multidimensionales a petición de muchas aplicaciones cliente.
  5. Programa OLAP. Esta es una solución completa que contiene un componente OLAP, herramientas para describir consultas arbitrarias (consulta Ad-hoc) y una interfaz de acceso a la base de datos. A su vez, dichos programas se pueden dividir en dos grupos: programas MOLAP y ROLAP.

Componentes OLAP

Cualquier solución final contiene un componente OLAP, que es la interfaz de usuario. Estos componentes son similares entre sí. Su parte visual consta de controles y elementos de visualización de datos. Normalmente, se trata de una tabla cuyos campos contienen datos y las columnas y filas son controles.

La gran mayoría de los proveedores de OLAP, de los cuales hay alrededor de 140 en todo el mundo, no venden sus componentes. Sólo conocemos tres componentes que puedes comprar para tu propio desarrollo. Estos son Decision Cube de Inprise como parte de los compiladores Delphi y C++ Builder, Pivot Table de Microsoft como parte de MS Office y Dynamic Cube de Data Dynamic, que se especializa en el desarrollo de componentes OLAP.

Cubo de decisión Inprise se suministra como componente VCL. Según nuestra clasificación, pertenece a los componentes ROLAP, es decir, contiene un motor OLAP y está destinado únicamente a trabajar con DBMS relacionales o tablas locales. Tiene capacidades muy modestas. Por ejemplo, es imposible abrir un elemento de dimensión, establecer un filtro para varias dimensiones o mostrar varios datos al mismo tiempo. El rendimiento del componente es bajo. El límite es de unos 4000 registros con 5 dimensiones. El componente muestra solo un hecho a la vez en la tabla. Una característica desagradable es la presencia de varios errores en el código fuente, por lo que sólo los programadores altamente calificados, después de corregir estos errores, pueden utilizar el componente en su desarrollo. Las ventajas incluyen la facilidad de uso y el dominio de los componentes. Cuando se utilizan correctamente y con pequeñas cantidades de datos, los productos basados ​​en este componente pueden resultar útiles y tener un rendimiento aceptable.

Tabla dinámica Microsoft Corporation se suministra en dos versiones: como parte de MS Excel y como componente web. El componente web (ActiveX) se puede utilizar tanto en el navegador como en una aplicación nativa de Windows. La tabla dinámica es un componente tanto MOLAP como ROLAP. Utilizando el protocolo OLE DB para OLAP, puede interactuar con el DBMS multidimensional MS OLAP Server u otros 70 DBMS multidimensionales cuyos desarrolladores admitieron este protocolo. Utilizando el protocolo OLE DB, la tabla dinámica puede recibir datos de un DBMS relacional y realizar cálculos de cubos en la memoria. Y por supuesto los datos se pueden obtener de un área determinada de la tabla de MS Excel. En este caso, su rendimiento no es diferente al de Decision Cube. El componente muestra solo un hecho a la vez en la tabla. Sin embargo, el conjunto de herramientas del componente es más amplio que el de Decision Cube: se implementan filtrado arbitrario y expansión de un elemento de medición. El objetivo principal del componente es crear interfaces para un servidor OLAP en el marco del concepto Business Intelligent de Microsoft Corporation.

Cubo dinámico Data Dynamic es un componente ROLAP clásico. Viene como VCL para programadores de Delphi y C++Builder, y como COM para entusiastas de los modelos de componentes. Los componentes del motor OLAP son bastante potentes. Procesa fácilmente decenas y, un poco más lento, incluso cientos de miles de registros. Hay filtrado múltiple, apertura de un elemento de una dimensión y algunas funciones adicionales. El componente le permite mostrar varios hechos en una tabla al mismo tiempo. Sin embargo, este componente es bastante caro y su coste es especialmente impresionante para los desarrolladores profesionales.

Los tres componentes descritos anteriormente, en comparación con los productos prefabricados de muchos proveedores, tienen una funcionalidad muy escasa, limitada a las funciones OLAP clásicas: profundizar, mover, rotar, etc. Al mismo tiempo, en algunos productos prefabricados a menudo hay una barra de herramientas llena de botones para funciones convenientes adicionales. Por ejemplo, e incluso botones que realizan tareas analíticas populares, como el clásico análisis de marketing 20/80.

Programas OLAP de escritorio

Hasta hace poco, los proveedores de servidores OLAP vendían sus productos a precios tales que sus clientes tenían que ser tan ricos como jeques árabes. Así, la adquisición de Oracle Express costaría 100.000 dólares por los puestos de trabajo de dos analistas y dos administradores. Pero, incluso después de que Microsoft entró en el mercado, lo que hizo bajar los precios al proporcionar un servidor OLAP de forma gratuita como parte de MS SQL Server, la creación de almacenes de datos o data marts sigue siendo una tarea seria que requiere la participación de un desarrollador profesional, administración durante operación y otros costos.

Por lo tanto, apareció en el mercado una clase especial de productos: DOLAP (Desktop OLAP), OLAP de escritorio. Este es un programa que se instala en cada computadora personal. No requiere servidor y tiene “administración cero”. El programa permite al usuario sintonizar sus bases de datos existentes; Como regla general, se crea un diccionario que oculta la estructura física de los datos detrás de su descripción temática, comprensible para un especialista. Después de esto, el programa realiza consultas arbitrarias y muestra los resultados en una tabla OLAP. En esta tabla, a su vez, el usuario puede manipular los datos y recibir cientos de informes diferentes en pantalla o en papel.

Según el método de obtención de datos, dichos programas se pueden dividir en locales y corporativos:

  • Los locales manipulan datos de tablas de MS Excel o pequeñas bases de datos como Access, DBF, Paradox.
  • Los DOLAP empresariales tienen acceso a servidores SQL o bases de datos multidimensionales y, por lo tanto, también se dividen en dos categorías.

DOLAP corporativo, diseñado para analizar datos de servidores SQL, le permite analizar datos ya disponibles en la corporación, almacenados en sistemas OLTP. Sin embargo, su segundo propósito puede ser la creación rápida y económica de Warehouses o data marts, cuando los programadores de la organización sólo necesitan crear conjuntos de tablas de estrellas y procedimientos de carga de datos. La parte del trabajo que consume más tiempo: desarrollar interfaces con numerosas opciones para consultas de usuarios, interfaces e informes, se vuelve innecesaria. Esto se puede implementar en tan solo unas horas en el programa DOLAP. Dominar un programa de este tipo por parte del usuario final requiere 30 minutos.

Los programas DOLAP son proporcionados por los propios desarrolladores de bases de datos, multidimensionales y relacionales. Se trata de SAS Corporate Reporter, que es casi un producto estándar en términos de comodidad y belleza, Oracle Discovery, el paquete de software MS Pivot Services y Pivot Table, y otros. Estos productos, a excepción de los programas de Microsoft, no son baratos. Por tanto, SAS Corporate Reporter costará 2.000 dólares por usuario.

Un gran grupo de programas se suministra como parte de la campaña "OLAP a las masas", llevada a cabo por Microsoft Corporation. Estos programas están diseñados para funcionar con los servicios MS OLAP. Como regla general, son versiones mejoradas de Pivot Table y están diseñadas para usarse en MS Office o Web. Estos son Matryx, Knosys, etc.

Debido a su sencillez, bajo coste y enorme eficacia, esta clase de productos ha ganado una enorme popularidad en Occidente. Las grandes corporaciones construyen sus almacenamientos de acceso distribuido basándose en dichos programas.

Productos OLAP de Intersoft Lab

Estándar de contorno

El principal producto de la empresa Intersoft Lab es el gran sistema de gestión e información "Kontur Corporation", construido sobre los principios de un almacén de datos. Sin embargo, en el proceso de comunicación con los clientes, la empresa se dio cuenta de que no todos están preparados para las inversiones y medidas organizativas asociadas con la construcción de un almacén de datos serio. El primer paso en este camino para muchos bancos y empresas podría ser el análisis OLAP de los datos de los sistemas OLTP existentes y de sus propias bases de datos analíticas.

Para estos fines, se creó el producto DOLAP "Contour Standard".

Contour Standard 1.0 La primera versión del sistema pertenecía a la clase de DOLAP local. Las herramientas del programa permitieron organizar el acceso directo a archivos dbf y paradox. Además, el paquete de distribución incluía un migador de datos, que ayudó a recopilar datos de los sistemas existentes de la organización en tablas locales.

Contour Standard 2.0 Posteriormente, para ampliar la potencia del producto, el sistema Contour Standard 2.0 proporcionó acceso a servidores SQL arbitrarios a nivel de tabla y, lo que no se encuentra en análogos extranjeros, procedimientos almacenados. Esto convirtió el programa en un sistema corporativo de información y análisis. Se implementó una interfaz separada para el sistema de Kontur Corporation.

Al mismo tiempo, para facilitar la administración, el programa se dividió en dos ediciones. La edición "Desarrollador" permite a un especialista en TI describir fuentes y muestras de datos. En este caso, se crean diccionarios semánticos que ocultan la capa física al usuario final y traducen los datos al idioma del área temática. La edición Run-Time le permite analizar datos y producir informes. La principal forma de manipular datos es el componente OLAP, que le permite crear los informes necesarios sin programación ni habilidades especiales. Al mismo tiempo, se crearon nuevos tipos de herramientas analíticas convenientes, que formalmente no son tablas OLAP, pero sí herramientas OLAP en espíritu, es decir. implementar análisis en línea, pero en una forma diferente de presentación de datos.

Las dos primeras versiones utilizaron el componente ROLAP Decision Cube de Inprise. Sin embargo, su baja potencia y simplicidad funcional dificultaron el uso del programa en bancos y organizaciones para analizar grandes volúmenes de datos. Por lo que se tomó la decisión de sustituirlo. El análisis de marketing y la auditoría de las capacidades intelectuales y productivas de la propia empresa llevaron a la decisión de crear nuestro propio componente OLAP. Como resultado del desarrollo del componente llamado Contour Cube, apareció la siguiente versión del programa: "Contour Standard" 3.0, que permite procesar muestras de datos de hasta un millón de registros y tiene una funcionalidad analítica avanzada.

Cubo de contorno

El componente Contour Cube de Intersoft Lab es un componente ROLAP representativo. Consta de un motor OLAP, una interfaz para acceder a datos ubicados en servidores SQL y otras fuentes, y una parte visual.

El componente se implementará en varias versiones para diferentes aplicaciones.

versión VCL para uso en los entornos Delphi y C++ Builder de Inprise. En este caso, los datos se suministran a través del Conjunto de Datos estándar de estos compiladores. El acceso a las fuentes se proporciona mediante BDE y ADO, compatibles con las últimas versiones de estos entornos.

versión COM diseñado para desarrolladores que utilizan Visual Basic, Visual C++, etc. Proporciona acceso a datos mediante ADO. En versiones futuras, se admitirá el acceso a servidores OLAP a través de OLE DB para la interfaz OLAP.

versión ActiveX es un componente web para crear interfaces analíticas de Internet al estilo propuesto por Microsoft.

Versión HTML Consta de un servidor y páginas DHTML. Está destinado a crear interfaces analíticas de Internet en el entorno UNIX, así como al mercado en rápido desarrollo de dispositivos móviles de Internet.

Las principales ventajas del componente son:

  • Procesamiento de grandes volúmenes de datos.
  • Requisitos mínimos de memoria.
  • Funcionalidad ampliada.

Los componentes de alto rendimiento se logran mediante un modelo matemático único creado por especialistas de la empresa.

La creación de múltiples versiones de un componente es posible gracias a su arquitectura multicapa. La capa del motor OLAP es una parte relativamente independiente del componente. Se implementa como una biblioteca multiplataforma que tiene API para varias capas de visualización. Esta API tiene funciones para cargar datos, calcular porciones de un cubo multidimensional y realizar funciones analíticas y de servicio. La capa del motor OLAP en sí consta de un motor de cálculo y un almacén de datos multidimensional abstracto, que se puede guardar como un archivo para transferirlo a otros usuarios o usarlo a largo plazo.

Procesamiento de grandes volúmenes de datos.

Las pruebas en una computadora personal con un procesador Intel Celeron 400 y 64 MB de RAM dieron los siguientes resultados. Cargar 60.000 registros con 6 dimensiones lleva 5 segundos; otras manipulaciones, como por ejemplo girar completamente la mesa, profundizar y profundizar, se realizan en décimas de segundo.

Estos son los mejores resultados en orden de magnitud (¡sic!) de los componentes OLAP que conocemos. Por lo tanto, Decision Cube y Pivot Table (sin utilizar servicios OLAP) requieren decenas de segundos para cargar y rotar una tabla con 4000 registros y 6 dimensiones. La velocidad de Dynamic Cube es menor que la de Contour Cube, en un promedio del 30% en volúmenes de datos promedio y varias veces menor en volúmenes máximos.

Así, en muchos casos, debido a su potencia, el componente hace innecesario el uso de un servidor OLAP. Esto simplifica enormemente los procesos de implementación y administración de un sistema corporativo.

Requisitos mínimos de memoria

Cuando se trabaja con datos, el componente ocupa la menor cantidad de RAM en comparación con sus compañeros. Entonces, al cargar 40.000 registros, Contour Cube consume 7 MB y Decision Cube, 15 MB.

Funcionalidad avanzada

El componente combina las funciones de los mejores componentes OLAP:

  • Filtro múltiple por dimensiones.
  • Generación de períodos de tiempo tanto estándar ("Año", "Trimestre", "Mes", "Década", "Semana", etc.) como definidos por el usuario ("Año fiscal", "Temporada", "Hora del día" ) por tipo de dimensión "fecha".
  • Ordenar por dimensiones.
  • Ordenar por hechos.
  • Abrir un valor de dimensión (rama).
  • Gestión automática de gráficos.
  • Configuración manual de gráficos.
  • Muchos hechos.
  • Muchos algoritmos estándar de agregación de hechos.
  • Algoritmo de agregación "Saldo de cuenta".

Una propiedad única del componente es el algoritmo de agregación "Saldo de cuenta". Debido a que los componentes OLAP están destinados principalmente al análisis de ventas y otros tipos de análisis sumativos, agregan saldos de cuentas a lo largo del tiempo. Esto es un error: el saldo de la cuenta del trimestre no es la suma de los saldos de la cuenta del día, sino el saldo del último día del trimestre. La implementación de este algoritmo permite utilizar el componente para analizar balances y lo hace útil no sólo para economistas y especialistas en marketing, sino también para contables.

Para que se puedan crear productos terminados potentes cuando se utiliza el componente en un período de tiempo mínimo, este tiene un conjunto incorporado de funciones analíticas que a menudo se encuentran en el trabajo real. Cada una de estas funciones se implementa como un botón en la barra de herramientas de la parte visual del componente. Aquí hay una lista de estas funciones:

  • Elimine columnas nulas, elimine filas nulas, elimine columnas y filas nulas. Se utiliza para comprimir tablas dispersas.
  • Giro completo. En este caso, se intercambian las columnas y filas de la tabla. Se utiliza para mejorar la percepción de las tablas por parte del analista y seleccionar la mejor forma impresa.
  • Filtrar por hecho. Le permite especificar límites de hechos absolutos o el número de elementos más grandes o más pequeños. Es una de las herramientas del análisis factorial.
  • Análisis de conglomerados. Dividir los datos en un número determinado de grupos según los valores límite del hecho. Por ejemplo, dividir a los clientes en grandes, medianos y pequeños según la cantidad de ingresos que reciben de ellos.
  • 80/20. Un tipo popular de análisis de conglomerados en marketing en Occidente. Un ejemplo de su aplicación: mostrar el 20% de los clientes que aportan el 80% de las ganancias.
  • Alcance. Generar una nueva dimensión “lugar en la lista” basada en el valor de un hecho determinado y ordenar por él. Útil para analizar campañas electorales, comparar bancos, empresas y sucursales según un indicador determinado.
  • Muestra varios totales estadísticos simultáneamente, como promedio, desviación estándar, etc. Esta característica atraerá a profesionales avanzados, especialmente en el campo del análisis financiero y bursátil.
  • Carga en formatos MS Excel, MS Word, html. Le permiten continuar el análisis utilizando las herramientas habituales de MS Excel, crear un informe de formato libre y publicar el informe en Internet.

Debido a la imposibilidad de proteger los derechos de autor en Rusia para productos de software, cuya protección física es fundamentalmente imposible, el componente como producto comercial se suministrará únicamente al mercado occidental. Sin embargo, los consumidores rusos pueden aprovechar sus ventajas para desarrollar su propio negocio con los productos "Kontur Standard" y "Kontur Corporation".




Arriba