Menú
Está libre
registrarse
hogar  /  Instalación y configuración / Conceptos básicos utilizados por la tecnología olap. Tecnología OLAP

Los conceptos básicos utilizados por la tecnología olap. Tecnología OLAP

Las condiciones de alta competencia y la dinámica creciente del entorno externo dictan mayores requisitos para los sistemas de gestión empresarial. El desarrollo de la teoría y la práctica de la gestión estuvo acompañado por la aparición de nuevos métodos, tecnologías y modelos destinados a mejorar la eficiencia de las actividades. Los métodos y modelos, a su vez, contribuyeron a la aparición de sistemas analíticos. La demanda de sistemas analíticos en Rusia es alta. Lo más interesante desde el punto de vista de la aplicación de estos sistemas en el sector financiero: bancos, negocios de seguros, compañías de inversión. Los resultados del trabajo de los sistemas analíticos son necesarios ante todo para las personas, el desarrollo de la empresa depende de la decisión de la cual: gerentes, expertos, analistas. Los sistemas analíticos le permiten resolver los problemas de consolidación, informes, optimización y previsión. Hasta la fecha, no ha habido una clasificación final de los sistemas analíticos, ni hay un sistema general de definiciones en términos utilizados en esta dirección. La estructura de información de la empresa se puede representar mediante una secuencia de niveles, cada uno de los cuales se caracteriza por su propia forma de procesar y administrar la información, y tiene su propia función en el proceso de gestión. Por lo tanto, los sistemas analíticos se ubicarán jerárquicamente en diferentes niveles de esta infraestructura.

Nivel del sistema de transacciones

Nivel de almacén de datos

Nivel de presentación de datos

Nivel de sistema OLAP

Nivel de aplicación analítica

Los sistemas OLAP (procesamiento analítico en línea, procesamiento analítico actual) son una tecnología para el análisis complejo de datos multivariados. OLAP: los sistemas son aplicables cuando existe la tarea de analizar datos de múltiples factores. Son una herramienta eficaz para analizar y generar informes. Los almacenes de datos, los data marts y los sistemas OLAP mencionados anteriormente se relacionan con los sistemas de inteligencia empresarial (Business Intelligence, BI).

Muy a menudo, los sistemas analíticos de información diseñados para ser utilizados directamente por los tomadores de decisiones son extremadamente fáciles de usar, pero muy limitados en funcionalidad. Dichos sistemas estáticos se denominan en la literatura Sistemas de información ejecutiva (EIS) o Sistemas de información ejecutiva (EIS). Contienen conjuntos predeterminados de consultas y, siendo suficientes para una revisión diaria, no pueden responder todas las preguntas a los datos disponibles que puedan surgir en la toma de decisiones. El resultado del trabajo de dicho sistema, por regla general, son informes de varias páginas, después de un estudio cuidadoso del cual el analista tiene una nueva serie de preguntas. Sin embargo, cada nueva solicitud que no se previó durante el diseño de dicho sistema debe primero describirse formalmente, codificarse por el programador y solo después ejecutarse. En este caso, el tiempo de espera puede ser de horas y días, lo que no siempre es aceptable. Por lo tanto, la simplicidad externa del DSS estático, por el cual la mayoría de los clientes de sistemas analíticos de información están luchando activamente, resulta en una pérdida catastrófica de flexibilidad.



El DSS dinámico, por el contrario, se centra en el procesamiento de solicitudes de datos ad hoc de analistas. E. F. Codd consideró los requisitos más profundos para tales sistemas en un artículo que sentó las bases para el concepto OLAP. El trabajo de los analistas con estos sistemas consiste en una secuencia interactiva de generar consultas y estudiar sus resultados.

Pero los DSS dinámicos pueden operar no solo en el campo del procesamiento analítico operacional (OLAP); El soporte para la toma de decisiones de gestión basadas en datos acumulados se puede llevar a cabo en tres áreas básicas.

El alcance de los datos detallados. Este es el alcance de la mayoría de los sistemas destinados a encontrar información. En la mayoría de los casos, los DBMS relacionales hacen un excelente trabajo de las tareas que surgen aquí. El estándar generalmente aceptado para el lenguaje de manipulación de datos relacionales es SQL. Los sistemas de recuperación de información que proporcionan una interfaz de usuario final en las tareas de búsqueda de información detallada se pueden usar como complementos tanto en bases de datos individuales de sistemas transaccionales como en un almacén de datos común.

El alcance de los indicadores agregados. Una visión exhaustiva de la información recopilada en el almacén de datos, su generalización y agregación, representación hipercúbica y análisis multivariante son las tareas de los sistemas de procesamiento de datos analíticos en línea (OLAP). Aquí puede concentrarse en DBMS multidimensionales especiales o permanecer en el marco de las tecnologías relacionales. En el segundo caso, los datos previamente agregados se pueden recopilar en una base de datos en forma de estrella, o la información se puede agregar sobre la marcha en el proceso de escaneo de tablas detalladas de una base de datos relacional.

El alcance de los patrones. El procesamiento inteligente se realiza mediante métodos de minería de datos (IAD, Data Mining), cuyas tareas principales son buscar patrones funcionales y lógicos en la información acumulada, construir modelos y reglas que explican las anomalías encontradas y / o predicen el desarrollo de algunos procesos.

Procesamiento de datos analíticos en línea

El concepto de OLAP se basa en el principio de presentación multidimensional de datos. En un artículo de 1993, EF Codd examinó los defectos del modelo relacional, señalando principalmente la imposibilidad de "combinar, ver y analizar datos en términos de mediciones múltiples, es decir, la forma más comprensible para los analistas corporativos", y definió los requisitos generales para los sistemas OLAP que se extienden Funcionalidad de DBMS relacional e incluye análisis multivariante como una de sus características.

Clasificación de productos OLAP por método de presentación de datos.

Actualmente, hay una gran cantidad de productos en el mercado que proporcionan funcionalidad OLAP en un grado u otro. Alrededor de 30 de los más famosos figuran en la lista del servidor web de descripción general http://www.olapreport.com/. Al proporcionar una vista conceptual multidimensional desde la interfaz de usuario a la base de datos de origen, todos los productos OLAP se dividen en tres clases según el tipo de base de datos de origen.

Los primeros sistemas de procesamiento analítico en línea (por ejemplo, Essbase de Arbor Software, Oracle Express Server de Oracle) pertenecían a la clase MOLAP, es decir, solo podían trabajar con sus propias bases de datos multidimensionales. Se basan en tecnologías patentadas para DBMS multidimensionales y son los más caros. Estos sistemas proporcionan un ciclo de procesamiento OLAP completo. Incluyen, además del componente del servidor, su propia interfaz de cliente integrada, o utilizan programas de hoja de cálculo externos para comunicarse con el usuario. El mantenimiento de dichos sistemas requiere un personal especial de empleados involucrados en la instalación, el mantenimiento del sistema y la formación de representaciones de datos para los usuarios finales.

Los sistemas de procesamiento analítico operativo de datos relacionales (ROLAP) le permiten representar los datos almacenados en la base de datos relacional en forma multidimensional, asegurando la conversión de información en un modelo multidimensional a través de una capa de metadatos intermedios. Los sistemas ROLAP son adecuados para trabajar con repositorios grandes. Al igual que los sistemas MOLAP, requieren costos de mantenimiento considerables por parte de especialistas de TI y permiten la operación multiusuario.

Finalmente, los sistemas híbridos (OLAP híbrido, HOLAP) están diseñados para combinar las ventajas y minimizar las desventajas inherentes a las clases anteriores. Esta clase incluye Speedware Media / MR. Según los desarrolladores, combina la flexibilidad analítica y la velocidad de respuesta de MOLAP con el acceso constante a datos reales inherentes a ROLAP.

OLAP multidimensional (MOLAP)

En DBMS especializados basados \u200b\u200ben la representación multidimensional de datos, los datos se organizan no en forma de tablas relacionales, sino en forma de matrices multidimensionales ordenadas:

1) hipercubos (todas las celdas almacenadas en la base de datos deben tener la misma dimensión, es decir, estar en la base más completa de mediciones) o

2) policubos (cada variable se almacena con su propio conjunto de mediciones, y todas las dificultades de procesamiento asociadas con esto se transfieren a los mecanismos internos del sistema).

El uso de bases de datos multidimensionales en sistemas de procesamiento analítico en línea tiene las siguientes ventajas.

En el caso de utilizar DBMS multidimensional, la búsqueda y selección de datos es mucho más rápida que con la vista conceptual multidimensional de la base de datos relacional, ya que la base de datos multidimensional está desnormalizada, contiene indicadores agregados previamente y proporciona acceso optimizado a las celdas solicitadas.

Los DBMS multidimensionales pueden hacer frente fácilmente a las tareas de incluir varias funciones integradas en el modelo de información, mientras que las limitaciones objetivamente existentes del lenguaje SQL hacen que realizar estas tareas basadas en DBMS relacionales sea bastante difícil y, a veces, imposible.

Por otro lado, hay limitaciones significativas.

Los DBMS multidimensionales no permiten trabajar con grandes bases de datos. Además, debido a la desnormalización y la agregación preliminar, el volumen de datos en una base de datos multidimensional, como regla, corresponde (según Codd) a 2.5-100 veces menor que el volumen de los datos detallados originales.

Los DBMS multidimensionales en comparación con los relacionales usan la memoria externa de manera muy ineficiente. En la gran mayoría de los casos, el hipercubo de información es muy escaso y, dado que los datos se almacenan de forma ordenada, los valores inciertos solo se pueden eliminar eligiendo el orden de clasificación óptimo que le permita organizar los datos en los grupos continuos más grandes. Pero incluso en este caso, el problema solo se resuelve parcialmente. Además, el orden de clasificación óptimo desde el punto de vista del almacenamiento de datos dispersos probablemente no coincidirá con el orden que se usa con mayor frecuencia en las consultas. Por lo tanto, en sistemas reales, es necesario encontrar un compromiso entre la velocidad y la redundancia del espacio en disco ocupado por la base de datos.

Por lo tanto, el uso de DBMS multidimensional se justifica solo en las siguientes condiciones.

El volumen de datos iniciales para el análisis no es demasiado grande (no más de unos pocos gigabytes), es decir, el nivel de agregación de datos es bastante alto.

El conjunto de mediciones informativas es estable (ya que cualquier cambio en su estructura casi siempre requiere una reestructuración completa del hipercubo).

El tiempo de respuesta del sistema a las solicitudes ad hoc es el parámetro más crítico.

Se requiere el uso generalizado de funciones integradas complejas para realizar cálculos multidimensionales en celdas de hipercubos, incluida la capacidad de escribir funciones personalizadas.

OLAP relacional (ROLAP)

El uso directo de bases de datos relacionales en sistemas de procesamiento analítico en línea tiene las siguientes ventajas.

