- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Problema com memória
Olá pessoal,
Vocês ja tiveram problema de memória usando o QlikView?
Estou utilizando um banco de dados grande e quando limpo todos os filtros a memória da maquina é toda consumida.
O que posso fazer neste caso?
Obrigado,
Luís Garske
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Luis.
Bom isso é meio que complicado de definir, mas você precisar analisar alguns pontos.
Quantidade de dados: realmente é necessário ter todo esse volume de dados ?
Servidor: será que o servidor (memória e processador) consegue suportar o volume de dados e os acessos dos usuários ?
QVW: meu QVW foi bem desenhado ? as tabelas foram bem relacionadas ? existem chaves sinteticas ?
Usuários: quantos usuários eu tenho e quantos acessos simultaneos ao Qlikview eu tenho ?
Com isso já se pode ter uma idéia do que será necessário.
Redução de dados históricos com o passar do tempo.
Upgrade de memória/processador.
Analise do script/macros/objetos/funções.
Quanto mais usuários mais consumo de hardware, upgrade a vista ?
Acho que com isso você pode ter uma direção de como solucionar seu problema.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Luis, boa tarde.
Se o problema for máquina local, muitas vezes o problema pode ser apenas um objeto com muitas dimensões/expressões e cálculos pesados. Por isso quando limpa toda a seleção, começa a carregar a memória com todos estes dados é cálculos e trava a memória do user local.
O que pode ser feito nestes caso e condicionar a vizualização deste objeto à uma ou mais seleções nos campos de dimensão, assim carrega na memória somente os dados com seleção.
Outra solução, menos aceita pelos usuários finais, e dividir um objeto muito extenso por dois ou mais menores (menos dimensões, menos expressões), e trazer-los minimizados na sheet.
Mas performance é passível de uma análise mais aprofundada.
Att.,
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Olá Luiz,
Como nosso amigo Eduardo disse, reveja seus objetos de tela (principalmente dimensões usadas em tabelas dinâmicas) pois conforme a dimensão utilizada, o QV pode ter de redesenhar uma quantidade muito grande de linhas no que faz o consumo de memória ir nas alturas.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bom dia Guilherme,
Muito obrigado pelas dicas, neste caso o documento ainda estava sendo testado apenas localmente, ainda não publicamos em um servidor.
O que ocorre é que temos uma massa de dados muito grande, vários anos de movimentação.
Mas com certeza suas dicas foram muito válidas,
Obrigado,
Abraço,
Luís Garske
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bom dia Eduardo,
Com certeza você acertou na mosca, tenho uma tabela enorme onde carrego muitos dados e na maioria das colunas são cálculos.
Provavelmente seja isso que esta ocasionando o alto consumo de memória no momento em que limpo todos os filtros.
Vou pensar em algo neste sentido,
Muito obrigado,
Abraço,
Luís Garske
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Olá Rodolpho,
Conforme ja comentei com o Eduardo, é bem por aí o que esta ocorrendo.
Irei pensar algo neste sentido.
Obrigado,
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Luis.
O desenvolvedor tambem precisa de um bom hardware, pois se a quantidade de dados é grande ele precisa de memória e processador.
Bom... como voce disse voce possui uma tabela que apresenta muitos dados...
Minha recomendação... crie uma condição de calculo para a sua tabela e outros objetos com muitas informações... por exemplo... para não ficar muito pesado para voce desenvolvedor e para o usuário final... crie uma condição que o obrigue a fazer seleções, com isso o volume de dados apresentado neste objeto será menor e com isso não terá problemas para ser exibido...
Normalmente utilizo pelo menos a seleção de algum ano...
por exemplo.
Count(Distinct ANO) = 1
e na mensagem de erro coloco a mensagem: Selecione um ano.
Assim força a redução de dados apresentados nesta tabela.
Abraços.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
QlikView é uma ferramente de BI ou seja ele foi feito naturalmente pra trabalhar com muitos dados então não acredito que quantidade de arquivos seja o seu problema - a não ser que seja algo descomunal.
Existem N fatores que podem estar gerando seu problema desde hardware (eu recomendo 4GB de ram no mínimo) até os charts.
Problemas comuns no QlikView são:
- Carregamento de dados inúteis pra aplicação. Isso vale tanto para linhas como colunas (diga NÃO ao LOAD * )
- Estrutura de dados: tente sempre desnormalizar seus dados até obter um Start Schema ou algo bem próximo disso
- Expressions excessivamente complexas: Expressions não precisam ser uma equação diferencial. Make it simple. Quanto possível leve a complexidade das Expressions pro Load Script
- Uso de IF em Expressions: raro são os casos onde não exista a possibilidade de trocar um IF por um Set Analysis
- Calculated Dimensions: eu já notei em vários projetos que o uso de Calculated Dimensions é extremamente custoso pro QlikView. Evite usá-las
- Quando possível, compare números e não strings: QlikView trabalha muito melhor com números do que textos então dê preferência em usar números em suas expressions
Abraço,
Mark Costa
Read more at Data Voyagers - datavoyagers.net
Follow me on my LinkedIn | Know IPC Global at ipc-global.com