Criar Cubos no Modo Híbrido Otimizados

Os utilitários Otimizar Cubo Linha de Base, Cache da Calculadora, Ordem de Resolução e Distribuição de Dados ajudam-no a ajustar os seus cubos para um melhor desempenho.

Crie cubos otimizados de tipo modo híbrido utilizando estes quatro utilitários Otimizar Cubo:
Utilitário Dados Devolvidos
Linha de Base Métricas de desempenho do cubo
Ordem de Resolução Ordem de resolução dos membros do cubo
Cache da Calculadora Dados para o ajudar a escolher o melhor valor da cache da calculadora para o cubo
Distribuição de Dados Dados para o ajudar a escolher as dimensões para ficar disperso e para ficar denso.

Otimizar Métricas de Linha de Base num Cubo no Modo Híbrido

As métricas controladas pelo utilitário Linha de Base mostram o desempenho do sistema. Utilize estas métricas para determinar o desempenho da linha de base e, em seguida, para calcular os benefícios das otimizações subsequentes que efetuar.

Antes de utilizar este utilitário, primeiro deve criar um livro da aplicação, incluindo a estrutura, definições de configuração, scripts de cálculo e consultas que pretende incluir no cubo.

Quando executa o utilitário, cria o cubo, carrega os ficheiros de dados selecionados, executa os scripts de cálculo selecionados e executa as consultas contidas no livro da aplicação. É importante ter uma amostra representativa das consultas dos seus utilizadores.

O utilitário de linha de base cria um dashboard da aplicação e dos processos operacionais, que podem ajudar a desenhar e otimizar o cubo. À medida que implementa alterações e recria o cubo, a linha de base ajuda-o a comparar iterações das modificações do cubo. No separador Essbase.Stats.Baseline do livro da aplicação, o utilitário de linha de base anexa novas tabelas com os mais recentes dados para cada iteração.

Preparar para executar o Utilitário Otimizar Cubo de Linha de Base num Cubo no Modo Híbrido

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

  1. Desenhe e crie o seu livro da aplicação.

    Para criar um livro da aplicação, pode descarregar um livro da aplicação de exemplo e, em seguida, modificá-lo para se adaptar às suas necessidades. Consulte Explorar os Modelos da Galeria.

  2. Limpe as folhas de consulta no livro da aplicação dos metadados do Smart View:
    1. Aceda ao friso do Smart View.
    2. Escolha Informações da Folha e clique em Apagar.

    Se as folhas de consulta tiverem metadados de um servidor diferente, o Cube Designer apresenta um aviso e para o processamento até responder.

  3. Modifique a folha de cálculo Cube.Settings com as seguintes definições Configuração de Aplicação:
    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 Otimizar Cubo de Linha de Base num Cubo no Modo Híbrido

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

