1 Reply Latest reply: May 2, 2017 10:03 AM by Fernando Suzuki RSS

    Performance Qlikview

    jose sobrinho

      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.

        • Re: Performance Qlikview
          Fernando Suzuki

          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.