Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
jsobrinho
New Contributor III

Performance Qlikview

Boa noite,

Poderiam me explica como é a performance do qlikview considerando o seguinte:

-O qlikview trabalha com os dados in memory

Se eu tiver uma origem como um Hadoop, onde há um grande poder de processamento, eu posso fazer todo o processamento dos dados e calculos no hadoop, ou qualquer outra origem que tenha grande capacidade de processamento, e levar ao qlik tudo pré calculado, porém há vantagem nisso se o Qlik trabalha com os dados in memory? seria um cenário ideal se eu usar direct discovery?

-Variaveis são melhores que grandes expressões nos graficos ou tabelas

Quando é realizado um load do painel, as variáveis serão executadas e pré calculadas e com isso, quando eu usar no gráfico ganharei no desempenho?

Considerando que minha logica na variável seja complexa e extensa, há mesmo uma vantagem em se utilizar variavel?

Desde já obrigado, se tiverem mais considerações de ganho de performance agradeço.

Tags (1)
1 Reply
fosuzuki
Valued Contributor II

Re: Performance Qlikview

Acho importante considerar que o Direct Discovery é uma solução que tem algumas limitações quando comparado com o uso tradicional in-memory. Portanto, procure inicialmente verificar se o uso da solução in-memory é realmente inviável. Na prática, acho difícil determinar uma regra para recomendar o Direct Discovery. Um bilhão de registros pode ser muito ou pouco dependendo da complexidade das regras de cálculo, modelagem dos dados, hardware disponível, necessidade de análise e estratégia de navegação nos dados.

Existem duas formas de usar expressões em variáveis. Na primeira, você inicia a expressão com o sinal de igual, e desta forma o QV fará um pré-cálculo da expressão e reaproveitará o resultado nos lugares que esta variável estiver sendo utilizada. Este uso faz sentido quando você quer calcular um valor sem necessidade de abri-lo por uma dimensão. Na outra forma, você define a variável sem o sinal de igual, e desta forma o QV não fará pré-cálculo. A variável é somente uma entidade que armazena a expressão, e o cálculo é feito em cada objeto que a variável estiver sendo utilizada. Este outro uso faz sentido quando você quer usar a mesma expressão em gráficos diferentes para quebrar os valores de acordo com a dimensão do gráfico.

Creio que você esteja se referindo à segunda forma que menciono. Neste caso, o uso de variável não melhorará a performance do app. MAS mesmo assim recomendo o uso de variáveis como uma forma de permitir o reuso das expressões, o que minimiza o risco de você criar duas expressões diferentes para o mesmo indicador. Além disso, facilita a manutenção no app, pois caso você precise ajustar a expressão, você faz uma única vez na variável.

Sobre performance, recomendo este link que tem um resumo dos principais pontos.