Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   OLAP, cubos y análisis de datos (https://www.clubdelphi.com/foros/showthread.php?t=84405)

Neftali [Germán.Estévez] 15-10-2013 11:45:07

OLAP, cubos y análisis de datos
 
Hola a todos.
El tema, tal y como describo en el título va sobre análisis de datos utilizando Cubos, OLAP, PivotGrid's,...

Estoy revisando el tema, para un proyecto próximo y tengo varios frentes abiertos. Agradecería información de alguien que haya trabajado en este tema y me pueda orientar. Os lanzo varias preguntas sobre el tema, a ver si alguien tiene respuesta a alguna de ellas.

PROBLEMA: Tengo una Base de Datos en IB/FB (puedo trabajar con ambas) de la que tengo que extraer datos para su posterior análisis mediante Cubos OLAP. Se trata de análisis y estadísticas, así que el volumen es grande (por ejemplo, para que os hagáis una idea el análisis se ha de hacer sobre 1.000.000 de registros (1 millón)).

Con este volumen de registros no se puede trabajar directamente, así que la solución parece que pasa por generar cubos OLAP.

A partir de aquí vienen "los problemas"... :(

Por ahora, la única forma que he conseguido de generar un Cubo OLAP (fichero .cub) para IB/FP es mediante la herramienta IBExpert (es de pago).

PREG1) ¿Alguien conoce alguna otra herramienta o forma de generar estos ficheros a partir de una de estas Base de Datos?

Una vez generado el fichero, intento "leerlo" desde Delphi, utilizando componentes de las DevExpress (PivotGrid) o Fastcube 2 (ambos para trabajar con OLAP) y ninguno de los 2 es capaz de leermelos. En ambos cada componente lee sus propios ficheros .cub (que vienen con las demos), pero no los que se generan con otra herramienta o incluso los del otro grupo de componentes (FastCube2 no lee los de la demos de DevExpress y viceversa).

PREG2) El formato de ficheros .cub debería ser estándard (al menos eso creía yo). ¿Alguien conoce algo al respecto?

PREG3) ¿Alguien conoce algún componente más para Delphi que permita trabajar con este tipo de ficheros o estas estructuras?

La condición es que la "fuente" de Datos está en IB/FB. He leído información para SQL Server/Oracle, pero no es el caso.

Un saludo y gracias.

jhonny 15-10-2013 14:59:38

Neftali, la herramienta que utiliza IBExpert para generar y leer sus cubos es http://pivotcube.com/, la he probado y aunque le falta su versión web (Así tenga ActiveX) funciona muy bien... de hecho por ahí hice para un cliente, un servicio que genera cubos con dicha herramienta automáticamente cada X tiempo de acuerdo a lo que el usuario configure.

De todas formas también hay otra alternativas muy elegantes a tener en cuenta, que nunca he probado con dedicación pero que vale la pena mirar... como colocar un server Mondrian y un cliente como Saiku

Neftali [Germán.Estévez] 15-10-2013 16:28:10

Gracias Jhonny.
Justo ahora estaba descargando estos componentes (PivotCube) y los de RadarSoft (RadarCube) para probarlos.

Anagnostes 07-01-2014 18:24:35

Al final cual fue la eleccion?

Yo estoy mirando y no tengo claro que componentes de PivotGrid VCL son los mejores. Creo que ninguno de ellos soporta Mondrian como motor de OLAP, por lo que entiendo que si se quieren generar sobre servidor o cubos siempre tendre que pasar por Microsoft Analysis server?

Sino uso cubos y hago conexión directa sobre base de datos relacional refactorizada para conseguir mas velocidad no lo encuentro una buena solución.

En mi caso parto de Firebird y me gustaria que el cliente fuera VCL, por lo que no veo como transformar Firebird a OLAP/cubos y visualizar la información en VCL.

Alguien tiene algo mas de experiencia?

mamcx 07-01-2014 20:51:20

Y que tipos de analisis son esos? Realmente necesitas OLAP?

Estas viendo es la parte de componente visual -que es la parte simple, incluso excel funciona- cuando el truco es ver el *engine*. 1 millon no es gran cosa en terminos generales (con los engine de ahora) asi que todo depende realmente de que es lo que vas a analizar, que tan ad-hoc son las cosas y que modelos serian los mas eficientes.

Un engine basado en postgres (y eso que postgres solo puede funcionar) es http://gopivotal.com/products/pivota...nplum-database

Neftali [Germán.Estévez] 08-01-2014 10:21:11

Cita:

Empezado por Anagnostes (Mensaje 471402)
Al final cual fue la eleccion?

Pues al final la elección ha sido los compoentes HierCube de Radar-Soft (www.radar-soft.com).

Cita:

Empezado por Anagnostes (Mensaje 471402)
Yo estoy mirando y no tengo claro que componentes de PivotGrid VCL son los mejores. Creo que ninguno de ellos soporta Mondrian como motor de OLAP, por lo que entiendo que si se quieren generar sobre servidor o cubos siempre tendre que pasar por Microsoft Analysis server?

Inicialmente fueron la primera elección, junto con los de FastCube, pero una vez realizadas pruebas, los únicos que no me han dado problemas de memoria son los de Hiercube. Los demás, cuando el número de registros empzaba a ser grande "fallaban" por este tema.
No so los mejores "visualmente" pero hacen la función a la perfección.
Además, una vez adquirida la licencia (las pruebas las había hecho con la trial) que viene con fuentes, se puede modificar para ir ajustando el aspecto a lo que se necesite.

Cita:

Empezado por Anagnostes (Mensaje 471402)
Sino uso cubos y hago conexión directa sobre base de datos relacional refactorizada para conseguir mas velocidad no lo encuentro una buena solución.

A partir de determinado volumen de datos, la conexión a la Base de Datos es y tienes que llegar irremediablemente a cubos (OLAP).

Cita:

Empezado por Anagnostes (Mensaje 471402)
En mi caso parto de Firebird y me gustaria que el cliente fuera VCL, por lo que no veo como transformar Firebird a OLAP/cubos y visualizar la información en VCL.

Pues la que hemos comentado yuy los componentes de los que hemos hablado. Puedes probar las demos.
* Pivotcube VCL (de pivotcube.com)
* Hiercube y Radarcube (de Radar-soft)
* Fastcube 2 (de Fast-Reports)
* ...

Un saludo.


La franja horaria es GMT +2. Ahora son las 05:16:17.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi