Criar Cubos do Modo Híbrido Otimizados

Os utilitários de Otimização do Cubo Linha de Base, Cache de Cálculo, Ordem de Resolução e Distribuição de Dados ajudam você a ajustar seus cubos para um melhor desempenho.

Crie cubos modo híbrido otimizados usando estes quatro utilitários de Otimização do Cubo:
Utilitário Dados Retornados
Linha de Base Métricas de desempenho do cubo
Ordem de Resolução Ordem de resolução dos membros do cubo
Cache de Cálculo Dados para ajudar a escolher o melhor valor do cache da calculadora para o cubo
Distribuição de Dados Dados para ajudar a escolher quais dimensões devem ser tornadas esparsas e quais devem ser tornadas densas

Otimizar Métricas de Linha de Base em um Cubo de Modo Híbrido

As métricas rastreadas pelo utilitário Linha de Base mostram como está o desempenho do sistema. Use essas métricas para determinar o desempenho da linha de base e depois para mensurar os benefícios das otimizações subsequentes que você fizer.

Antes de usar esse utilitário, primeiro você cria uma pasta de trabalho do aplicativo, incluindo o outline, definições de configuração, scripts de cálculo e consultas que deseja incluir no cubo.

Quando você executa o utilitário, ele cria o cubo, carrega os arquivos de dados selecionados, executa os scripts de cálculo selecionados e executa as consultas contidas na pasta de trabalho do aplicativo. É importante ter uma amostra representativa de consultas de seus usuários.

O utilitário de linha de base cria um painel de controle dos processos operacionais e do aplicativo, o que pode ajudar a projetar e otimizar o cubo. À medida que você implementa alterações e recria o cubo, a linha de base ajuda a comparar iterações das modificações do cubo. Na guia Essbase.Stats.Baseline da pasta de trabalho do aplicativo, o utilitário de linha de base anexa novas tabelas com os dados mais recentes de cada iteração.

Preparar a execução do Utilitário de Linha de Base Otimizar Cubo em um Cubo de Modo Híbrido

Conclua essas tarefas antes de executar o utilitário de linha de base:

  1. Projete e crie sua pasta de trabalho do aplicativo.

    Para criar uma pasta de trabalho do aplicativo, você pode fazer download de uma amostra de pasta de trabalho do aplicativo e depois modificá-la de acordo com suas necessidades. Consulte Explorar Modelos de Galeria.

  2. Remova as planilhas de consulta na pasta de trabalho do aplicativo dos metadados do Smart View:
    1. Vá para a faixa de opções do Smart View.
    2. Escolha Informações da Planilha e clique em Excluir.

    Se as planilhas da consulta tiverem metadados de outro servidor, o cube designer exibirá uma advertência e pausará o processamento até que você responda.

  3. Modifique a planilha Cube.Settings com as seguintes definições de Configuração do Aplicativo:
    Definição Valor
    ASODYNAMICAGGINBSO FULL
    HYBRIDBSOINCALCSCRIPT NONE
    INDEXCACHESIZE 100M
    DATACACHESIZE 100M
    ASODEFAULTCACHESIZE 100
    MAXFORMULACACHESIZE 102400
    INPLACEDATAWRITEMARGINPERCENT 20
    CALCCACHEDEFAULT 200000
    LONGQUERYTIMETHRESHOLD -1

Executar o Utilitário de Linha de Base Otimizar Cubo em um Cubo de Modo Híbrido

O utilitário Linha de Base identifica dimensões densas e esparsas, o tamanho dos dados (tamanhos de arquivo PAG e IND), o tamanho do bloco e os tamanhos dos dados, índice e cache da calculadora. Além disso, ele fornece métricas para carga de dados, cálculo e consulta.

Para executar o utilitário Linha de Base:

  1. Na faixa de opções do Cube Designer, selecione Tarefas de Administração > Otimizar Cubo.
  2. (Opcional) Clique em Personalizar para escolher quais operações de linha de base serão executadas.
    • Criar cubo - Cria o cubo definido na pasta de trabalho do aplicativo e carrega os dados nas folhas de dados.
    • Executar scripts de cálculo - Executa os scripts de cálculo definidos em cada uma das planilhas de cálculo na pasta de trabalho do aplicativo.

      As planilhas de cálculo são executadas na ordem em que aparecem na pasta de trabalho do aplicativo. A operação Otimizar Cubo ignora a propriedade Executar Cálculo nas planilhas de cálculo.

      Apenas scripts de cálculo que podem ser executados pelos Jobs são suportados na operação Otimizar Cubo. Você não pode executar scripts de cálculo que dependem do contexto de grade atual do Smart View (por exemplo, cálculos definidos com o uso da função @GRIDTUPLES ou aqueles que usam variáveis de substituição no runtime definidas com tags <svLaunch>).

    • Executar consultas - Executa as consultas nas planilhas de Consulta.
    • Exportar tudo - Exporta todos os dados do cubo para o diretório do cubo. Depois que o tempo de exportação e o tamanho do arquivo forem registrados, o arquivo de exportação será excluído automaticamente.
  3. Clique em Criar Linha de Base.

    Se não houver uma folha de dados na pasta de trabalho do aplicativo, você será solicitado a selecionar arquivos de dados e de regras no catálogo. É uma boa prática armazenar os arquivos de dados e de regras em um diretório compartilhado no catálogo, para que os arquivos não se percam quando você recriar o cubo.

    Levará algum tempo para criar o cubo.

    O Essbase gera a planilha Essbase.Stats.Baseline e a adiciona à pasta de trabalho.

  4. Exiba a planilha Essbase.Stats.Baseline na pasta de trabalho do aplicativo.
    • A primeira tabela da folha exibe o tamanho dos arquivos e o número de células de carregamento de dados, o tamanho do bloco e os tamanhos de cache.
      Imagem da primeira tabela na folha Essbase.Stats.Baseline, mostrando métricas de banco de dados.

    • As cores na tabela de linha de base identificam o tipo de armazenamento para cada dimensão:
      • Verde - dimensão densa
      • Vermelho - dimensão esparsa com pelo menos uma fórmula dinâmica
      • Azul - dimensão esparsa com agregações e sem todos os pais e fórmulas dinâmicos
      • Dourado - outra dimensão esparsa

      Imagem da segunda tabela na folha Essbase.Stats.Baseline, mostrando dimensões densas e esparsas, total de membros e armazenados.

    • Em Carregar e Calcular, as linhas “Script:” individuais identificam qual script de cálculo leva mais tempo para ser concluído e, portanto, talvez precise de otimização.
      Imagem da terceira tabela na folha Essbase.Stats.Baseline, mostrando tempos de carregamento e cálculo, blocos, dados e tamanho do arquivo de índice criado.

    • Em Consulta, Blocos Lidos aparece o volume de dados solicitados pela consulta.

      Esse valor será reduzido por meio da alteração de uma dimensão dinâmica para uma dimensão armazenada.

    • Em Consulta, Fórmulas aparece o número de fórmulas executadas na consulta.

      Analise as ordens de resolução dos membros calculados e faça alterações para reduzir o número de execuções da fórmula e melhorar o desempenho. Como alternativa, considere armazenar um membro calculado contendo fórmulas para reduzir o número de execuções da fórmula e melhorar o desempenho.


      Imagem da quarta tabela na folha Essbase.Stats.Baseline, mostrando tempo de consulta, leitura em blocos e fórmulas executadas.

    • A última tabela da folha exibe o tempo de exportação e o tamanho do arquivo.
      Imagem da quinta tabela na folha Essbase.Stats.Baseline, mostrando tempo de exportação e tamanho do arquivo.

Otimizar a Ordem de Resolução em um Cubo do Modo Híbrido

O utilitário Ordem de Resolução oferece uma representação visual do fluxo de ordem de resolução usado no aplicativo. Isso pode ajudar a diagnosticar problemas de desempenho da consulta relativos a fórmulas.

Para executar o utilitário Otimizar Ordem de Resolução do Cubo:

  1. Na faixa de opções do Cube Designer, selecione Tarefas de Administração > Otimizar Cubo.
  2. Clique em Ordem de Resolução.
  3. Exiba a planilha Essbase.Stats.SolveOrder da pasta de trabalho do aplicativo.

Use as informações da planilha Essbase.Stats.SolveOrder para ajustar a ordem de resolução a fim de otimizar o desempenho da consulta. Consulte Otimizar o Cubo para o Modo Híbrido e Ordem de Resolução no Modo Híbrido.

Otimizar o Cache da Calculadora em um Cubo do Modo Híbrido

O utilitário Cache de Cálculo recomenda a definição ideal do cache da calculadora para o cubo.

O uso da definição correta do cache da calculadora pode representar uma melhoria importante no desempenho ao calcular dimensões esparsas inteiras em um script de cálculo. O cálculo de uma dimensão esparsa inteira é uma técnica para reduzir o número de blocos necessários a uma consulta.

O valor padrão do cache de cálculo é de 200.000 bytes. O valor máximo é de 20.000.000 de bytes.

O cache da calculadora deve ser definido com o tamanho apenas suficiente para conter as dimensões esparsas que são calculadas no script de cálculo. A definição do cache da calculadora com um valor maior do que o necessário tem um impacto negativo no desempenho.