Para executar o utilitário Linha de Base:

  1. No friso do Cube Designer, selecione Tarefas de Administração > Otimizar Cubo.
  2. (Opcional) Clique em Customizar para escolher as operações de linha de base a executar.
    • Criar cubo - Crie o cubo definido no livro da aplicação e carregue os dados nas folhas de dados.
    • Executar scripts de cálculo - Execute os scripts de cálculo definidos em cada uma das folhas de cálculo no livro da aplicação.

      As folhas de cálculo são executadas pela ordem em que aparecem no livro da aplicação. Otimizar Cubo ignora a propriedade Executar Cálculo nas folhas de cálculo.

      Só são suportados os scripts de cálculo que podem ser executados a partir das Tarefas em Otimizar Cubo. Não pode executar scripts de cálculo que dependam do contexto de grelha do Smart View atual (por exemplo, cálculos definidos utilizando a função @GRIDTUPLES ou os que utilizam variáveis de substituição de runtime definidas com identificadores <svLaunch>).

    • Executar consultas - Execute consultas nas folhas Consulta.
    • Exportar tudo - Exporte todos os dados no cubo para o diretório do cubo. Depois de registados o tempo de exportação e o tamanho do ficheiro, o ficheiro de exportação é apagado automaticamente.
  3. Clique em Criar Linha de Base.

    Se não tiver uma folha de dados no livro da aplicação, ser-lhe-á pedido para selecionar dados e ficheiros de regras do catálogo. É uma boa prática armazenar os dados e os ficheiros de regras num diretório partilhado no catálogo para que os ficheiros não se percam quando recriar o cubo.

    Demorará algum tempo a criar o cubo.

    O Essbase gera a folha Essbase.Stats.Baseline e acrescenta-a ao livro.

  4. Visualize a folha Essbase.Stats.Baseline no livro da aplicação.
    • A primeira tabela da folha apresenta o tamanho dos ficheiros de carregamento de dados, o número de células de carregamento de dados, o tamanho do bloco e os tamanhos das caches.
      Imagem da primeira tabela da folha Essbase.Stats.Baseline, a mostrar as métricas da base 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 dispersa com pelo menos uma fórmula dinâmica
      • Azul - dimensão dispersa com agregações e sem todos os pais dinâmicos e fórmulas
      • Dourado - outra dimensão dispersa

      Imagem da segunda tabela da folha Essbase.Stats.Baseline, a mostrar as dimensões densas e dispersas, o total de membros e os membros armazenados.

    • Em Carregar e Calcular, as linhas individuais “Script:” identificam o script de cálculo que é mais demorado a concluir e, por isso, poderá precisar de otimização.
      Imagem da terceira tabela da folha Essbase.Stats.Baseline, a mostrar os tempos de carregamento e cálculo, os blocos, os dados e o tamanho do ficheiro de índice criado.

    • Em Consulta, Blocos Lidos, é mostrada a quantidade de dados pedidos pela consulta.

      Alterar uma dimensão dinâmica reduz essa quantidade.

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

      Reveja as ordens de resolução dos membros calculados e efetue alterações para reduzir o número de execuções de fórmula e melhorar o desempenho, ou considere armazenar um membro calculado com fórmulas para reduzir o número de execuções de fórmula e melhorar o desempenho.


      Imagem da quarta tabela da folha Essbase.Stats.Baseline, a mostrar o tempo da consulta, os blocos lidos e as fórmulas executadas.

    • A última tabela da folha mostra o tempo de exportação e o tamanho do ficheiro.
      Imagem da quinta tabela da folha Essbase.Stats.Baseline, a mostrar o tempo de exportação e o tamanho do ficheiro.

Otimizar a Ordem de Resolução num Cubo no Modo Híbrido

O utilitário Ordem de Resolução fornece-lhe uma representação visual do fluxo da ordem de resolução na aplicação. Isto pode ajudar a diagnosticar os problemas de desempenho de consulta relativamente às fórmulas.

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

  1. No friso do Cube Designer, selecione Tarefas de Administração > Otimizar Cubo.
  2. Clique em Ordem de Resolução.
  3. Visualize a folha Essbase.Stats.SolveOrder do livro da aplicação.

Utilize as informações na folha Essbase.Stats.SolveOrder para ajustar a ordem de resolução de modo a otimizar o desempenho de consulta. Consulte Otimizar o Cubo para o Modo Híbrido e Ordem de Resolução no Modo Híbrido.

Otimizar a Cache da Calculadora num Cubo no Modo Híbrido

O utilitário Cache da Calculadora recomenda a definição da cache da calculadora para o cubo.

Utilizar a definição da cache da calculadora correta pode ser uma melhoria no desempenho importante quando estiverem a ser calculadas as dimensões dispersas na totalidade num script de cálculo. Calcular uma dimensão dispersa na totalidade é uma técnica de redução do número de blocos requeridos por uma consulta.

O valor por omissão da cache da calculadora é de 200.000 bytes. O valor máximo é 20.000.000 bytes.

A cache da calculadora deverá ser definida para um tamanho suficiente apenas para conter as dimensões dispersas calculadas no script de cálculo. Definir a cache da calculadora para um tamanho superior ao necessário tem um impacto negativo no desempenho.