En la mayoría de los casos, los almacenes de datos corporativos se implementan utilizando DBMS relacionales, y las herramientas ROLAP permiten el análisis directamente sobre ellos. Al mismo tiempo, el tamaño de almacenamiento no es tan crítico como en el caso de MOLAP.

En el caso de una dimensión variable del problema, cuando los cambios en la estructura de las mediciones deben realizarse con la suficiente frecuencia, los sistemas ROLAP con una representación dinámica de las dimensiones son la solución óptima, ya que tales modificaciones no requieren la reorganización física de la base de datos.

Los DBMS relacionales proporcionan un nivel significativamente más alto de protección de datos y una buena capacidad para diferenciar los derechos de acceso.

El principal inconveniente de ROLAP en comparación con los DBMS multidimensionales es su bajo rendimiento. Para garantizar un rendimiento comparable a MOLAP, los sistemas relacionales requieren un estudio cuidadoso del esquema de la base de datos y el ajuste de los índices, es decir, un gran esfuerzo por parte de los administradores de la base de datos. Solo cuando se utilizan esquemas en forma de estrella, el rendimiento de los sistemas relacionales bien ajustados puede aproximarse al rendimiento de los sistemas basados \u200b\u200ben bases de datos multidimensionales.

El concepto de tecnología OLAP fue formulado por Edgar Codd en 1993.

Esta tecnología se basa en la construcción de conjuntos de datos multidimensionales: los llamados cubos OLAP (no necesariamente tridimensionales, como se podría inferir de la definición). El propósito de usar las tecnologías OLAP es el análisis de datos y la presentación de este análisis en una forma conveniente para que el personal de gestión perciba y tome decisiones basadas en ellos.

Los principales requisitos para las aplicaciones de análisis multivariante:

  • - proporcionar al usuario los resultados del análisis en un tiempo aceptable (no más de 5 s);
  • - acceso multiusuario a los datos;
  • - representación multidimensional de datos;
  • - la capacidad de acceder a cualquier información independientemente de su ubicación de almacenamiento y volumen.

Las herramientas de los sistemas OLAP brindan la capacidad de ordenar y seleccionar datos de acuerdo con las condiciones especificadas. Se pueden especificar varias condiciones cualitativas y cuantitativas.

El modelo de datos principal utilizado en numerosas herramientas de creación y mantenimiento de bases de datos, DBMS, es el modelo relacional. Los datos que contiene se presentan en forma de un conjunto de tablas de relaciones bidimensionales conectadas por campos clave. Para eliminar la duplicación, la inconsistencia, reducir los costos laborales para mantener las bases de datos, se utiliza un aparato formal para normalizar las tablas de entidades. Sin embargo, su uso está asociado con el tiempo adicional dedicado a la formación de respuestas a las consultas de la base de datos, aunque se guardan los recursos de memoria.

Un modelo de datos multidimensional representa el objeto en estudio en forma de cubo multidimensional; a menudo se usa un modelo tridimensional. En los ejes o caras del cubo, las dimensiones o atributos de atributos se reservan. Las bases de detalles están llenando las celdas del cubo. Un cubo multidimensional puede representarse mediante una combinación de cubos tridimensionales para facilitar la percepción y la presentación en la formación de informes y documentos analíticos y presentaciones multimedia basadas en los materiales del trabajo analítico en el sistema de soporte de decisiones.

Dentro del marco de las tecnologías OLAP, basado en el hecho de que la representación multidimensional de datos puede organizarse utilizando DBMS relacionales y herramientas especializadas multidimensionales, se distinguen tres tipos de sistemas OLAP multidimensionales:

  • - OLAP-MOLAP multidimensional (multidimensional);
  • - Relacional (Relación) OLAP-ROLAP;
  • - OLAP-HOLAP mixto o híbrido (Hibrid).

En los DBMS multidimensionales, los datos se organizan no en forma de tablas relacionales, sino en forma de matrices multidimensionales ordenadas en forma de hipercubos, cuando todos los datos almacenados deben tener la misma dimensión, lo que significa la necesidad de formar la base de medición más completa. Los datos se pueden organizar en forma de policubos, en esta versión los valores de cada indicador se almacenan con su propio conjunto de mediciones, el procesamiento de datos se realiza mediante la propia herramienta del sistema. La estructura de almacenamiento en este caso se simplifica porque no hay necesidad de un área de almacenamiento de datos en forma multidimensional u orientada a objetos. Se reducen los enormes costos de mano de obra para crear modelos y sistemas para convertir datos de un modelo relacional a un objeto.

Las ventajas de MOLAP son:

  • - más rápido que recibir respuestas ROLAP a las solicitudes - el tiempo empleado es uno o dos órdenes de magnitud menos;
  • - Debido a las restricciones de SQL, es difícil implementar muchas funciones integradas.

Las limitaciones de MOLAP incluyen:

  • - tamaños de base de datos relativamente pequeños;
  • - debido a la desnormalización y la agregación preliminar, las matrices multidimensionales usan 2.5-100 veces más memoria que los datos originales (el consumo de memoria aumenta exponencialmente con un aumento en el número de mediciones);
  • - no hay estándares para la interfaz y las herramientas de manipulación de datos;
  • - Existen restricciones al cargar datos.

Los costos laborales para la creación de datos multidimensionales aumentan bruscamente, porque En esta situación, los medios especializados de objetivación del modelo relacional de datos contenidos en el almacenamiento de información están prácticamente ausentes. El tiempo de respuesta a las solicitudes a menudo no puede cumplir con los requisitos de los sistemas OLAP.

Las ventajas de los sistemas ROLAP son:

  • - la posibilidad de un análisis operativo directamente contenido en el almacén de datos, porque la mayoría de las bases de datos fuente son de tipo relacional;
  • - con una dimensión variable del problema, RO-LAP gana, porque no se requiere la reorganización física de la base de datos;
  • - Los sistemas ROLAP pueden usar estaciones y servidores cliente menos potentes, y los servidores soportan la carga principal de procesar consultas SQL complejas;
  • - el nivel de protección de la información y la delimitación de los derechos de acceso en DBMS relacionales es incomparablemente más alto que en los multidimensionales.

La desventaja de los sistemas ROLAP es una menor productividad, la necesidad de un estudio cuidadoso de los esquemas de la base de datos, un ajuste especial de los índices, el análisis de las estadísticas de consultas y la toma en cuenta de las conclusiones del análisis al finalizar los esquemas de la base de datos, lo que conduce a costos laborales adicionales significativos.

El cumplimiento de estas condiciones permite el uso de sistemas ROLAP para lograr indicadores similares a los sistemas MOLAP con respecto al tiempo de acceso, y también superar el ahorro de memoria.

Los sistemas OLAP híbridos son una combinación de herramientas que implementan un modelo de datos relacional y multidimensional. Esto le permite reducir drásticamente el costo de los recursos para crear y mantener dicho modelo, el tiempo de respuesta a las solicitudes.

Con este enfoque, se utilizan las ventajas de los dos primeros enfoques y se compensan sus desventajas. En los productos de software más desarrollados para este propósito, se implementa este principio.

El uso de la arquitectura híbrida en los sistemas OLAP es la forma más aceptable de resolver problemas asociados con el uso de herramientas de software en análisis multidimensional.

El modo de detección de patrones se basa en el procesamiento inteligente de datos. La tarea principal aquí es identificar patrones en los procesos estudiados, las interconexiones y las influencias mutuas de varios factores, la búsqueda de grandes desviaciones "inusuales" y el pronóstico del curso de varios procesos significativos. Esta área está relacionada con la minería de datos.

Enviar su buen trabajo en la base de conocimiento es simple. Use el formulario a continuación

Los estudiantes, los estudiantes de posgrado, los jóvenes científicos que utilizan la base de conocimientos en sus estudios y trabajos le estarán muy agradecidos.

Publicado en http://www.allbest.ru/

Trabajo del curso

disciplina: bases de datos

Tema: TecnologíaOLAP

Hecho por:

Chizhikov Alexander Alexandrovich

Introducción

1. Clasificación de productos OLAP

2. Cliente OLAP - servidor OLAP: pros y contras

3. El núcleo del sistema OLAP

3.1 Principios de construcción

Conclusión

Lista de fuentes utilizadas

Aplicaciones

ENadministración

Es difícil encontrar en el mundo de la informática una persona que, al menos en un nivel intuitivo, no entendiera qué son las bases de datos y por qué son necesarias. A diferencia de los DBMS relacionales tradicionales, el concepto de OLAP no es tan conocido, aunque casi todos hayan escuchado el misterioso término "cubos OLAP". ¿Qué es el procesamiento analítico en línea?

OLAP no es un producto de software único, ni un lenguaje de programación, ni siquiera una tecnología específica. Si intenta abarcar OLAP en todas sus manifestaciones, este es un conjunto de conceptos, principios y requisitos que subyacen a los productos de software que facilitan el acceso de los analistas a los datos. A pesar del hecho de que casi nadie estará en desacuerdo con tal definición, es dudoso que al menos acercaría a los no especialistas a comprender el tema. Por lo tanto, en su búsqueda de OLAP, es mejor ir hacia otro lado. Primero debe averiguar por qué los analistas necesitan de alguna manera específicamente facilitar el acceso a los datos.

El hecho es que los analistas son consumidores especiales de información corporativa. La tarea del analista es encontrar patrones en grandes conjuntos de datos. Por lo tanto, el analista no prestará atención a un solo hecho, necesita información sobre cientos y miles de eventos. Por cierto, uno de los puntos importantes que condujo a la aparición de OLAP: rendimiento y eficiencia. Imagine lo que sucede cuando el analista necesita obtener información y no hay herramientas OLAP en la empresa. El analista de forma independiente (lo cual es poco probable) o con la ayuda de un programador realiza la consulta SQL correspondiente y recibe los datos de interés en forma de informe o los exporta a una hoja de cálculo. Hay muchos problemas En primer lugar, el analista se ve obligado a participar en tareas que no son de trabajo (programación SQL) o esperar a que los programadores completen la tarea por él; todo esto afecta negativamente la productividad laboral, aumenta la frecuencia de carrera y así sucesivamente. En segundo lugar, un solo informe o tabla, como regla, no salva a los gigantes del pensamiento y a los padres del análisis ruso, y todo el procedimiento tendrá que repetirse una y otra vez. En tercer lugar, como ya hemos descubierto, los analistas no piden trivialidades: necesitan todo a la vez. Esto significa (aunque la técnica avanza a pasos agigantados) que el servidor del DBMS relacional corporativo, al que accede el analista, puede pensar profundamente y durante mucho tiempo, bloqueando el resto de las transacciones.

El concepto de OLAP apareció específicamente para resolver tales problemas. Los cubos OLAP son esencialmente metainformes. Al cortar metainformes (cubos, es decir) mediante mediciones, el analista recibe, de hecho, los informes bidimensionales "ordinarios" que le interesan (estos no son necesariamente informes en el sentido habitual del término; estamos hablando de estructuras de datos con las mismas funciones). Las ventajas de los cubos son obvias: debe solicitar datos de un DBMS relacional solo una vez, al construir un cubo. Como los analistas, por regla general, no trabajan con información que se complementa y cambia sobre la marcha, el cubo generado es relevante durante bastante tiempo. Debido a esto, no solo se eliminan las interrupciones en el funcionamiento del servidor DBMS relacional (no hay consultas con miles y millones de líneas de respuesta), sino que la velocidad de acceso a los datos para el propio analista aumenta considerablemente. Además, como ya se señaló, la productividad mejora al contar subtotales de jerarquías y otros valores agregados en el momento en que se construyó el cubo.

Por supuesto, debe pagar por aumentar la productividad de esta manera. A veces se dice que la estructura de datos simplemente "explota": el cubo OLAP puede ocupar decenas o incluso cientos de veces más espacio que los datos originales.

Ahora que conocemos un poco cómo funciona OLAP y qué sirve, vale la pena, sin embargo, formalizar un poco nuestro conocimiento y dar criterios OLAP sin traducción sincrónica al lenguaje humano ordinario. Estos criterios (un total de 12) fueron formulados en 1993 por E.F. Coddom es el creador del concepto de DBMS relacional y, simultáneamente, OLAP. No los consideraremos directamente, ya que más tarde se procesaron en la llamada prueba FASMI, que determina los requisitos para los productos OLAP. FASMI es una abreviatura para el nombre de cada elemento de prueba:

Rápido Esta propiedad significa que el sistema debe proporcionar una respuesta a una solicitud del usuario en un promedio de cinco segundos; sin embargo, la mayoría de las solicitudes se procesan en un segundo, y las solicitudes más complejas se deben procesar en veinte segundos. Estudios recientes han demostrado que el usuario comienza a dudar del éxito de la solicitud si demora más de treinta segundos.

Análisis (analítico). El sistema debe hacer frente a cualquier análisis lógico y estadístico específico de las aplicaciones comerciales, y garantiza que los resultados se almacenen de forma accesible para el usuario final. Las herramientas de análisis pueden incluir procedimientos para analizar series de tiempo, asignación de costos, conversión de moneda, cambios de modelado en estructuras organizacionales y algunos otros.

Compartido (compartido). El sistema debería brindar amplias oportunidades para diferenciar el acceso a los datos y el trabajo simultáneo de muchos usuarios.

Multidimensional. El sistema debe proporcionar una representación conceptual multidimensional de los datos, incluido el soporte completo para múltiples jerarquías.

Información. El poder de varios productos de software se caracteriza por la cantidad de datos de entrada procesados. Los diferentes sistemas OLAP tienen capacidades diferentes: las soluciones OLAP avanzadas pueden operar al menos mil veces más datos en comparación con los de menor potencia. Al elegir una herramienta OLAP, se deben tener en cuenta varios factores, incluida la duplicación de datos, la RAM requerida, la utilización del espacio en disco, los indicadores de rendimiento, la integración con el almacenamiento de información, etc.

1. Clasificación de productos OLAP

Entonces, la esencia de OLAP es que la información inicial para el análisis se presenta en forma de un cubo multidimensional, y es posible manipularla arbitrariamente y obtener las secciones de información necesarias: informes. Al mismo tiempo, el usuario final ve el cubo como una tabla dinámica multidimensional que resume automáticamente los datos (hechos) en varias secciones (dimensiones) y le permite administrar de forma interactiva los cálculos y la forma del informe. Estas operaciones son proporcionadas por la máquina OLAP (o la máquina informática OLAP).

Hasta la fecha, el mundo ha desarrollado muchos productos que implementan la tecnología OLAP. Para facilitar la navegación entre ellos, utilizan clasificaciones de productos OLAP: por el método de almacenamiento de datos para el análisis y por la ubicación de la máquina OLAP. Echemos un vistazo más de cerca a cada categoría de productos OLAP.

Comenzaré con una clasificación por la forma en que se almacenan los datos. Permítame recordarle que los cubos multidimensionales se construyen sobre la base de datos de origen y agregados. Tanto los datos de origen como los agregados para cubos se pueden almacenar en bases de datos relacionales y multidimensionales. Por lo tanto, en la actualidad, se utilizan tres métodos de almacenamiento de datos: MOLAP (OLAP multidimensional), ROLAP (OLAP relacional) y HOLAP (OLAP híbrido). En consecuencia, los productos OLAP por el método de almacenamiento de datos se dividen en tres categorías similares:

1. En el caso de MOLAP, los datos de origen y agregados se almacenan en una base de datos multidimensional o en un cubo local multidimensional.

2. En los productos ROLAP, los datos de origen se almacenan en bases de datos relacionales o en tablas locales planas en un servidor de archivos. Los datos agregados se pueden colocar en tablas de servicio en la misma base de datos. Los datos de una base de datos relacional a cubos multidimensionales se convierten a solicitud de una herramienta OLAP.

3. En el caso de utilizar la arquitectura HOLAP, los datos de origen permanecen en la base de datos relacional, y los agregados se colocan en multidimensional. La construcción de un cubo OLAP se realiza a pedido de una herramienta OLAP basada en datos relacionales y multidimensionales.

La siguiente clasificación se basa en la ubicación de la máquina OLAP. Sobre esta base, los productos OLAP se dividen en servidores OLAP y clientes OLAP:

En las herramientas OLAP del servidor, los cálculos y el almacenamiento de datos agregados se realizan mediante un proceso separado: el servidor. La aplicación cliente recibe solo los resultados de consultas a cubos multidimensionales que se almacenan en el servidor. Algunos servidores OLAP admiten el almacenamiento de datos solo en bases de datos relacionales, algunos solo en multidimensionales. Muchos servidores OLAP modernos admiten los tres métodos de almacenamiento: MOLAP, ROLAP y HOLAP.

El cliente OLAP está estructurado de manera diferente. La construcción de un cubo multidimensional y los cálculos OLAP se realizan en la memoria de la computadora cliente. Los clientes OLAP también se dividen en ROLAP y MOLAP. Y algunos pueden admitir ambas opciones para acceder a los datos.

Cada uno de estos enfoques tiene sus propios pros y contras. Contrariamente a la creencia popular sobre las ventajas de las herramientas de servidor sobre las herramientas de cliente, en algunos casos el uso de un cliente OLAP para los usuarios puede ser más efectivo y más rentable que usar un servidor OLAP.

2. Cliente OLAP - servidor OLAP: pros y contras

Al construir un sistema de información, la funcionalidad OLAP puede implementarse tanto con herramientas OLAP de servidor como de cliente. En la práctica, la elección es el resultado de un compromiso en el rendimiento y el costo del software.

La cantidad de datos se determina mediante una combinación de las siguientes características: número de registros, número de mediciones, número de elementos de medición, longitud de las mediciones y número de hechos. Se sabe que un servidor OLAP puede procesar grandes cantidades de datos que un cliente OLAP con la misma potencia de computadora. Esto se debe a que el servidor OLAP almacena una base de datos multidimensional en discos duros que contienen cubos calculados previamente.

Los programas del cliente en el momento de realizar operaciones OLAP le ejecutan consultas en un lenguaje similar a SQL, recibiendo no todo el cubo, sino sus fragmentos mostrados. El cliente OLAP en el momento del trabajo debe tener en RAM todo el cubo. En el caso de la arquitectura ROLAP, primero debe cargar en la memoria toda la matriz de datos utilizada para calcular el cubo. Además, con un aumento en el número de mediciones, hechos o elementos de medición, el número de agregados crece exponencialmente. Por lo tanto, la cantidad de datos procesados \u200b\u200bpor el cliente OLAP depende directamente de la cantidad de RAM en la PC del usuario.

Sin embargo, tenga en cuenta que la mayoría de los clientes OLAP proporcionan computación distribuida. Por lo tanto, el número de registros procesados, que limita el trabajo de la herramienta OLAP del cliente, no es el volumen de datos primarios de la base de datos corporativa, sino el tamaño de la selección agregada de la misma. El cliente OLAP genera una consulta al DBMS, que describe las condiciones de filtrado y el algoritmo para la agrupación preliminar de datos primarios. El servidor busca, agrupa registros y devuelve una muestra compacta para otros 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 tal cliente OLAP en los recursos de la PC se reduce significativamente.

Además, el número de dimensiones impone limitaciones a la posibilidad de la percepción humana. Se sabe que la persona promedio puede operar simultáneamente 3-4, máximo 8 mediciones. Con más mediciones en una tabla dinámica, la percepción de la información es significativamente más difícil. Este factor debe tenerse en cuenta en el cálculo preliminar de RAM, que puede ser requerido por el cliente OLAP.

La longitud de las dimensiones también afecta el tamaño del espacio de direcciones de la herramienta OLAP utilizada para calcular el cubo OLAP. Cuanto más largas sean las mediciones, más recursos se requieren para ordenar previamente la matriz multidimensional, y viceversa. Solo las mediciones cortas en los datos de origen son otro argumento a favor del cliente OLAP.

Esta característica está determinada por los dos factores considerados anteriormente: la cantidad de datos procesados \u200b\u200by la potencia de las computadoras. Con un aumento en el número de, por ejemplo, mediciones, el rendimiento de todas las herramientas OLAP disminuye debido a un aumento significativo en el número de agregados, pero la tasa de disminución es diferente. Demostremos esta dependencia de la gráfica.

Esquema 1. Dependencia del rendimiento de las herramientas OLAP de cliente y servidor en el aumento del volumen de datos

Las características de velocidad de un servidor OLAP son menos sensibles al crecimiento de datos. Esto se debe a varias tecnologías para procesar las solicitudes de los usuarios por parte del servidor OLAP y el cliente OLAP. Por ejemplo, durante una operación de exploración, un servidor OLAP accede a los datos almacenados y "extrae" los datos de esta "rama". El cliente OLAP, por otro lado, calcula el conjunto completo de agregados en el momento del arranque. Sin embargo, hasta una cierta cantidad de datos, el rendimiento de las herramientas de servidor y cliente es comparable. Para los clientes OLAP que admiten la informática distribuida, el área de comparabilidad del rendimiento puede extenderse a los volúmenes de datos que cubren las necesidades de análisis OLAP de una gran cantidad de usuarios. Esto se confirma con los resultados de las pruebas internas del servidor MS OLAP y el cliente Contour Standard OLAP. La prueba se realizó en una PC IBM Pentium Celeron 400 MHz, PC de 256 Mb para una muestra de 1 millón de registros únicos (es decir, agregados) con 7 mediciones que contienen de 10 a 70 miembros. En ambos casos, el tiempo de carga del cubo no excede 1 segundo, y varias operaciones OLAP (profundizar, profundizar, mover, filtrar, etc.) se realizan en centésimas de segundo.

