Hi All,
Este blog trata sobre algunos
Dicas de desempenho
na
Visualização de Cálculo do SAP HANA
.
Nosso objetivo principal ao migrar para o SAP HANA é o desempenho e se o desempenho não for bom, então a mudança não faz sentido. Criar visualizações de informações no HANA não é um grande problema, no entanto, manter seu desempenho é o que requer tempo e compreensão das diversas opções que o SAP HANA oferece.
Em primeiro lugar, temos o motor do SAP HANA, que fornece três motores
Motor de JOIN, Motor OLAP e Motor de cálculo
. Além disso, há um
Otimizador de consultas do SAP HANA
cujo trabalho é realmente fornecer dados para motores separados, dependendo de qual motor funciona melhor para essa consulta.
Ao construir Visualizações de cálculo, é útil ter em mente qual motor é predominantemente utilizado. Para dar um exemplo, se a Visualização de cálculo for do tipo Dimensão, o processamento é direcionado ao Motor de JOIN, no entanto, se houver alguma coluna calculada, o processamento é direcionado ao Motor de cálculo que está acima do Motor de JOIN. Da mesma forma, se a Visualização for do tipo CUBO com Join de Estrela, o processamento é direcionado ao Motor OLAP.
Existem muitas capacidades sobrepostas nos motores e para identificar qual(is) motor(es) está(ão) realmente sendo chamado(s) em cada etapa, podemos usar
Ferramenta de Plano de Explicação
(explicado abaixo)
Alguns pontos a serem considerados ao modelar
-
Tente não transferir grandes conjuntos de resultados entre o banco de dados HANA e os aplicativos do cliente (por exemplo, Análise para Office)
-
Sempre tente fazer
cálculos após a agregação
(A agregação elimina resultados duplicados ou os agrega antes de mostrá-los)
-
Outra coisa é - tente
evitar expressões complexas em colunas calculadas
, você pode empurrar isso para baixo no próprio modelo
-
Fazer
JOIN em chaves ou colunas indexadas
ajuda muito no desempenho
-
O mais importante é
Filtrar dados o mais cedo possível
usando parâmetros de entrada, Privilégios analíticos, Agregações, etc.
-
Também tente
reduzir o fluxo de dados entre visualizações
.
Além disso, você pode usar
Executar em
propriedade nas visualizações (presente na guia de propriedades da visualização), se você configurá-lo em
Motor SQL
então o Motor de cálculo tenta gerar declarações SQL para cada nó e depois criar uma grande consulta SQL que é então passada para a interface de consulta SQL (que possui um otimizador SQL padrão) que ajuda a otimizar a consulta SQL - um dos quais gera uma sequência de JOIN ótima.
Para ter isso - o Otimizador SQL funciona e você deve garantir que não use nenhuma função de armazenamento de colunas em filtros ou colunas calculadas (por exemplo, date(), time())
Falarei sobre a otimização de scripts SQL em outro blog.
Abaixo estão detalhadas algumas ferramentas que ajudam a monitorar o desempenho
-
Ferramenta de Plano de Explicação
: Com isso, você pode ver qual etapa de execução usa qual motor, através disso você pode evitar chamar múltiplos motores ajustando nós nas visualizações, proporcionando assim um bom desempenho.
-
Ferramenta de Visualização de Plano
: Eu gosto muito desta ferramenta, pois fornece uma imagem completa de como os dados fluem em uma visualização, quantas linhas de dados são movidas de um nó para outro.
-
Ferramenta de Execução de Plano
: Com isso, você pode ver o tempo de execução - qual nó está levando o tempo máximo, quantas tabelas foram acessadas, quantos registros, etc. Recomendo visualizar isso ao executar suas visualizações.
-
Visualização de linha do tempo
: Isso fornece marcas de tempo para cada etapa de execução de SQL. Também é uma boa visualização para ver qual etapa está levando mais tempo.
Finalmente, para visualizar essas ferramentas, você realmente precisa gerar a consulta SQL da Visualização, o que pode ser feito clicando com o botão direito na visualização e selecionando a opção
Gerar Select SQL.
Agora, no menu de contexto, você tem opções para selecionar diferentes ferramentas (como mostrado abaixo).
Espero que isso ajude quando você estiver preocupado