Para otimizar o cache da calculadora usando o utilitário Cache de Cálculo:
  1. Para reduzir o volume de dados solicitado pela consulta, calcule e armazene uma ou mais dimensões usando um script de cálculo.

    A melhor opção é, em geral, a maior dimensão.

  2. Mova essa dimensão de modo que ela seja a primeira dimensão esparsa no outline.

    O algoritmo do cache da calculadora seleciona as dimensões esparsas para colocar no cache, começando pela primeira dimensão esparsa.

  3. Crie o cubo sem carregar dados.

    O cubo deve ser criado para que o utilitário Cache de Cálculo funcione.

  4. Execute o utilitário Cache de Cálculo.

    O utilitário exibe a definição correta do cache próximo a cada dimensão, até 20 MB. Acima de MB, ele mostra N/D. Em geral, as definições acima de alguns MB não são necessárias.

    1. Na faixa de opções do Cube Designer, selecione Tarefas de Administração > Otimizar Cubo.
    2. Clique em Cache de Cálculo.
    3. Exiba a planilha Essbase.Stats.CalcCache da pasta de trabalho do aplicativo. Você pode ver a definição recomendada para o cache da calculadora na planilha Essbase.Stats.CalcCache, na coluna Cache de Cálculo.
      Imagem da planilha Essbase.Stats.CalcCache em uma pasta de trabalho do aplicativo de otimização do tipo de cubo.

  5. Localize a definição Cache de Cálculo na planilha Essbase.Stats.CalcCache, junto à(s) dimensão(ões) esparsa(s) que você calculou e armazenou na etapa 1.
  6. Se você calculou uma dimensão na etapa 1, defina o padrão do cache da calculadora para esse valor. Se você calculou mais de uma dimensão na etapa 1, escolha o valor de Cache de Cálculo mais alto dentre os valores que você calculou.

    Adicione esse valor à seção Definições do Aplicativo da planilha Cube.Settings. Como alternativa, você pode definir o valor nas definições de configuração do aplicativo, na interface web do Essbase. É uma boa prática arredondar, para permitir um pouco mais de margem.

Otimizar a Distribuição de Dados em um Cubo de Modo Híbrido

O utilitário de distribuição de dados ajuda a entender melhor os dados de um aplicativo, permitindo que você tome decisões importantes sobre como otimizar seu cubo.

A compreensão dos dados ajuda a determinar o seguinte:
  • Quais dimensões devem ser tornadas densas e quais devem ser tornadas esparsas.

    As dimensões densas definem os blocos em um aplicativo de armazenamento em blocos. Numa situação ideal, um bloco deve conter dimensões com a maior parte dos dados e representar o layout de consulta predominante para esse aplicativo. Em aplicativos de geração de relatórios financeiros, isso em geral significa que as dimensões de Tempo e Conta devem ser densas.

  • Quais dimensões devem ser calculadas e armazenadas usando um script de cálculo.

    Um dos fatores que afetam o desempenho da consulta é o número de blocos solicitados pela consulta. Se o número de blocos solicitados for muito alto, o desempenho da consulta será prejudicado. Para reduzir o número de blocos solicitados, pré-calcule os membros de nível superior de uma ou mais dimensões esparsas. Primeiro, defina o atributo de armazenamento da dimensão dos membros superiores para um atributo armazenado (Armazenar ou Nunca Compartilhar) e, em seguida, execute um script de cálculo que agregue essa dimensão usando CALC DIM ou AGG.

  • Quais dimensões devem ser usadas como a dimensão da tarefa no comando FIXPARALLEL.

    Para otimizar o script de cálculo usado para agregar as dimensões esparsas armazenadas, use o comando FIXPARALLEL. É importante selecionar as dimensões de tarefa corretas. Uma dimensão de tarefa é aquela que determina como o cálculo é dividido em threads e executado em paralelo. Uma ou mais dimensões esparsas devem conter a maior parte dos dados para reduzir tarefas vazias e, numa situação ideal, esses dados devem ser distribuídos uniformemente.

Para executar o utilitário de Distribuição de Dados:
  1. Na faixa de opções do Cube Designer, selecione Tarefas de Administração > Otimizar Cubo.
  2. Selecione Distribuição de Dados.

    A execução desse processo pode demorar, especialmente em modelos maiores.

  3. Exiba a planilha Essbase.Stats.DataDist.

Imagem da guia Essbase.Stats.DataDist em uma pasta de trabalho de otimização de cubo, mostrando estatísticas de distribuição de dados.


Imagem da guia Essbase.Stats.DataDist em uma pasta de trabalho de otimização de cubo, mostrando blocos e células por bloco.