Ejemplos de Uso de Redundacy Manager

Para los siguientes ejemplos consideramos que la instalaciĆ³n de O3BI estĆ” en C:\IdeaSoft\o3bi y utilizaremos el Cubo Demo.cube que se ofrece con la instalaciĆ³n.

Ejemplo 1

RedunMgr -cmnd=add -level="1,1,1,1,1" C:\IdeaSoft\o3bi\files\Demo.cube -debug

planifica el nivel de redundancia [1,1,1,1,1] (o sea, nivel [Quarter, Line, Customer, Seller, City]) en el cubo Demo.cube

Ejemplo 2

RedunMgr -debug -cmnd=show C:\IdeaSoft\o3bi\files\Demo.cube

Despliegua en pantalla toda la informacion de redundancia del cubo Demo.cube

El resultado del comando es:
C:\IdeaSoft\o3bi\bat>RedunMgr.bat -debug -cmnd=show C:\IdeaSoft\o3bi\files\Demo.cube
Loading Application properties file from: file:C:/ideasoft/o3bi/O3.properties
Loading Custom Application properties file from: file:C:/ideasoft/o3bi/O3_custom.properties
Loading User properties file from: file:C:/Users/ernesto/O3_user.properties
Loading Alternative User properties file from: file:C:/ideasoft/o3bi/O3_user.properties
Logfile enabled. Append mode
Log enabled
Debug level set
Advertencia: No se encuentra archivo de propiedades en biz.ideasoft.argos.licens
e.model.basic.msg.license
Loading Configuration from : C:\Users\ernesto/O3.properties
Version: 7.1.300
Expiration date: 3 de agosto de 2016
Licensed to: Ideasoft

NotificaciĀ¾n: O3 VersiĀ¾n Completa: 7.1.3-00
Debug: Initializing Spring context from: com/ideasoft/o3/client/spring-o3client.xml,com/ideasoft/o3/client/spring-o3client-remote.xml
NotificaciĀ¾n: Working on: file:/C:/IdeaSoft/o3bi/files/Demo.cube
Debug: ContentHandler 'ideasoft.olap.mdclient.O3ViewContentHandler' instantiation Ok
Debug: ContentHandler 'ideasoft.olap.mdm.CubeDefContentHandler' instantiation Ok

Debug: ContentHandler 'ideasoft.olap.profile.CubeProfileContentHandler' instantiation Ok
Fase: Abriendo el Cubo.
Fase: Abriendo el Cubo.
NotificaciĀ¾n: Multithread query processing enabled.
NotificaciĀ¾n: Concurrent query processing enabled, concurrent queries: 5.
NotificaciĀ¾n: Non-blocking IO enabled.
NotificaciĀ¾n: Instantiating the pool container to hold up to 250000 blocks.
Trace: Recabando informaciĀ¾n del cubo.
Fase: Validando Usuario
Trace: Cargando datos.
Trace: Cargando dimensiones.
Debug: initialOffset is 16384 poolLength=151552 initialCubePos=167936
Trace: Cargando MetaData.
Trace: Config: No storage provided
Trace: Config: No storage provided
Advertencia: Double no encontrado en ideasoft.expr.msg.expr
Advertencia: Double no encontrado en ideasoft.expr.msg.expr
Fase: Cargando MetaData.
Debug: Dimension Date. Loading time: 5 ms. Dimension Size: 180
Debug: Levels for dimension Date: [ Year, Quarter, Month ]
Debug: Dimension Products. Loading time: 5 ms. Dimension Size: 38
Debug: Levels for dimension Products: [ Family, Line, Product ]
Debug: Dimension Customers. Loading time: 1 ms. Dimension Size: 22
Debug: Levels for dimension Customers: [ Customer Type, Customer ]
Debug: Dimension Salesmen. Loading time: 1 ms. Dimension Size: 14
Debug: Levels for dimension Salesmen: [ Team, Seller ]
Debug: Dimension Location. Loading time: 1 ms. Dimension Size: 27
Debug: Levels for dimension Location: [ Country, City ]
Debug: Measures dimension created with 8 measures: [ [<measures>][<measures>][Units Sold], [<measures>][<measures>][Gross Amount], 
[<measures>][<measures>][Discount], [<measures>][<measures>][Net Amount], [<measures>][<measures>][Commissions], 
[<measures>][<measures>][Cost], [<measures>][<measures>][Revenue], [<measures>][<measures>][% Profit] ]
Trace: Config: No storage provided
Trace: Config: No storage provided
Trace: Verificando el certificado.
Debug: Metadata Size on disk: 23655, cube file size: 192731
Debug: XML runtime descriptor not found: java.io.FileNotFoundException: C:\IdeaSoft\o3bi\files\Demo.cubedir\descriptor.xml (El sistema no puede encontrar la ruta especificada)
Trace: FIN
NotificaciĀ¾n: Measures mapping:
NotificaciĀ¾n:     Measure #1 - Units Sold
NotificaciĀ¾n:     Measure #2 - Gross Amount
NotificaciĀ¾n:     Measure #3 - Discount
NotificaciĀ¾n:     Measure #4 - Net Amount
NotificaciĀ¾n:     Measure #5 - Commissions
NotificaciĀ¾n:     Measure #6 - Cost
NotificaciĀ¾n:
NotificaciĀ¾n: Phases:
NotificaciĀ¾n: Phase: 0
NotificaciĀ¾n:     Base Level: 0 - [ 0, 0, 0, 0, 0 ] - 1270 - 18
NotificaciĀ¾n:     Redundancy Level: 1 - [ 1, 1, 1, 1, 1 ]
        Generation: 5  dependOn: [ 0 ]
        Measures: [ T, T, T, T, T, T ]  Base Measures: [ F, F, F, F, F, F ]
        Updated : [ null ]  Empty: [ F, F, F, F, F, F ]