Para otimizar a cache da calculadora utilizando o utilitário Cache da Calculadora:
  1. Para reduzir a quantidade de dados pedidos pela consulta, calcule e armazene uma ou mais dimensões utilizando um script de cálculo.

    Em geral, a melhor escolha é a dimensão maior.

  2. Desloque essa dimensão para a primeira dimensão dispersa na estrutura.

    O algoritmo da cache da calculadora seleciona as dimensões dispersas a colocar na cache, a começar com a primeira dimensão dispersa.

  3. Crie o cubo sem carregar dados.

    O cubo deve ser criado para que o utilitário Cache da Calculadora funcione.

  4. Execute o utilitário Cache da Calculadora.

    O utilitário apresenta a definição da cache correta junto a cada dimensão de 20 MB, no máximo. Se for acima de 20 MB, é mostrado N/A. Em geral, as definições com apenas alguns MBs a mais não são necessárias.

    1. No friso do Cube Designer, selecione Tarefas de Administração > Otimizar Cubo.
    2. Clique em Cache da Calculadora.
    3. Visualize a folha Essbase.Stats.CalcCache do livro da aplicação. Pode visualizar as definições da cache da calculadora recomendadas na folha de cálculo Essbase.Stats.CalcCache, na coluna Cache da Calculadora.
      Imagem da folha Essbase.Stats.CalcCache num livro da aplicação do tipo Otimizar Cubo.

  5. Encontre a definição da Cache da Calculadora na folha Essbase.Stats.CalcCache, junto às dimensões dispersas que calculou e armazenou no passo 1.
  6. Se tiver calculado uma dimensão no passo 1, defina o valor por omissão da cache da calculadora para esse valor. Se tiver calculado mais de uma dimensão no passo 1, escolha o valor da Cache da Calculadora mais alto nos valores que calculou.

    Acrescente este valor à secção Definição da Aplicação da folha de cálculo Cube.Settings. Em alternativa, pode definir o valor das definições de configuração da aplicação na interface da Web do Essbase. É uma boa prática arredondar para cima, para dar mais alguma margem.

Otimizar Distribuição de Dados num Cubo no Modo Híbrido

O utilitário de distribuição de dados ajuda-o a compreender os dados numa aplicação, permitindo-lhe tomar importantes decisões sobre como otimizar o seu cubo.

Conhecer os dados ajuda a determinar o seguinte:
  • Dimensões para ficar denso e para ficar disperso.

    As dimensões densas definem os blocos numa aplicação de armazenamento em blocos. Idealmente, um bloco deverá conter dimensões com a maior parte dos dados e representar a disposição de consulta predominante para essa aplicação. Para as aplicações de relatórios financeiros, normalmente as dimensões Tempo e Conta deverão ser densas.

  • Dimensões para calcular e armazenar utilizando um script de cálculo.

    Um dos fatores que afeta o desempenho de consulta é o número de blocos pedidos pela consulta. Se o número de blocos pedidos for demasiado alto, o desempenho de consulta é afetado. Para reduzir o número de blocos pedidos, calcule previamente os membros de nível superior de uma ou mais dimensões dispersas. Primeiro, defina o atributo de armazenamento de dimensões dos membros superior como um atributo armazenado (Armazenar ou Nunca Partilhar) e, em seguida, execute um script de cálculo que agregue essa dimensão utilizando CALC DIM ou AGG.

  • Dimensões para utilizar como a dimensão de tarefa no comando FIXPARALLEL.

    Para otimizar o script de cálculo utilizado para agregar as dimensões dispersas armazenadas, utilize o comando FIXPARALLEL. É importante selecionar as dimensões de tarefa corretas. Uma dimensão de tarefa é a que determina como o cálculo é dividido em threads e executado em paralelo. Uma ou mais dimensões dispersas deverão conter a maior parte dos dados para reduzir as tarefas em branco e, idealmente, os dados deverão ser distribuídos uniformemente.

Para executar o utilitário Distribuição de Dados:
  1. No friso do Cube Designer, selecione Tarefas de Administração > Otimizar Cubo.
  2. Selecione Distribuição de Dados.

    Este processo pode demorar muito tempo na execução, especialmente em modelos maiores.

  3. Visualize a folha de cálculo Essbase.Stats.DataDist.

Imagem do separador Essbase.Stats.DataDist num livro de otimização do cubo, a mostrar estatísticas de distribuição de dados.


Imagem do separador Essbase.Stats.DataDist num livro de otimização do cubo, a mostrar blocos e células por bloco.