Para usar o modo híbrido de forma mais eficaz:
Evite usar o cálculo de dois passos no modo híbrido. Use preferencialmente ordem de resolução.
Converta membros armazenados diferentes do nível 0 para Cálculo Dinâmico sempre que isso for viável.
Se a conversão em membros do Calc. Dinâmico afetar a ordem de resolução para fórmulas dependentes, pode ser necessário ajustar a ordem de dimensões do outline para alinhar a ordem de resolução com a ordem de cálculo em batch anterior e as configurações de cálculo de dois passos.
A ordem de resolução padrão para os cubos do modo híbrido é semelhante à ordem de cálculo dos cubos de armazenamento em bloco, com alguns aprimoramentos. Se quiser usar uma ordem de resolução não padrão, pode definir uma ordem de resolução personalizada para dimensões e membros.
Uma fórmula calculada dinamicamente processada na ordem de resolução errada pode fazer com que muitas fórmulas sejam executadas por uma consulta, degradando o desempenho. Quando possível, uma fórmula esparsa calculada dinamicamente deve ter uma ordem de resolução superior às dimensões esparsas agregadas hierarquicamente.
Em alguns aplicativos isso não é possível, pois outra ordem de resolução é necessária para obter os resultados corretos da fórmula. Por exemplo, um aplicativo com unidades e preços precisa ter um valor de vendas executado antes das agregações esparsas, para obter o valor de vendas correto em níveis superiores.
Pode ser necessário ajustar as configurações densa ou dispersa das dimensões (aplica-se apenas à utilização do mecanismo de armazenamento em blocos nos casos em que o mecanismo híbrido não pode ser usado).
Minimize o tamanho dos blocos, se possível.
Os administradores do Essbase podem usar as seguintes ferramentas para monitorar e otimizar o desempenho da consulta no modo híbrido:
Para limitar o volume de memória que pode ser consumido por uma única consulta, use a definição de configuração MAXFORMULACACHESIZE.
Caso seu cubo tenha fórmulas de membro complexas com operadores interdimensionais e várias instruções IF/ELSE, poderá haver questões de desempenho relacionadas à execução da fórmula. Se isso for suspeito, você poderá ativar o processamento de consulta ascendente para cálculo de fórmula. Isso otimiza os tempos de consulta identificando as interseções obrigatórias para cálculo, tornando o tempo de consulta proporcional ao tamanho dos dados de entrada.
Para fazer essas otimizações de consulta na Release 21C, use a definição de configuração QUERYBOTTOMUP, bem como a função de cálculo @QUERYBOTTOMUP. Na Release 19C, use a definição de configuração IGNORECONSTANTS com a sintaxe BOTTOMUP, bem como a função de cálculo @NONEMPTYTUPLE.
Use o rastreamento de consulta para monitorar e depurar o desempenho da consulta. Várias definições de configuração no nível do aplicativo estão disponíveis, dependendo do seu caso de uso. Use QUERYTRACE para depuração de curto prazo de uma consulta única que você considere potencialmente problemática. Use TRACE_REPORT para coleta de estatísticas sobre consultas de execução simultânea (ideal para depuração em um ambiente de desenvolvimento). Use LONGQUERYTIMETHRESHOLD em ambientes de produção para imprimir estatísticas no arquivo de log do aplicativo sobre quaisquer consultas que sejam executadas durante mais tempo do que o estabelecido.