Otimizar Cubos BSO

A otimização de cubos BSO reduz o tamanho do banco de dados; ela envolve os seguintes processos:

  • Substituir blocos zero por blocos #missing
  • Remover blocos #missing para reduzir o tamanho do banco de dados
  • Usar Never como o operador de consolidação para membros com tipo de dados de Lista Inteligente, Data, Texto e Porcentagem

Remoção de Zeros em um Cubo BSO

Comece removendo blocos zero nas dimensões esparsas no cubo substituindo-os por blocos #missing.

Para substituir blocos zero por blocos #missing:

  1. Crie uma regra de negócios para substituir blocos zero por blocos #missing.

    Defina o ambiente da regra de negócios para otimizar esta regra de negócios:

    SET UPDATECALC OFF;
    SET CREATENONMISSINGBLK OFF;
    SET CREATEBLOCKONEQ OFF;
    FIXPARALLEL(NumberThreads, @RELATIVE("SparseDim",0))
    FIX on all level 0 sparse dimension @RELATIVE(SparseDim,0)
    

    Note:

    • Embora UPDATECALC, CREATENONMISSINGBLK e CREATEBLOCKONEQ estejam, por padrão, desabilitados. A Oracle recomenda desativá-los explicitamente na regra de negócios.
    • Certifique-se de substituir "SparseDim" pelos nomes das dimensões esparsas nas quais blocos zero serão substituídos.
    • Use FIXPARALLEL para ajudar a melhorar o desempenho, por exemplo, FIXPARALLEL(4, @RELATIVE("Scenario",0)).
    • Certifique-se de especificar ENDFIXPARALLEL.
  2. Use um dos designs de cálculo otimizado a seguir para alterar blocos zero para blocos #missing. Selecione o design de cálculo que é mais bem executado de acordo com seu design de dimensão, os padrões de dados e os processos.

    Design de Cálculo 1 (para Cálculo Denso ou Esparso)

    Esse cálculo resulta no valor original e altera valores zero para #missing.

    "DenseMbr" = "DenseMbr" * "DenseMbr" / "DenseMbr";
    "SparseMbr" = "SparseMbr" * "SparseMbr" / "SparseMbr";

    Design de Cálculo 2 (para Membros Densos Apenas no Modo Block)

    "DenseBlockHeader" (
        @CALCMODE(BLOCK);
           IF ("DenseMbr" == 0) 
               "DenseMbr" = #Missing;
           ENDIF

    Note:

    Substitua DenseMbr e SparseMbr, e DenseBlockHeader, pelos nomes reais.

Remoção de Blocos #Missing de Cubos

Remova blocos #missing para reduzir o tamanho do banco de dados BSO. Use um destes dois métodos para limpar blocos #missing:

Método 1

Executar uma reestruturação densa explícita

No Planning, esse processo pode ser executado manualmente ou por meio de um job. As reestruturas do banco de dados também são executadas usando o EPM Automate e APIs REST.

Para executar uma reestruturação de banco de dados usando o Calculation Manager:

  1. Abra o Calculation Manager. No Navegador, selecione Regras em Criar e Gerenciar.
  2. Clique em Ações e, em seguida, selecione Propriedades do Banco de Dados.
  3. No Modo de Exibição do Enterprise, expanda o banco de dados contendo o cubo que você deseja reestruturar.
  4. Clique com o botão direito do mouse no cubo que deseja reestruturar e selecione Reestrutura Banco de Dados.

Fontes de Informações:

  • Comando restructureCube em Como Trabalhar com o EPM Automate para Oracle Enterprise Performance Management Cloud
  • Reestruturar Cubo em API REST para o Oracle Enterprise Performance Management Cloud

Método 2

Limpe todos os dados. Recarregue todos os dados de arquivos que você carregou anteriormente no ambiente.

Como Usar Never como o Operador de Consolidação para Membros com Tipos de Dados de Lista Inteligente, Data, Texto e Porcentagem

Os membros de dimensão que têm um tipo de dados de Lista Inteligente, Data, Texto e Porcentagem devem usar Never como o operador de consolidação. Usar o operador de consolidação Addition aumenta o tamanho do cubo sem adicionar nenhum valor. Usar Ignore como o operador de consolidação só interromperá a adição dentro da dimensão do membro; o roll-up de valores não será interrompido de outras dimensões, o que potencialmente pode criar bloqueios desnecessários.