Josenildo Almeida
johalmeida@gmail.com
Especialização em Qualidade e Governança de TI pela Faculdade Ruy
Barbosa. Atua como Consultor Business Intelligence (Qlikview) e coordenador dos
cursos de graduação em TI da Faculdade Maurício de Nassau.
De
que se trata o artigo
|
Veja nesse artigo dica de melhores
práticas para desenvolvimento de aplicações em Qlikview para projetos de BI
(Business Intelligence).
|
Em
que situação o tema é útil
|
É comum em grandes projetos de BI a
definição de uma vasta coleção de indicadores para apoiar na tomada de
decisão que utilizarão dados compartilhados em diversas visões a serem desenvolvidas.
Este artigo será útil para desenvolvedores que precisam otimizar suas
aplicações e/ou precisam organizar melhor seus dados em projetos de
média/alta complexidade, onde serão desenvolvidos múltiplos
indicadores/visões com grande volume e reuso de dados extraídos das fontes
transacionais, visando aumento de performance das aplicações e melhor
estruturação dos projetos em Qlikview.
|
Melhores práticas de
desenvolvimento com Qlikview em projetos de BI
A ideia central deste
artigo é abordar uma boa prática de desenvolvimento de aplicações em Qlikview
para projetos complexos de BI, onde há um grande volume e reuso dos dados em
múltiplas visões. Trata-se da criação de um “transformador de dados”, cujo
objetivo do mesmo é tratar os dados extraídos para uso dos indicadores,
diminuindo consideravelmente o processamento na camada de aplicação, aumento a
performance e melhor estruturação do projeto.
Atualmente a
maior parte das empresas busca tecnologias que facilitem o acesso a dados
estratégicos de seu negócio. Com ações mais eficientes e resultados mais
significativos da gestão de dados para tomadas de decisões, empresas passaram a
investir em ações de BI para alcançar suas metas, promover a compreensão do
processo de captura e utilização de informações externas e internas, e o desenvolvimento
e monitoramento de estratégias coerentes ao momento competitivo.
Para
tal necessidade, hoje existem diversas soluções disponíveis no mercado para
atender os anseios dos gestores nas organizações. O Qlikview é uma dessas
soluções disponíveis que atende muito bem às expectativas e agrega muito valor
aos negócios, trabalhando de uma forma diferente em relação às tradicionais
ferramentas de BI, pois possui uma tecnologia inovadora que possibilita aos
gestores fazer perguntas sem que os mesmos estejam presos ou engessados a uma
estrutura hierárquica de dados pré-definida, dando possibilidades de diversas
combinações de análise.
Os
projetos de BI implementados com esta ferramenta, comumente utilizam a mesma
estrutura dos projetos tradicionais, onde temos a etapa de ETL (extração, tratamento
e carga dos dados), criação de um repositório de dados transacionais (Data Warehouse) e as aplicações para
análise dos dados (front-end). Para
tratar destas etapas, o Qlikview utiliza duas extensões de arquivos principais:
·
Arquivos QVD à Arquivo nativo do Qlikview que contém uma tabela de
dados. A leitura destes dados neste tipo de arquivo é infinitamente mais rápida
do que outras fontes de dados.
·
Arquivos QVW à Arquivos que contém as aplicações, script de
carregamento dos dados, dashboard, relatórios e regras de negócio do projeto.
Figura 1. Estrutura padrão de projetos Qlikview
Pensando
nestes aspectos, uma boa prática de desenvolvimento que pode ser utilizada é a
criação de um arquivo “transformador” que servirá de base para as aplicações/visões,
deixando-as mais leve e otimizando o carregamento dos dados. Este arquivo tem
por objetivo fazer a transformação dos dados conforme as regras de negócio, a
fim de eliminar o máximo de processamento nas aplicações.
É comum que desenvolvedores Qlikview
façam o tratamento dos dados no momento da extração. Particularmente discordo
desta prática pelos seguintes aspectos:
·
Tempo de acesso à bases transacionais: Sabemos
que a carga dos dados é um detalhe crítico nos projetos de BI, pois o nível de
processamento é muito alto nas bases de dados no momento da carga, podendo
comprometer a sua utilização por parte dos sistemas transacionais. Sendo assim,
quanto maior o número de consultas (tratamentos realizados para extração dos
dados), mais tempo levará para fazer a extração dos dados. Imagine um cenário
com produção de mais de um milhão de registros por dia, que a sua extração
envolve centenas de tabelas, onde a carga inicia no período da noite e invade o
expediente do dia seguinte... Isto é comum em organizações que analisam dados
de múltiplas filiais. Tal situação pode comprometer e, até mesmo, inviabilizar
a utilização destas bases por parte dos sistemas transacionais.
·
Subutilização da potencialidade da ferramenta:
Conforme citado no início do artigo, o Qlikview processa muito mais rápido (faz
leitura) um arquivo QVD do que qualquer outra fonte de dados. Sendo assim, a
utilização deste tipo de arquivo sempre será uma boa prática quando se pensar
em desempenho e performance das aplicações.
Por conta dos
aspectos supracitados, é interessante que se faça o mínimo de tratamento
possível no momento da extração, deixando esta tarefa para o arquivo
“transformador”.
Após extração
dos dados, são gerados os arquivos QVD’s com os dados da fonte transacional. Em
posse destes arquivos salvos em um diretório, cria-se um novo arquivo QVW (transformador)
que conterá o script de carregamento destes QVD’s e será feito o tratamento dos
dados de acordo com as regras de negócio, gerando como produto novos arquivos
QVD’s com os dados tratados. A partir disso, todas as aplicações/visões criadas
podem utilizar os novos QVD’s com o carregamento dos dados otimizados,
diminuindo significativamente o processamento e, também, a repetição de códigos
nas demais aplicações que utilizem os mesmos dados.
Figura 2. Sugestão de estrutura de projetos Qlikview com a criação do
Transformador para tratamento
dos dados antes da aplicação.
Conclusão
A dica deste artigo não é criar uma
metodologia, e sim boas práticas baseadas em experiências reais onde
performance e organização do projeto, no que diz respeito à reuso dos dados, eram
fatores críticos para o sucesso da implantação do Qlikview. Os benefícios das
informações citadas neste artigo poderão ser melhor avaliados em projetos com
grande volume de dados, com cenários mais complexos e que tenham usuários
finais que necessitem de informações em tempos menores.
0 comentários:
Postar um comentário