Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

DW - Boas Práticas ETL

Boa noite,

Sou iniciante no Qlik e gostaria de saber se estou no caminho certo.

Tenho um banco de dados relacional e o objetivo é criar um DW no QlikView, li os prós e contras sobre essa questão e acredito ser uma boa prática, me corrijam se eu estiver errada 😃

Separei meu projeto em 3 QVW:

Extração - Carrego todas as tabelas que preciso, gerando um QVD para cada uma, em seguida apago todas as tabelas do QVW.

Transformação - Carrego os QVDs que gerei na Extração e faço os tratamentos.

Carga - Carrego os QVDs da transformação e desenvolvo minha aplicação.

Gostaria de dicas, essa é a melhor prática?

Desde já, agradeço a todos.

Muito Obrigada.

Labels (1)
  • Other

13 Replies
Not applicable
Author

Muito obrigada Yuri, fico feliz que estamos indo pelo caminho certo, fizemos um curso básico, mas na prática tudo é diferente, então surge várias dúvidas.

nicolett_yuri

O mundo real é sempre mais divertido

Aqui tem um material bom: Best Practices for Data Modelling

Not applicable
Author

Fabio, Luciano

Ainda fiquei na dúvida entre relacionar ou não os dados nas etapas iniciais, na extração eu gero os qvds e apago as tabelas, não vejo necessidade de relacionar nessa etapa,  na transformação faço a validação e tratamento dos dados, aqui vejo a real necessidade de relacionar para verificar se tudo está ok, não sei se estou correta, o Qlik ainda é um mundo meio desconhecido para mim

Deixando desamarrado o processo fica mais rápido?

fosuzuki
Partner - Specialist III
Partner - Specialist III

Também costumo utilizar o processo em 3 camadas. Além de organizar o fluxo das informações, facilita a escalabilidade do ambiente com o reaproveitamento dos QVDs.

Minha contribuição pro tópico:


Na extração:

- vale a pena pensar em um processo de carga incremental para algumas tabelas, dependendo do tamanho e tempo de extração.

- para facilitar o gerenciamento das tarefas de recarga no server, organize os QVWs extratores por base de dados e por frequência de carga.

- deixar as strings de conexão em arquivos texto e fazer include deles no script. Assim quando vc precisar trocar os parametros de conexão (servidor, usuário, senha...), vc mexe em um único lugar e isso se refletirá em todos os QVWs extratores que usarem aquela conexão.

Na transformação:

- centralizar todas as regras de negócio nesta camada, assim facilita na hora de debugar os dados. Sabe-se que dá pra fazer muitas regras de cálculo no layout, mas sempre que possível, migre as regras de cálculo para a transformação, criando flags auxiliares, contadores, dimensões auxiliares, consolidando valores, e até mesmo duplicando valores (com cuidado e quando fizer sentido, é claro...). Com isso você evita complexidade nas dimensões e expressões do gráficos, e eles ficarão mais performáticos, o que é muito importante para o usuário final.

Na extração e transformação:

- organizar o código em abas para "compartimentalizar" a geração de cada qvd, o que também facilitará na hora de debugar os dados. Nos meus projetos eu crio flags de controle em variáveis e no início de cada aba eu checo se a respectiva flag está marcada, e com isso o usuário pode escolher qual qvd ele quer gerar.

DW no QV:

- O QlikView é bastante flexível quanto à organização das informações, então neste sentido entendo o ponto do  lucianosv‌‌ quando ele fala que não existe DW no QV. Porém, pela minha própria experiência, os aplicativos mais complexos vão demandar mais carinho na modelagem dos dados para que as informações se amarrem da forma correta, o que no final das contas significa criar um modelo no estilo de DW, com fatos, dimensões e linktables.

- É possível criar um DW fora do QV e já vi projetos funcionarem assim. Acho que o ponto crítico aqui é saber se o DW externo conseguiria se adaptar rapidamente às mudanças de requisitos nos apps do QlikView. Se sua empresa possui DBAs bons e que conseguirão criar e dar manutenção num DW externo com agilidade, eu recomendaria a você para aproveitar isso, pois você consegue dividir a responsabilidade com eles. Caso contrário, creio que ficará mais fácil centralizar o DW no QV.