Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
joffremota
Partner - Contributor III
Partner - Contributor III

Trabalhar com MUITAS informações

Bom dia a todos!

Estou com uma situação meio complicada. Um dos clientes mais antigos está tendo problemas de performance por causa da grande quantidade de dados que estão sendo carregados no QlikView.

Para se ter ideia, um dos arquivos QVDs da extração de dados (Extraction) está ficando com aproximadamente 8 GB. Após a transformação (Transformation), há casos de QVDs com mais de 20 GB e isso reflete diretamente no arquivo de apresentação (Load) que está ficando com cerca de 300 MB. Um simples filtro demora a ser efetivado e o cliente não está gostando muito disso.

Sugeri que diminuíssem o intervalo de informações lidas do banco (atualmente estão lendo dados de janeiro de 2008 até novembro de 2014) mas foram irredutíveis e afirmaram que precisa continuar como está.

Gostaria de saber se alguém tem alguma sugestão de como melhorar a performance tanto da carga (Extraction e Transformation) quanto da apresentação (Load), além é claro de um Upgrade na máquina que hospeda o QlikView Server (atualmente eles têm um Intel Xeon E5-2620 com 16 GB de RAM).

Obrigado.

Atenciosamente,

Joffre Mota

Labels (2)
25 Replies
fosuzuki
Partner - Specialist III
Partner - Specialist III

Joffre,

Além do que o pessoal já comentou, você precisa avaliar se seus objetos possuem dimensões calculadas ou expressões ineficientes. Já vi aplicativos bem menores que o seu ficarem absurdamente lentos por causa disso.

Sempre que possível, faça pré-cálculo na etapa de transformação e deixe o modelo de dados já preparado com campos que deixem as dimensões/expressões mais simples. Eu costumo criar várias flags e campos auxiliares pra me ajudar no desempenho.

Evite usar IF() nas expressões, e tente usar set analysis. Eles são mais performáticos.

Verifique também se os usuários realmente precisam de todos os campos que você colocou no modelo de dados, e tente fazer uma limpeza. Isso vai deixar o app mais leve e com certeza ajudará.

Anonymous
Not applicable

Vamos por parte,


Tal como diz o provébio "há muitas maneiras de matar moscas".


É possivel, aliás Eu já o fiz, gerar QVD como o minimo de memória SEM utilizar nenhuma ferrameta do Qlik.


Se o QVW está a ficar muito grande é hora de criar varios QVW's.


Abraço,

Caria



Anonymous
Not applicable

correto.

joffremota
Partner - Contributor III
Partner - Contributor III
Author

bestofwest, como é isso de gerar os QVDs aparentemente otimizadamente?

Quanto ao QVW, trabalhamos com uma versão única para diversos clientes. Não tem como criar pequenos arquivos QVW por causa de apenas um cliente.

Atenciosamente,

Joffre Mota

joffremota
Partner - Contributor III
Partner - Contributor III
Author

Boa tarde, fosuzuki

Quando você diz "se seus objetos possuem dimensões calculadas ou expressões ineficientes", devo entender como "objetos" os gráficos (indicadores), certo? Em caso afirmativo, são muito poucos os casos em que são utilizadas dimensões calculadas, mas são quase todos que utilizam expressões ineficientes.

São poucos os casos em que são utilizados Set Analysis, predomina o uso de IF().

Preciso estudar Set Analysis para melhorar algumas expressões. Inclusive na parte de Transformação dos scripts existem MUITOS IFs. QVDs criados com milhões de linhas e diversas colunas utilizando IF() para todas as colunas. No caso dos QVDs eu acho que a recarga incremental será a melhor saída mesmo.

Obrigado pelas dicas!!

Atenciosamente,

Joffre Mota

pablolabbe
Luminary Alumni
Luminary Alumni

O excesso de uso de condicionais IF principalmente quando o teste é com flags em texto como S ou N, impacta na performance. Se você criar flags com atributo booleano com as funções true() / false(), o IF fica mais rápido.

  if(campo_teste = 'S'  é mais lento que  if (campo_teste,   onde campo teste contem um valor binario true() ou false() que pode ser traduzido por -1 ou 0.

  Mais sobre campos e funções booleanas, leia aqui On Boolean Fields and Functions

Abraço,

pablolabbe

nicolett_yuri

Muito boa dica Pablo!!

Essa eu não sabia!

Anonymous
Not applicable

Obvio.


Qualquer tipo de condição (que retorna sempre um boolean) condiciona a performance.


Sempre foi assim e sempre será.



Anonymous
Not applicable

A Qlik não fornece o código para gerar QVD's.

Mas alguns de nós (pelo menos 2) consegue gerar esse tipo de ficheiros.

Final proximo mês estarei em SP se precisar ajuda

Abr

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

O Ralf Becher é um que gera QVD. O outro você?

Alessandro Furtado

De: Antonio Caria

Enviada em: quinta-feira, 18 de dezembro de 2014 13:59

Para: ALESSANDRO FURTADO

Assunto: Re: - Trabalhar com MUITAS informações

<http://community.qlik.com/> Qlik Community

Trabalhar com MUITAS informações

reply from Antonio Caria <http://community.qlik.com/people/bestofwest?et=watches.email.thread> in Qlik Brasil - View the full discussion <http://community.qlik.com/message/683141?et=watches.email.thread#683141>

furtado@farolbi.com.br