Cuando el tamaño de la muestra excede la cantidad de RAM, el intercambio comienza con el disco y el rendimiento del cliente OLAP cae bruscamente. Solo a partir de este momento podemos hablar sobre la ventaja de un servidor OLAP.

Debe recordarse que el punto de "fractura" define el límite del fuerte aumento en el costo de la solución OLAP. Para las tareas de cada usuario específico, este punto se determina fácilmente mediante las pruebas de rendimiento del cliente OLAP. Dichas pruebas se pueden obtener de la empresa de desarrollo.

Además, el costo de una solución OLAP basada en servidor crece con un aumento en el número de usuarios. El hecho es que el servidor OLAP realiza cálculos para todos los usuarios en la misma computadora. En consecuencia, cuanto mayor sea el número de usuarios, más RAM y potencia de procesador. Por lo tanto, si los volúmenes de datos procesados \u200b\u200bse encuentran en el campo del rendimiento comparable de los sistemas de servidor y cliente, entonces, ceteris paribus, usar un cliente OLAP será más rentable.

El uso de un servidor OLAP en una ideología "clásica" implica cargar datos de DBMS relacionales a una base de datos multidimensional. La descarga se realiza durante un cierto período, por lo que los datos del servidor OLAP no reflejan el estado actual. Solo los servidores OLAP que admiten el modo de operación ROLAP están privados de este inconveniente.

Del mismo modo, varios clientes OLAP le permiten implementar la arquitectura ROLAP y Desktop con acceso directo a la base de datos. Esto proporciona un análisis en línea de los datos de origen.

Un servidor OLAP tiene requisitos mínimos de energía para terminales de cliente. Objetivamente, los requisitos del cliente OLAP son más altos, porque Realiza cálculos en la RAM de la PC del usuario. El estado de la flota de hardware de una organización en particular es el indicador más importante que se debe considerar al elegir una herramienta OLAP. Pero aquí hay ventajas y desventajas. Un servidor OLAP no utiliza la enorme potencia de procesamiento de las computadoras personales modernas. Si la organización ya tiene una flota de PC modernas, es ineficiente usarlas solo como terminales de pantalla y al mismo tiempo generar costos adicionales para el servidor central.

Si el poder de las computadoras de los usuarios deja mucho que desear, el cliente OLAP funcionará lentamente o puede que no funcione en absoluto. Comprar un servidor potente puede ser más barato que actualizar todas las PC.

Aquí es útil tener en cuenta las tendencias en el desarrollo de hardware. Dado que la cantidad de datos para el análisis es casi constante, un crecimiento estable en la potencia de la PC conducirá a la expansión de las capacidades de los clientes OLAP y su reemplazo por servidores OLAP en el segmento de bases de datos muy grandes.

Cuando se utiliza un servidor OLAP, solo los datos para la visualización se transmiten a la PC del cliente a través de la red, mientras que el cliente OLAP recibe la cantidad total de datos de la muestra primaria.

Por lo tanto, donde se utiliza el cliente OLAP, el tráfico de red será mayor.

Pero, al aplicar un servidor OLAP, las operaciones del usuario, por ejemplo, granularidad, dan lugar a nuevas solicitudes de una base de datos multidimensional y, por lo tanto, una nueva transferencia de datos. Las operaciones OLAP son realizadas por el cliente OLAP en RAM y, en consecuencia, no causan nuevos flujos de datos en la red.

También se debe tener en cuenta que el hardware de red moderno proporciona un alto nivel de ancho de banda.

Por lo tanto, en la abrumadora mayoría de los casos, analizar una base de datos de tamaño "mediano" utilizando un cliente OLAP no ralentizará el trabajo del usuario.

El costo de un servidor OLAP es bastante alto. El costo de una computadora dedicada y los costos fijos de administrar una base de datos multidimensional también deben agregarse aquí. Además, la implementación y mantenimiento de un servidor OLAP requiere personal altamente calificado.

El costo de un cliente OLAP es un orden de magnitud menor que el costo de un servidor OLAP. No se requiere administración ni equipo técnico adicional para el servidor. No hay requisitos altos para las calificaciones del personal al implementar un cliente OLAP. Un cliente OLAP se puede implementar mucho más rápido que un servidor OLAP.

El desarrollo de aplicaciones analíticas utilizando herramientas OLAP del cliente es un proceso rápido y no requiere capacitación especial del contratista. Un usuario que conoce la implementación física de la base de datos puede desarrollar una aplicación analítica por su cuenta, sin involucrar a un especialista en TI. Al usar un servidor OLAP, debe estudiar 2 sistemas diferentes, a veces de diferentes proveedores, para crear cubos en el servidor y desarrollar una aplicación cliente. El cliente OLAP proporciona una única interfaz visual para describir cubos y personalizar las interfaces de usuario.

Considere el proceso de crear una aplicación OLAP utilizando la herramienta cliente.

Esquema 2. Crear una aplicación OLAP utilizando la herramienta de cliente ROLAP

El principio de funcionamiento de los clientes ROLAP es una descripción preliminar de la capa semántica, que oculta la estructura física de los datos de origen. En este caso, las fuentes de datos pueden ser: tablas locales, RDBMS. La lista de fuentes de datos compatibles está determinada por un producto de software específico. Después de eso, el usuario puede manipular independientemente los objetos que entiende en términos del área temática para crear cubos e interfaces analíticas.

El principio de funcionamiento del cliente del servidor OLAP es diferente. En un servidor OLAP, al crear cubos, el usuario manipula las descripciones físicas de la base de datos.

Al mismo tiempo, se crean descripciones personalizadas en el propio cubo. El cliente del servidor OLAP se configura solo por cubo.

Expliquemos el principio del cliente ROLAP utilizando el ejemplo de creación de un informe de ventas dinámico (ver diagrama 2). Deje que los datos de origen para el análisis se almacenen en dos tablas: Ventas y Oferta.

Al crear una capa semántica, las fuentes de datos (tablas de ventas y ofertas) se describen en términos que el usuario final puede entender y se convierten en "Productos" y "Transacciones". El campo "ID" de la tabla "Productos" se renombra a "Código" y "Nombre" a "Producto", etc.

Luego, se crea el objeto comercial Ventas. Un objeto de negocio es una tabla plana basada en la cual se forma un cubo multidimensional. Al crear un objeto comercial, las tablas Productos y Transacciones se combinan mediante el campo Código de producto. Dado que no se requieren todos los campos de las tablas para mostrar en el informe, el objeto comercial utiliza solo los campos "Producto", "Fecha" y "Cantidad".

A continuación, se crea un informe OLAP sobre la base del objeto comercial. El usuario selecciona un objeto comercial y arrastra sus atributos en el área de la columna o fila de la tabla del informe. En nuestro ejemplo, sobre la base del objeto comercial "Ventas", se creó un informe sobre las ventas de bienes por meses.

Al trabajar con un informe interactivo, el usuario puede establecer las condiciones de filtrado y agrupación con los mismos movimientos simples del mouse. En este punto, el cliente ROLAP accede a los datos en el caché. El cliente del servidor OLAP genera una nueva consulta a la base de datos multidimensional. Por ejemplo, al aplicar un filtro por producto en el informe de ventas, puede obtener un informe sobre las ventas de los productos que nos interesan.

Todos los ajustes de una aplicación OLAP se pueden almacenar en un repositorio de metadatos dedicado, en la aplicación o en el repositorio del sistema de una base de datos multidimensional. La implementación depende del producto de software específico.

Entonces, ¿en qué casos puede ser más eficiente y rentable usar un cliente OLAP que usar un servidor OLAP?

La viabilidad económica de usar un servidor OLAP surge cuando los volúmenes de datos son muy grandes y excesivos para el cliente OLAP; de lo contrario, este último está más justificado. En este caso, el cliente OLAP combina alto rendimiento y bajo costo.

Las potentes PC de analistas son otro argumento a favor de los clientes OLAP. Cuando se usa un servidor OLAP, estas capacidades no se usan. Entre las ventajas de los clientes OLAP se encuentran las siguientes:

El costo de implementar y mantener un cliente OLAP es significativamente menor que el costo de un servidor OLAP.

Cuando se utiliza un cliente OLAP con una máquina integrada, los datos se transmiten a través de la red una vez. Al realizar operaciones OLAP, no se generan nuevas secuencias de datos.

La configuración de clientes ROLAP se simplifica eliminando el enlace intermedio, creando una base de datos multidimensional.

3. El núcleo del sistema OLAP

3.1 Principios de construcción

datos de la aplicación principal del cliente

Por lo que ya se ha dicho, está claro que el mecanismo OLAP es hoy uno de los métodos populares de análisis de datos. Hay dos enfoques principales para resolver este problema. El primero de ellos se llama OLAP multidimensional (MOLAP), la implementación del mecanismo utilizando una base de datos multidimensional en el lado del servidor, y el segundo OLAP relacional (ROLAP), la construcción de cubos "sobre la marcha" basados \u200b\u200ben consultas SQL a DBMS relacionales. Cada uno de estos enfoques tiene sus pros y sus contras. Su análisis comparativo está más allá del alcance de este trabajo. Aquí solo se describirá la implementación principal del módulo ROLAP de escritorio.

Este problema surgió después de aplicar el sistema ROLAP, construido sobre la base de los componentes de Decision Cube que forman parte de Borland Delphi. Desafortunadamente, el uso de este conjunto de componentes ha mostrado un bajo rendimiento en grandes cantidades de datos. La gravedad de este problema puede reducirse intentando cortar la mayor cantidad de datos posible antes de enviarlos a construir cubos. Pero esto no siempre es suficiente.

En Internet y en la prensa puede encontrar mucha información sobre los sistemas OLAP, pero prácticamente no se dice nada sobre cómo se organiza esto en el interior.

Esquema de trabajo:

El esquema general del sistema OLAP de escritorio se puede representar de la siguiente manera:

Esquema 3. El trabajo del sistema OLAP de escritorio

El algoritmo de operación es el siguiente:

1. Obtención de datos en forma de una tabla plana o el resultado de ejecutar una consulta SQL.

2. Almacenamiento en caché de datos y conversión a un cubo multidimensional.

3. Mostrar el cubo construido utilizando una tabla de referencias cruzadas o un gráfico, etc. En general, se puede conectar un número arbitrario de asignaciones a un cubo.

Considere cómo se puede organizar un sistema similar en su interior. Comenzaremos desde el lado que puede ver y sentir, es decir, desde los mapeos. Las asignaciones utilizadas en los sistemas OLAP suelen ser de dos tipos: tablas cruzadas y gráficos. Considere una tabla cruzada, que es la forma principal y más común de mostrar un cubo.

En la figura siguiente, las filas y columnas que contienen los resultados agregados se muestran en amarillo, las celdas en las que se encuentran los hechos y las celdas que contienen los datos dimensionales en gris oscuro están marcadas en gris claro.

Así, la tabla se puede dividir en los siguientes elementos, con los que trabajaremos en el futuro:

Al completar la matriz de hechos, debemos actuar de la siguiente manera:

Según los datos de medición, determine las coordenadas del elemento agregado en la matriz.

Determine las coordenadas de las columnas y filas de totales afectados por el elemento que se agrega.

Agregue un elemento a la matriz y las columnas y filas correspondientes de totales.

Cabe señalar que la matriz resultante será muy escasa, por lo que su organización en forma de una matriz bidimensional (una variante que se encuentra en la superficie) no solo es irracional, sino que probablemente sea imposible debido a la gran dimensión de esta matriz, para el almacenamiento de la cual no es No hay suficiente RAM. Por ejemplo, si nuestro cubo contiene información de ventas durante un año, y si contiene solo 3 dimensiones: Clientes (250), Productos (500) y Fecha (365), recibiremos una matriz de hechos de los siguientes tamaños: número de elementos \u003d 250 x 500 x 365 \u003d 45 625 000. Y esto a pesar del hecho de que los elementos rellenos en la matriz pueden ser solo unos pocos miles. Además, cuanto mayor sea el número de mediciones, más escasa será la matriz.

Por lo tanto, para trabajar con esta matriz, debe aplicar mecanismos especiales para trabajar con matrices dispersas. Son posibles varias opciones para organizar una matriz dispersa. Están bastante bien descritos en la literatura de programación, por ejemplo, en el primer volumen del libro clásico "The Art of Programming" de Donald Knuth.

Consideremos ahora cómo es posible determinar las coordenadas de un hecho, conociendo las medidas correspondientes. Para hacer esto, considere la estructura del encabezado con más detalle:

En este caso, puede encontrar fácilmente una manera de determinar los números de la celda correspondiente y los resultados en los que se ubica. Aquí puede sugerir varios enfoques. Uno de ellos es el uso de un árbol para buscar las celdas correspondientes. Este árbol se puede construir por muestreo. Además, es fácil determinar una fórmula de recurrencia analítica para calcular la coordenada deseada.

Los datos almacenados en la tabla deben convertirse para su uso. Entonces, para aumentar la productividad al construir un hipercubo, es deseable encontrar elementos únicos almacenados en columnas que sean dimensiones del cubo. Además, puede agregar previamente hechos para registros que tienen los mismos valores de dimensión. Como se mencionó anteriormente, los valores únicos que están disponibles en los campos de medición son importantes para nosotros. Luego para su almacenamiento podemos ofrecer la siguiente estructura:

Esquema 4. Estructura de almacenamiento de valores únicos.

Al usar esta estructura, reducimos significativamente la necesidad de memoria. Lo cual es bastante relevante, porque Para aumentar la velocidad de operación, es deseable almacenar datos en la RAM. Además, solo puede almacenar una matriz de elementos, y sus valores se pueden cargar en el disco, ya que solo los necesitaremos al mostrar una tabla de referencias cruzadas.

Las ideas descritas anteriormente fueron la base para crear la biblioteca de componentes CubeBase.

Figura 5. Estructura de la biblioteca de componentes de CubeBase

TCubeSource proporciona almacenamiento en caché y conversión de datos en un formato interno, así como la agregación de datos preliminar. El componente TСubeEngine realiza cálculos de hipercubos y operaciones con él. De hecho, es una máquina OLAP que transforma una tabla plana en un conjunto de datos multidimensional. El componente TCubeGrid muestra la tabla de referencias cruzadas y controla la visualización del hipercubo. TCubeChart le permite ver el hipercubo en forma de gráficos, y el componente TCubePivote controla el núcleo del cubo.

Entonces, revisé la arquitectura y la interacción de los componentes que se pueden usar para construir una máquina OLAP. Ahora echemos un vistazo más de cerca a la estructura interna de los componentes.

El primer paso en el trabajo del sistema es descargar datos y convertirlos a un formato interno. La pregunta lógica es: ¿por qué es esto necesario? Porque simplemente puede usar los datos de una tabla plana y verlos cuando construye un segmento de cubo. Para responder a esta pregunta, considere la estructura de la tabla desde el punto de vista de la máquina OLAP. Para un sistema OLAP, las columnas de la tabla pueden ser hechos o dimensiones. En este caso, la lógica de trabajar con estas columnas será diferente. En un hipercubo, las mediciones son en realidad ejes, y los valores de medición son coordenadas en estos ejes. En este caso, el cubo se llenará de manera muy desigual: habrá combinaciones de coordenadas a las que ningún registro corresponderá y habrá combinaciones que correspondan a varios registros en la tabla original, y la primera situación ocurrirá con más frecuencia, es decir, el cubo se verá como el universo: espacio vacío, en lugares separados que hay grupos de puntos (hechos). Por lo tanto, si realizamos la agregación previa de datos durante la carga de datos inicial, es decir, combinamos registros que tienen los mismos valores de medición, mientras calculamos valores de hechos agregados preliminares, en el futuro tendremos que trabajar con menos registros, lo que aumentará la velocidad de trabajo y reducirá los requisitos a la cantidad de RAM.

Para construir segmentos de un hipercubo, necesitamos las siguientes características: determinación de coordenadas (en realidad valores de medición) para entradas de tabla, así como determinación de registros que tienen coordenadas específicas (valores de medición). Considere cómo implementar estas características. La forma más fácil de almacenar un hipercubo es usar una base de datos con su propio formato.

Esquemáticamente, las transformaciones se pueden representar de la siguiente manera:

Figura 6. Conversión de una base de datos de formato interno a una base de datos normalizada

Es decir, en lugar de una sola tabla, tenemos una base de datos normalizada. De hecho, la normalización reduce la velocidad del sistema ”, pueden decir los expertos en bases de datos, y en esto seguramente estarán en el caso en que necesitemos obtener valores para los elementos del diccionario (en nuestro caso, valores de medición). Pero la cuestión es que no necesitamos estos valores en la etapa de construcción del segmento. Como se mencionó anteriormente, solo estamos interesados \u200b\u200ben las coordenadas de nuestro hipercubo, por lo que determinaremos las coordenadas de los valores de medición. Lo más sencillo será renumerar los valores de los elementos. Para que la numeración sea inequívoca dentro de una dimensión, primero clasificamos las listas de valores de medición (diccionarios, expresados \u200b\u200ben términos de la base de datos) en orden alfabético. Además, numeramos los hechos y los hechos se agregan previamente. Obtenemos el siguiente esquema:

Esquema 7. Renumerar una base de datos normalizada para determinar las coordenadas de los valores de medición

Ahora solo queda conectar los elementos de diferentes tablas entre ellos. En la teoría de las bases de datos relacionales, esto se hace usando tablas intermedias especiales. Es suficiente para nosotros hacer coincidir cada registro en las tablas de medición con una lista cuyos elementos serán los números de hechos que se usaron para formar estas mediciones (es decir, para determinar todos los hechos que tienen el mismo valor de coordenadas descrito por esta medición). Para los hechos, respectivamente, de cada registro, asociamos los valores de las coordenadas a lo largo de las cuales se ubica en el hipercubo. En el futuro, en todas partes, bajo las coordenadas de un registro en un hipercubo se entenderán los números de los registros correspondientes en las tablas de valores de medición. Luego, para nuestro ejemplo hipotético, obtenemos el siguiente conjunto que define la representación interna del hipercubo:

Esquema 8. Representación interna de un hipercubo

Esta será nuestra representación interna del hipercubo. Como no lo hacemos para una base de datos relacional, simplemente se usan campos de longitud variable como campos de comunicación para valores de medición (no podríamos hacer esto en el RDB, ya que el número de columnas en la tabla está predeterminado allí).

Se podría intentar usar un conjunto de tablas temporales para implementar el hipercubo, pero este método proporcionará una velocidad demasiado baja (por ejemplo, el conjunto de componentes Decision Cube), por lo que utilizaremos nuestras propias estructuras de almacenamiento de datos.

Para implementar el hipercubo, necesitamos utilizar estructuras de datos que proporcionen el máximo rendimiento y el mínimo consumo de memoria. Obviamente, las principales estructuras que tendremos para almacenar diccionarios y una tabla de hechos. Considere las tareas que el diccionario debe realizar a la máxima velocidad:

comprobar la presencia de un elemento en el diccionario;

agregar un elemento al diccionario;

buscar números de registro que tengan un valor de coordenadas específico;

búsqueda coordinada por valor de medición;

buscar un valor de medición por su coordenada.

Para implementar estos requisitos, se pueden utilizar varios tipos y estructuras de datos. Por ejemplo, puede usar matrices de estructuras. En el caso real, estas matrices requieren mecanismos de indexación adicionales, lo que aumentará la velocidad de carga de datos y la obtención de información.

Para optimizar el rendimiento del hipercubo, es necesario determinar qué tareas deben abordarse en primer lugar, y según qué criterios necesitamos para lograr una mejor calidad de trabajo. Lo principal para nosotros es aumentar la velocidad del programa, mientras que es deseable que no se requiera una gran cantidad de RAM. Es posible mejorar el rendimiento debido a la introducción de mecanismos adicionales para acceder a los datos, por ejemplo, la introducción de la indexación. Desafortunadamente, esto aumenta la sobrecarga de RAM. Por lo tanto, determinamos qué operaciones debemos realizar a la velocidad más alta. Para hacer esto, considere los componentes individuales que implementan el hipercubo. Estos componentes tienen dos tipos principales: dimensión y tabla de hechos. Para la medición, una tarea típica sería:

agregando un nuevo valor;

determinación de coordenadas por valor de medición;

determinación del valor por coordenada.

Al agregar un nuevo valor de elemento, debemos verificar si ya tenemos dicho valor, y si es así, no agregue uno nuevo, sino que use la coordenada existente, de lo contrario, debemos agregar un nuevo elemento y determinar su coordenada. Para hacer esto, necesita una forma de buscar rápidamente la presencia del elemento deseado (además, tal tarea surge cuando se determinan las coordenadas por el valor del elemento). Para esto, el uso de hashing es óptimo. En este caso, el uso de árboles hash en los que almacenaremos enlaces a elementos será la estructura óptima. En este caso, los elementos serán las líneas del diccionario de dimensiones. Entonces la estructura del valor de medición se puede representar de la siguiente manera:

PFactLink \u003d ^ TFactLink;

TFactLink \u003d registro

Hecho No: entero; // índice de hechos en la tabla

TDimensionRecord \u003d record

Valor: cadena; // valor de dimensión

Índice: entero; // valor de coordenadas

FactLink: PFactLink; // puntero al comienzo de la lista de elementos de la tabla de hechos

Y en el árbol hash almacenaremos enlaces a elementos únicos. Además, debemos resolver el problema de la transformación inversa, para determinar el valor de medición a partir de la coordenada. Para obtener el máximo rendimiento, utilice el direccionamiento directo. Por lo tanto, puede usar otra matriz, cuyo índice es la coordenada de la medición, y el valor es un enlace a la entrada correspondiente en el diccionario. Sin embargo, puede hacerlo más fácilmente (y ahorrar en memoria al mismo tiempo) si organiza correctamente la matriz de elementos para que el índice del elemento sea su coordenada.