NotificaciĀ¾n:         Status: planned
NotificaciĀ¾n:
NotificaciĀ¾n: FULL OK


  • El log muestra que existe un nivel de redundancia de nombre "1" definido como [1,1,1,1,1] (fue el que se agregĆ³ en el Ejemplo 1). El nivel "1" depende de otro nivel de redundancia llamado "0".
  • El nivel de redundancia "0" existe en el cubo aunque Ć©ste no tenga redundancia, es el llamado nivel base, sobre el cual se resuelven todas las consultas del cubo cuando no tiene redundancia.
  • El nivel de redundancia "1" estĆ” planificado.

Ejemplo 3

RedunMgr -debug -cmnd=updateAll C:\IdeaSoft\o3bi\files\Demo.cube

Construye todos los niveles de redundancia que estƩn planificados.

......
Fase: Construyendo Fases de Redundancia.
Fase: Fase 0, se procesaron 0 tuplas ...
Debug: Building phase #0, base: [ 0, 0, 0, 0, 0 ], measures: [ T, T, T, T, T, T]
Debug: Building phase 0, redundancy levels: 1
Fase: Fase 0 lista. Se procesaron 1.270 tuplas.
NotificaciĀ¾n: Fases de Redundancia construidas.
Debug: Closing RandomAccessPool ...
Debug: RandomAccessPool closed successfully.
NotificaciĀ¾n: FULL OK

DespuƩs de ejecutarlo el comando show muestra lo siguiente:

Resultado luego de Construir la Redundancia
......
Trace: Config: No storage provided
Trace: Config: No storage provided
Trace: Verificando el certificado.
Debug: Metadata Size on disk: 23665, cube file size: 246237
Debug: XML runtime descriptor not found: java.io.FileNotFoundException: C:\IdeaSoft\o3bi\files\Demo.cubedir\descriptor.xml (El sistema no puede encontrar
la ruta especificada)
Trace: FIN
NotificaciĀ¾n: Measures mapping:
NotificaciĀ¾n:     Measure #1 - Units Sold
NotificaciĀ¾n:     Measure #2 - Gross Amount
NotificaciĀ¾n:     Measure #3 - Discount
NotificaciĀ¾n:     Measure #4 - Net Amount
NotificaciĀ¾n:     Measure #5 - Commissions
NotificaciĀ¾n:     Measure #6 - Cost
NotificaciĀ¾n:
NotificaciĀ¾n: Phases:
NotificaciĀ¾n: Phase: 0
NotificaciĀ¾n:     Base Level: 0 - [ 0, 0, 0, 0, 0 ] - 1270 - 18
NotificaciĀ¾n:     Redundancy Level: 1 - [ 1, 1, 1, 1, 1 ]
        Generation: 5  dependOn: [ 0 ]
        Measures: [ T, T, T, T, T, T ]  Base Measures: [ F, F, F, F, F, F ]
        Updated : [ T, T, T, T, T, T ]  Empty: [ F, F, F, F, F, F ]
NotificaciĀ¾n:         Status: running
NotificaciĀ¾n:             Index ID: 1  TuplesCount: 518 BucketsCount: 8
NotificaciĀ¾n:
NotificaciĀ¾n: FULL OK

(info) Muestra dos cosa:Ā 

  1. el nivel estĆ” calculado (estado running) y
  2. tiene 518 tuplas.

Esto Ćŗltimo significa que en el peor caso para una consulta que se resuelva utilizando ese nivel de redundancia se recorreren 518 tuplas, esto es un indicador de la performance que tienen las consultas para resolverse con ese nivel de redundancia.

(warning) Otras consideraciones:

  1. No se pueden remover niveles de redudancia (a pesar de que aparece la opciĆ³n en la ayuda del comando), sĆ³lo se pueden suspender, y la informacion sigue ahĆ­ (el tamaƱo del cubo se conserva).
  2. El comando showCover muestra informaciĆ³n sobre el nivel de redundancia "0" (nivel base) ademĆ”s de la informaciĆ³n de los otros niveles de redundancia. Esto sirve para saber cuantas tuplas tiene el cubo.