La organización de una matriz que implementa una lista de hechos no presenta ningún problema especial debido a su estructura simple. La única observación será que es aconsejable calcular todos los métodos de agregación que puedan ser necesarios y que puedan calcularse de forma incremental (por ejemplo, la suma).

Entonces, describimos una forma de almacenar datos en forma de hipercubo. Le permite crear un conjunto de puntos en un espacio multidimensional basado en la información en el almacén de datos. Para que una persona pueda trabajar con estos datos, deben presentarse en una forma conveniente para su procesamiento. Al mismo tiempo, se utilizan una tabla resumen y gráficos como los principales tipos de representación de datos. Además, ambos métodos son en realidad proyecciones del hipercubo. Con el fin de garantizar la máxima eficiencia en la construcción de representaciones, construiremos sobre lo que son estas proyecciones. Comenzamos nuestra discusión con una tabla dinámica como la más importante para el análisis de datos.

Encuentre formas de implementar tal estructura. Hay tres partes que componen la tabla dinámica: estos son encabezados de fila, encabezados de columna y la tabla de hechos agregados real. La forma más fácil de presentar una tabla de hechos es usar una matriz bidimensional, cuya dimensión se puede determinar construyendo encabezados. Desafortunadamente, la forma más fácil será la más ineficiente, porque la tabla será muy escasa y la memoria se gastará de manera muy ineficiente, como resultado de lo cual será posible construir solo cubos muy pequeños, ya que de lo contrario puede no haber suficiente memoria. Por lo tanto, debemos seleccionar una estructura de datos para almacenar información que garantice la velocidad máxima de búsqueda / adición de un nuevo elemento y al mismo tiempo el consumo mínimo de RAM. Esta estructura serán las llamadas matrices dispersas, sobre las cuales se puede leer con más detalle de Knut. Son posibles varias formas de organizar la matriz. Para elegir la opción que más nos convenga, consideraremos inicialmente la estructura de los encabezados de la tabla.

Los encabezados tienen una estructura jerárquica clara, por lo que sería natural asumir el uso de un árbol para almacenarlos. Además, la estructura del nodo del árbol se puede representar esquemáticamente de la siguiente manera:

Apéndice C

En este caso, es lógico almacenar un enlace al elemento correspondiente de la tabla de dimensiones del cubo multidimensional como valor de dimensión. Esto reducirá los costos de memoria para almacenar el segmento y acelerará el trabajo. Los nodos padre e hijo también usan enlaces.

Para agregar un elemento al árbol, debe tener información sobre su ubicación en el hipercubo. Como tal información, es necesario utilizar su coordenada, que se almacena en el diccionario de valores de medición. Consideremos el esquema de agregar un elemento al árbol de encabezado de la tabla dinámica. En este caso, usamos los valores de las coordenadas de las mediciones como información inicial. El orden en que se enumeran estas dimensiones está determinado por el método de agregación deseado y coincide con los niveles de jerarquía del árbol de encabezado. Como resultado del trabajo, es necesario obtener una lista de columnas o filas de la tabla dinámica en la que necesita agregar un elemento.

solicitudre

Como datos iniciales para determinar esta estructura, utilizamos las coordenadas de las medidas. Además, para mayor precisión, asumiremos que determinamos la columna de interés para nosotros en la matriz (consideraremos cómo determinar la fila un poco más tarde, ya que es más conveniente usar otras estructuras de datos allí, ver el motivo de esta elección a continuación). Como coordenadas, tomamos números enteros: números de valores de medición que se pueden determinar como se describe anteriormente.

Entonces, después de realizar este procedimiento, obtenemos una serie de referencias a las columnas de la matriz dispersa. Ahora debe realizar todas las acciones necesarias con las cadenas. Para hacer esto, dentro de cada columna, debe encontrar el elemento deseado y agregar el valor correspondiente allí. Para cada dimensión de la colección, debe conocer el número de valores únicos y el conjunto real de estos valores.

Ahora consideraremos de qué forma es necesario representar los valores dentro de las columnas, es decir, cómo determinar la fila requerida. Puede usar varios enfoques para esto. Lo más sencillo sería representar cada columna como un vector, pero como será muy escasa, la memoria se consumirá de manera extremadamente ineficiente. Para evitar esto, aplicamos estructuras de datos que proporcionan una mayor eficiencia en la representación de matrices unidimensionales dispersas (vectores). La más simple de ellas será una lista regular, conectada individual o doblemente, pero no es económica en términos de acceso a elementos. Por lo tanto, utilizaremos un árbol que proporcionará un acceso más rápido a los elementos.

Por ejemplo, puede usar exactamente el mismo árbol que para las columnas, pero luego tendría que crear su propio árbol para cada columna, lo que generaría una sobrecarga significativa de memoria y tiempo de procesamiento. Lo haremos un poco más complicado: crearemos un árbol para almacenar todas las combinaciones de dimensiones utilizadas en las filas, que serán idénticas a las anteriores, pero sus elementos no serán punteros a filas (que no están presentes como tales), pero sus índices y los valores de los índices en sí mismos no son de interés para nosotros y se usan solo como llaves únicas Luego usaremos estas teclas para buscar el elemento deseado dentro de la columna. Las columnas mismas se representan más fácilmente como un árbol binario regular. La estructura obtenida gráficamente se puede representar de la siguiente manera:

Esquema 9. Imagen de la tabla dinámica en forma de árbol binario.

Para determinar los números de fila correspondientes, puede usar el mismo procedimiento que el procedimiento anterior para determinar las columnas de la tabla dinámica. En este caso, los números de fila son únicos dentro de una tabla dinámica e identifican elementos en vectores que son columnas de la tabla dinámica. La opción más simple para generar estos números es mantener un contador e incrementarlo en uno al agregar un nuevo elemento al árbol de encabezado de fila. Estos vectores de columna se almacenan más fácilmente como árboles binarios, donde el valor del número de fila se usa como clave. Además, las tablas hash también son posibles. Dado que los procedimientos para trabajar con estos árboles se analizan en detalle en otras fuentes, no nos detendremos en esto y consideraremos el esquema general para agregar un elemento a una columna.

En una forma generalizada, la secuencia de acciones para agregar un elemento a la matriz se puede describir de la siguiente manera:

1. Defina los números de línea a los que se agregan elementos

2. Defina un conjunto de columnas a las que se agregan elementos.

3. Para todas las columnas, busque los elementos con los números de fila deseados y agregue el elemento actual (agregar incluye conectar la cantidad requerida de valores de hecho y calcular valores agregados que se pueden determinar de forma incremental).

Después de ejecutar este algoritmo, obtenemos una matriz, que es una tabla dinámica que necesitábamos construir.

Ahora algunas palabras sobre el filtrado al construir un corte. Es más fácil implementarlo solo en la etapa de construcción de la matriz, ya que en esta etapa hay acceso a todos los campos requeridos y, además, se lleva a cabo la agregación de valores. Al mismo tiempo, cuando se recibe un registro del caché, se verifica su cumplimiento con las condiciones de filtrado y, si no se observa, el registro se descarta.

Dado que la estructura descrita anteriormente describe completamente la tabla dinámica, la tarea de visualizarla será trivial. En este caso, puede usar los componentes de tabla estándar, que están disponibles en casi todas las herramientas de programación para Windows.

El primer producto en ejecutar consultas OLAP fue Express (IRI). Sin embargo, el término OLAP fue acuñado por Edgar Codd, "el padre de las bases de datos relacionales". Y el trabajo de Codd fue financiado por Arbor, la compañía que lanzó su propio producto OLAP, Essbase (más tarde comprado por Hyperion, que fue adquirida por Oracle en 2007), un año antes. Otros productos OLAP conocidos incluyen Microsoft Analysis Services (anteriormente llamados OLAP Services, parte de SQL Server), Oracle OLAP Option, DB2 OLAP Server de IBM (de hecho, EssBase con complementos de IBM), SAP BW, productos Brio, BusinessObjects, Cognos, MicroStrategy y otros fabricantes.

Desde un punto de vista técnico, los productos en el mercado se dividen en "OLAP físico" y "virtual". En el primer caso, hay un programa que realiza el cálculo preliminar de los agregados, que luego se almacenan en una base de datos multidimensional especial que proporciona una extracción rápida. Ejemplos de tales productos son Microsoft Analysis Services, Oracle OLAP Option, Oracle / Hyperion EssBase, Cognos PowerPlay. En el segundo caso, los datos se almacenan en un sistema de gestión de bases de datos relacionales, y los agregados pueden no existir en absoluto o pueden crearse previa solicitud en el sistema de gestión de bases de datos o en la memoria caché del software analítico. Ejemplos de tales productos son SAP BW, BusinessObjects, Microstrategy. Los sistemas basados \u200b\u200ben "OLAP físico" proporcionan un mejor tiempo de respuesta a las solicitudes que los sistemas OLAP virtuales. Los proveedores de sistemas OLAP virtuales afirman una mayor escalabilidad de sus productos en términos de soportar grandes cantidades de datos.

En este trabajo, me gustaría examinar con más detalle el producto de BaseGroup Labs - Deductor.

Deductor es una plataforma analítica, es decir base para crear soluciones completas de aplicaciones. Las tecnologías implementadas en Deductor nos permiten pasar por todas las etapas de la construcción de un sistema analítico sobre la base de una arquitectura única: desde la creación de un almacén de datos hasta la selección automática de modelos y la visualización de los resultados.

La composición del sistema:

Deductor Studio es el núcleo analítico de la plataforma Deductor. Deductor Studio incluye un conjunto completo de mecanismos que le permite obtener información de una fuente de datos arbitraria, realizar todo el ciclo de procesamiento (limpieza, transformación de datos, modelos de construcción), mostrar los resultados de la manera más conveniente (OLAP, tablas, gráficos, árboles de decisión ...) y Exportar resultados.

Deductor Viewer es una estación de trabajo para usuarios finales. El programa le permite minimizar los requisitos de personal, porque todas las operaciones requeridas se realizan automáticamente usando escenarios de procesamiento previamente preparados; no hay necesidad de pensar en el método de obtención de datos y los mecanismos para su procesamiento. User Viewer solo necesita seleccionar el informe de interés.

Deductor Warehouse es un almacén de datos multiplataforma multiplataforma que acumula toda la información necesaria para el análisis del dominio. El uso de un único repositorio permite un acceso conveniente, alta velocidad de procesamiento, consistencia de la información, almacenamiento centralizado y soporte automático para todo el proceso de análisis de datos.

4. Cliente-Servidor

Deductor Server está diseñado para el procesamiento analítico remoto. Proporciona la capacidad de "ejecutar" automáticamente los datos a través de los scripts existentes en el servidor y volver a entrenar los modelos existentes. Usar Deductor Server le permite implementar una arquitectura completa de tres niveles en la que actúa como un servidor de aplicaciones. El acceso al servidor está asegurado mediante el Cliente Deductor.

Principios de trabajo:

1. Importar datos

El análisis de cualquier información en Deductor comienza con la importación de datos. Como resultado de la importación, los datos se reducen a una forma adecuada para su posterior análisis utilizando todos los mecanismos disponibles en el programa. La naturaleza de los datos, el formato, el DBMS, etc. no importan, porque Los mecanismos para trabajar con todos están unificados.

2. Exportación de datos

La existencia de mecanismos de exportación permite transferir los resultados a aplicaciones de terceros, por ejemplo, transferir el pronóstico de ventas al sistema para colocar una orden de compra o publicar el informe preparado en el sitio web corporativo.

3. Procesamiento de datos

Al procesar en Deductor nos referimos a cualquier acción asociada con una determinada transformación de datos, por ejemplo, filtrado, creación de un modelo, limpieza, etc. En realidad, en este bloque, se producen las acciones más importantes desde el punto de vista del análisis. La característica más importante de los mecanismos de procesamiento implementados en Deductor es que los datos obtenidos como resultado del procesamiento pueden procesarse nuevamente utilizando cualquiera de los métodos disponibles para el sistema. Por lo tanto, puede crear escenarios de procesamiento arbitrariamente complejos.

4. Visualización

Los datos se pueden visualizar en Deductor Studio (Viewer) en cualquier etapa del procesamiento. El sistema determina de forma independiente cómo puede hacer esto, por ejemplo, si una red neuronal está entrenada, además de las tablas y diagramas, puede ver el gráfico de la red neuronal. El usuario debe seleccionar la opción deseada de la lista y configurar varios parámetros.

5. Mecanismos de integración

Deductor no proporciona herramientas de entrada de datos: la plataforma se centra exclusivamente en el procesamiento analítico. Para utilizar la información almacenada en sistemas heterogéneos, se proporcionan mecanismos flexibles de importación-exportación. La interacción se puede organizar utilizando la ejecución por lotes, trabajando en modo servidor OLE y accediendo al Servidor Deductor.

6. Duplicación del conocimiento.

Deductor le permite implementar una de las funciones más importantes de cualquier sistema analítico: soporte para el proceso de replicación del conocimiento, es decir Brindar oportunidades para que los empleados que no estén versados \u200b\u200ben métodos de análisis y métodos para obtener un resultado particular reciban una respuesta basada en modelos preparados por un experto.

3exclusión

En este trabajo, consideramos un área de la tecnología de la información moderna como los sistemas de análisis de datos. Se analiza la principal herramienta de procesamiento de información analítica (OLAP). La esencia del concepto de OLAP y la importancia de los sistemas OLAP en el proceso comercial moderno se revelan en detalle. La estructura y el proceso del servidor ROLAP se describen en detalle. Como ejemplo de la implementación de datos de tecnología OLAP, se ofrece la plataforma analítica Deductor. La documentación presentada está diseñada y cumple con los requisitos.

La tecnología OLAP es una herramienta poderosa para el procesamiento de datos en tiempo real. Un servidor OLAP le permite organizar y presentar datos en el contexto de varias áreas analíticas y convierte los datos en información valiosa que ayuda a las empresas a tomar mejores decisiones.

El uso de sistemas OLAP proporciona un alto nivel de rendimiento y escalabilidad, que admite volúmenes de datos de varios gigabytes, a los que pueden acceder miles de usuarios. Usando tecnologías OLAP, se accede a la información en tiempo real, es decir El procesamiento de consultas ahora no ralentiza el proceso de análisis, lo que garantiza su eficiencia y eficacia. Las herramientas de administración visual le permiten desarrollar e implementar incluso las aplicaciones analíticas más complejas, haciendo que este proceso sea simple y rápido.

Documentos similares

    La base del concepto de OLAP (procesamiento analítico en línea): procesamiento de datos analíticos operativos, especialmente su uso en el cliente y en el servidor. Características generales de los requisitos básicos para los sistemas OLAP, así como la forma de almacenar datos en ellos.

    resumen, agregado 10/12/2010

    OLAP: características generales, propósito, metas, objetivos. Clasificación de productos OLAP. Principios de construcción de un sistema OLAP, una biblioteca de componentes CubeBase. Dependencia del rendimiento de las herramientas OLAP de cliente y servidor en el aumento del volumen de datos.

    trabajo de término, agregado el 25/12/2013

    Almacenamiento de datos eternos. La esencia y el significado de la herramienta OLAP (procesamiento analítico en línea). Bases de datos y almacenes de datos, sus características. La estructura, arquitectura del almacenamiento de datos, sus proveedores. Algunos consejos para mejorar el rendimiento de cubos OLAP.

    trabajo de prueba, agregado el 23/10/2010

    Construcción de sistemas de análisis de datos. Construcción de algoritmos de diseño de cubo OLAP y creación de consultas a la tabla dinámica construida. Tecnología OLAP para análisis de datos multidimensionales. Proporcionar a los usuarios información para tomar decisiones de gestión.

    trabajo final, agregado 19/09/2008

    Información básica sobre OLAP. Procesamiento de datos analíticos operacionales. Clasificación de productos OLAP. Requisitos para el procesamiento analítico operativo. El uso de bases de datos multidimensionales en sistemas de procesamiento analítico en línea, sus ventajas.

    trabajo final, agregado el 10.06.2011

    Desarrollo de subsistemas de análisis de sitios web utilizando las tecnologías Microsoft Access y Olap. Aspectos teóricos del desarrollo de un subsistema de análisis de datos en el sistema de información de un portal de música. Olap-technology en el subsistema de análisis del objeto de estudio.

    trabajo agregado el 06/11/2009

    Consideración de herramientas OLAP: clasificación de escaparates y almacenes de información, el concepto de un cubo de datos. Arquitectura del sistema de soporte de decisiones. Implementación de software del sistema "Abitura". Cree un informe web utilizando las tecnologías de Reporting Services.

    trabajo final, agregado el 12/05/2012

    Almacén de datos, principios de organización. Procesos para trabajar con datos. Estructura OLAP, aspectos técnicos del almacenamiento de datos multidimensionales. Servicios de integración, almacenamiento de relleno y data marts. Capacidades de sistemas que utilizan tecnologías de Microsoft.

    trabajo final, agregado el 12/05/2012

    Creación de un esquema de almacenamiento de datos de una empresa comercial. Descripciones de esquemas de relación de repositorio. Mostrar información del producto. Creación de un cubo OLAP para análisis de información adicional. El desarrollo de consultas para evaluar la efectividad del supermercado.

    trabajo de prueba, agregado 19/12/2015

    Propósito del almacenamiento de datos. Arquitectura SAP BW. Creación de informes analíticos basados \u200b\u200ben cubos OLAP en el sistema SAP BW. Las principales diferencias entre el almacén de datos y el sistema OLTP. Descripción general de las áreas funcionales de BEx. Crear una consulta en BEx Query Designer.

El objetivo del trabajo del curso es el estudio de la tecnología OLAP, el concepto de su implementación y estructura.

En el mundo actual, las redes informáticas y los sistemas informáticos le permiten analizar y procesar grandes cantidades de datos.

Una gran cantidad de información complica en gran medida la búsqueda de soluciones, pero permite obtener cálculos y análisis mucho más precisos. Para resolver este problema, hay toda una clase de sistemas de información que realizan análisis. Dichos sistemas se denominan Sistemas de soporte de decisiones (DSS).

Para realizar el análisis, DSS debe acumular información, que posee los medios de su entrada y almacenamiento. Hay tres tareas principales que se pueden resolver en DSS:

· Entrada de datos;

· almacenamiento de datos;

· análisis de los datos.

La entrada de datos en DSS se realiza automáticamente desde sensores que caracterizan el estado del entorno o proceso, o por un operador humano.

Si los datos se ingresan automáticamente desde los sensores, entonces los datos se acumulan por la señal de listo que ocurre cuando aparece la información o por sondeo cíclico. Si la entrada es realizada por una persona, entonces deben proporcionar a los usuarios medios convenientes para ingresar datos que verifiquen la entrada correcta, así como realizar los cálculos necesarios.

Al ingresar datos simultáneamente por varios operadores, es necesario resolver los problemas de modificación y acceso paralelo de los mismos datos.

DSS proporciona datos analíticos en forma de informes, tablas, gráficos para estudio y análisis, razón por la cual dichos sistemas proporcionan una función de soporte de decisiones.

En los subsistemas de entrada de datos llamados OLTP (procesamiento de transacciones en línea), se implementa el procesamiento de datos operativos. Para su implementación, se utilizan los sistemas convencionales de gestión de bases de datos (DBMS).

El subsistema de análisis se puede construir sobre la base de:

· Subsistemas de análisis de recuperación de información basados \u200b\u200ben DBMS relacionales y consultas estáticas usando el lenguaje SQL;

· Subsistemas de análisis operacional. Para la implementación de dichos subsistemas, se utiliza la tecnología de procesamiento de datos analíticos operacionales OLAP, utilizando el concepto de presentación de datos multidimensionales;

· Subsistemas de análisis intelectual. Este subsistema implementa métodos y algoritmos de DataMining.

Desde el punto de vista del usuario, los sistemas OLAP proporcionan un medio para ver de manera flexible la información en varios segmentos, obteniendo automáticamente datos agregados, realizando operaciones analíticas de convolución, detalle y comparación a lo largo del tiempo. Gracias a todo esto, los sistemas OLAP son una solución con grandes ventajas en el campo de la preparación de datos para todo tipo de informes comerciales, que implican la presentación de datos en varias secciones y en diferentes niveles de la jerarquía, como informes de ventas, diversas formas de presupuestos y otros. Los sistemas OLAP tienen grandes ventajas de esta representación en otras formas de análisis de datos, incluso para pronósticos.

1.2 Definición OLAP-sistemas

La tecnología de análisis de datos multivariados complejos se llama OLAP. OLAP es un componente clave de la organización de HD.

La funcionalidad OLAP se puede implementar de varias maneras, tanto la más simple, como el análisis de datos en aplicaciones de oficina, como los sistemas analíticos distribuidos más complejos basados \u200b\u200ben productos de servidor.

OLAP (On-LineAnalyticalProcessing) es una tecnología de procesamiento de datos analíticos en línea que utiliza herramientas y métodos para recopilar, almacenar y analizar datos multidimensionales y para apoyar los procesos de toma de decisiones.

El objetivo principal de los sistemas OLAP es apoyar actividades analíticas, solicitudes arbitrarias de analistas de usuarios. El objetivo del análisis OLAP es probar hipótesis emergentes.

En 1993, Edgar Codd, fundador del enfoque relacional para construir bases de datos, y sus socios (Edgar Codd, matemático y becario de IBM) publicaron un artículo iniciado por Arbor Software (hoy es la renombrada empresa Hyperion Solutions) titulado "Proporcionar OLAP (operativo procesamiento analítico) para usuarios analíticos ", que formuló 12 características de la tecnología OLAP, que posteriormente se complementaron con seis más. Estas disposiciones se han convertido en el contenido principal de una tecnología nueva y muy prometedora.

Características tecnológicas clave OLAP (Básico):

  • representación conceptual multidimensional de datos;
  • manipulación intuitiva de datos;
  • disponibilidad de datos y granularidad;
  • lote extracción de datos contra la interpretación;
  • Modelos de análisis OLAP
  • arquitectura cliente-servidor (OLAP está disponible desde el escritorio);
  • transparencia (acceso transparente a datos externos);
  • soporte multiusuario.

Características especiales (Especial):

  • procesamiento de datos informales;
  • guardar resultados OLAP: almacenarlos por separado de los datos de origen;
  • exclusión de valores perdidos;
  • manejo de valores perdidos.

Características de informes (Reporte):

  • informes flexibles;
  • rendimiento estándar de informes;
  • configuración automática de la capa física de extracción de datos.

Gestión de mediciones (Dimensión):

  • universalidad de las medidas;
  • número ilimitado de mediciones y niveles de agregación;
  • número ilimitado de operaciones entre dimensiones.

Históricamente, el término "OLAP" hoy implica no solo una vista multidimensional de los datos del usuario final, sino también una representación multidimensional de los datos en la base de datos de destino. Es con esto que se asocia la apariencia como términos independientes "OLAP relacional" (ROLAP) y OLAP multidimensional (MOLAP)

El servicio OLAP es una herramienta para analizar grandes cantidades de datos en tiempo real. Al interactuar con el sistema OLAP, el usuario podrá ver de manera flexible la información, recibir segmentos arbitrarios de datos y realizar operaciones analíticas de granularidad, convolución, distribución de extremo a extremo, comparaciones de tiempo simultáneamente en muchos parámetros. Todo el trabajo con el sistema OLAP se realiza en términos del área temática y le permite construir modelos estadísticamente sólidos de la situación empresarial.

Herramientas de software OLAP - es una herramienta de análisis de datos en líneacontenido en el repositorio. La característica principal es que estas herramientas no están destinadas a ser utilizadas por un experto en el campo de la tecnología de la información, no por un estadístico experto, sino por un profesional en el campo de la administración aplicada: un gerente de un departamento, departamento, administración y, finalmente, un director. Herramientas diseñadas para analista de comunicación. con un problema, no una computadora. En la Fig. La Figura 6.14 muestra un cubo OLAP elemental que permite estimar datos en tres dimensiones.

El cubo OLAP multidimensional y el sistema de algoritmos matemáticos correspondientes para el procesamiento estadístico le permite analizar datos de cualquier complejidad en cualquier intervalo de tiempo.


Higo. 6.14.

Teniendo a su disposición mecanismos flexibles para la manipulación de datos y la visualización (Fig. Fig. 6.15, Fig. 6.16), el gerente primero considera los datos de diferentes lados que pueden o no estar asociados con el problema que se está resolviendo.

Luego compara varios indicadores de negocios entre sí, tratando de identificar relaciones ocultas; puede examinar los datos más de cerca, detallarlos, por ejemplo, descomponiéndolos en componentes por tiempo, por región o por cliente, o, por el contrario, generalizando aún más la presentación de información para eliminar detalles que distraigan. Después de eso, usando el módulo evaluación estadística y simulación Se están construyendo varios escenarios, y la opción más apropiada se selecciona de ellos.


Higo. 6.15.

Por ejemplo, el gerente de una empresa puede concebir que la expansión en el crecimiento de los activos en varias sucursales de una empresa depende de la proporción de especialistas con educación técnica y económica en ellos. Para probar esta hipótesis, el gerente puede solicitar al almacén y mostrar en el gráfico la relación de interés para aquellas sucursales para las cuales el crecimiento de los activos en el trimestre actual ha disminuido en más del 10% en comparación con el año anterior, y para aquellas en las que ha aumentado en más de 25% Debería poder usar una opción simple del menú propuesto. Si los resultados obtenidos se dividen significativamente en dos grupos correspondientes, esto debería ser un incentivo para una mayor verificación de la hipótesis.

Actualmente, el rápido desarrollo ha recibido una dirección llamada modelado dinámico (Simulación dinámica), implementa completamente el principio FASMI anterior.

Utilizando modelos dinámicos, el analista construye un modelo de una situación comercial que se desarrolla con el tiempo de acuerdo con algún escenario. Al mismo tiempo, el resultado de dicho modelado puede ser varias situaciones comerciales nuevas que generan un árbol de posibles soluciones con una evaluación de la probabilidad y las perspectivas de cada una.


Higo. 6.16.

La tabla 6.3 muestra las características comparativas del análisis estático y dinámico.

Tabla 6.3.
Característica Análisis estático Análisis dinámico
Tipos de preguntas ¡OMS! ¿Qué? ¿Cuántos? ¿Cómo? ¿Cuando? ¿Dónde? ¿Porqué es eso? Que pasaria si ...? Qué pasa si…?
Tiempo de respuesta No regulado Segundos
Operaciones de datos típicos Informe regulado, gráfico, tabla, figura Una secuencia de informes interactivos, gráficos, formularios de pantalla. Cambia dinámicamente los niveles de agregación y los segmentos de datos
Nivel de requisitos analíticos Medio Alto
Tipo de pantalla Básicamente, predefinido, regulado Definido por el usuario, personalizable
Nivel de agregación de datos Detallado y total Usuario definido
"Edad" de los datos Histórico y actual Histórico, actual y proyectado
Tipos de consultas Mayormente predecible Impredecible - ocasionalmente
Cita Procesamiento analítico regulado Análisis multipass, modelado y pronóstico

Casi siempre, la tarea de construir un sistema analítico para el análisis de datos multidimensionales es la tarea de construir un sistema de información único y de funcionamiento armonioso basado en herramientas y soluciones de software heterogéneas. Y la elección de los medios para implementar IP se está convirtiendo en una tarea extremadamente difícil. Aquí se deben considerar muchos factores, incluida la interoperabilidad de varios componentes de software, facilidad de desarrollo, uso e integración, eficiencia operativa, estabilidad e incluso forma, nivel y perspectivas potenciales de relaciones entre varios fabricantes.

OLAP es aplicable donde sea que exista la tarea de analizar datos de múltiples factores. En general, si hay alguna tabla con datos en la que hay al menos una columna descriptiva y una columna con números, la herramienta OLAP será una herramienta eficaz para analizar y generar informes. Como ejemplo de la aplicación de la tecnología OLAP, consideramos el estudio de los resultados del proceso de ventas.

Preguntas clave "¿Cuánto se vende?", "¿Cuánto se vende?" expandirse a medida que el negocio se vuelve más complejo y los datos históricos se acumulan a un cierto conjunto de factores o secciones: "..en San Petersburgo, en Moscú, en los Urales, en Siberia ...", ".. en el último trimestre, en comparación con el actual", " ... del proveedor A en comparación con el proveedor B ... ", etc.

Las respuestas a tales preguntas son necesarias para tomar decisiones administrativas: sobre el cambio de surtido, precios, cierre y apertura de tiendas, sucursales, finalización y firma de contratos con distribuidores, realización o finalización de campañas publicitarias, etc.

Si intenta resaltar las cifras principales (hechos) y las secciones (argumentos de medición) que manipula el analista, tratando de expandir u optimizar el negocio de la compañía, obtendrá una tabla adecuada para el análisis de ventas como un tipo de plantilla que requiere un ajuste apropiado para cada empresa específica.

Hora. Como regla general, estos son varios períodos: año, trimestre, mes, década, semana, día. Muchas herramientas OLAP calculan automáticamente períodos altos a partir de una fecha y calculan totales para ellos.

categoria de producto. Puede haber varias categorías, difieren para cada tipo de negocio: variedad, modelo, tipo de empaque, etc. Si solo se vende un producto o el surtido es muy pequeño, entonces la categoría no es necesaria.

Producto. A veces se utiliza el nombre del producto (o servicio), su código o artículo. En aquellos casos en que el surtido es muy grande (y algunas empresas tienen decenas de miles de posiciones en su lista de precios), un análisis inicial para todo tipo de bienes puede no llevarse a cabo, sino generalizarse a algunas categorías acordadas.

Región. Dependiendo del negocio global, puede tener en cuenta Continente, Grupo de países, País, Territorio, Ciudad, Distrito, Calle, Parte de la calle. Por supuesto, si solo hay una salida, entonces esta dimensión está ausente.

Vendedor. Esta medida también depende de la estructura y escala del negocio. Aquí puede ser: sucursal, tienda, concesionario, gerente de ventas. En algunos casos, no hay medida, por ejemplo, cuando el vendedor no afecta las ventas, solo hay una tienda, y así sucesivamente.

Comprador. En algunos casos, por ejemplo, en el comercio minorista, el comprador es impersonal y no hay medición, en otros casos hay información sobre el comprador y es importante para las ventas. Esta medida puede contener el nombre de la empresa-comprador o muchas agrupaciones y características de los clientes: industria, grupo de empresas, propietario, etc. Análisis de la estructura de ventas para identificar los componentes más importantes en el contexto de interés. Para esto, es conveniente usar, por ejemplo, un diagrama tipo pastel en casos complejos cuando se estudian 3 dimensiones a la vez: "Columnas". Por ejemplo, en la tienda Computer Technology para el trimestre, las ventas de computadoras ascendieron a $ 100,000, equipos fotográficos - $ 10,000, suministros - $ 4,500. Conclusión: la rotación de la tienda depende en gran medida de la venta de computadoras (de hecho, tal vez se necesiten suministros para vender computadoras, pero este es un análisis de las dependencias internas).

Análisis dinámico ( análisis de regresión - identificación de tendencias). Identificación de tendencias, fluctuaciones estacionales. La dinámica se muestra gráficamente mediante el gráfico de tipo "Línea". Por ejemplo, las ventas de productos Intel cayeron durante el año, mientras que las ventas de Microsoft crecieron. Quizás el bienestar del comprador promedio ha mejorado, o la imagen de la tienda ha cambiado, y con ello la composición de los compradores. Se requiere ajuste de surtido. Otro ejemplo: durante 3 años en invierno, las ventas de videocámaras han disminuido.

Análisis de dependencia. (Análisis de correlación). Comparación de los volúmenes de ventas de diferentes productos a lo largo del tiempo para identificar el surtido necesario: la "cesta". Para esto, también es conveniente utilizar un gráfico del tipo "Línea". Por ejemplo, al retirar las impresoras del surtido dentro de los primeros dos meses, hubo una caída en las ventas de cartuchos de pólvora.