Os Subsistemas de ETL – 34 Subsistemas Revisados

Kimball University: Bob Becker  – Estes 34 subsistemas cobrem o ambiente crucial do Data Warehouse, em sua arquitetura de extração, transformação e Carga. Requisitos exigidos em em quase todos os projetos de DW.  Bob Becker é membro do Kimbal Group.  Esta focado na consultoria e treinamento  de  data warehouse dimensional desde  1989.

Entender a abrangência destes requisitos é o primeiro passo para o uso adequado desta arquitetura.

Através da atuação no ensino de DW/BI, e do trabalho dos consultores, o Kimball Group ficou conhecido pelas centenas de Data Warehouses bem sucedidos. O estudo cuidadoso destes sucessos revelou um conjunto de melhores práticas para a extração, transformação e carga (ETL). Nós primeiro descrevemos estas melhores práticas em uma coluna no site Intelligent Enterprise três anos atrás (“Os 38 Subsistemas de ETL”).  Desde então nós continuamos a refinar as práticas baseadas em experiências junto aos clientes, feedback de alunos e continuada pesquisa. Como resultado, nós cuidadosamente reestruturamos estas melhores práticas em 34 subsistemas que representam os componentes chaves da arquitetura de ETL, exigidos em quase todos os  ambientes de DW dimensionais. Nenhuma maravilha dizer que o sistema de ETL toma uma porcentagem grande de um projeto de DW/BI!  As boas notícias são que se você estudar estes 34 subsistemas, você reconhecerá quase todos eles e estará a caminho de alavancar sua experiência na construção de seu sistema de ETL.

Enquanto nós entendemos e aceitamos o acrônimo difundido na indústria, o processo de ETL  tem, na realidade,  quatro componentes importantes: Extração, Limpeza e Ajuste, Entrega e Administração. Cada um destes componentes e todos os 34 subsistemas neles contidos são explicados abaixo.

EXTRAÇÃO: COLETAR OS DADOS PARA O DW

Sem nenhuma surpresa, os subsistemas iniciais da arquitetura de ETL tratam dos assuntos referentes aos dados de origem (fonte), extraindo-os e transferindo-os para o ambiente de DW, onde o sistema de ETL pode operar independente dos sistemas operacionais. Enquanto o enfoque dos subsistemas restantes é a transformação, carga e gerenciamento de sistema  dentro do ambiente de ETL, os subsistemas iniciais são a interface para acessar os dados exigidos nos sistemas de origem. Os subsistemas de extração dos ETLs incluem: 

Data Profiling (subsistema 1) – Explora uma origem de dados para determinar seu ajuste para inclusão como uma fonte associado à limpeza e ajuste de requisitos.

Change Data Capture  (subsistema 2) – Isola as mudanças ocorridas nos sistemas de origem, de forma a reduzir os processos de ETL – Carga Incremental.

Sistema de Extração (subsistema 3) – Extração e movimentação dos dados de origem para dentro do DW, para processamento futuro.

LIMPAR E AJUSTAR DADOS

É nesta fase crítica que o sistema de ETL adiciona valor para os dados. As outras atividades, extração e entrega dos dados, são obviamente importantes, mas eles simplesmente movem e carregam os dados. Os subsistemas de limpeza e ajuste mudam dados e realçam seu valor para a organização. Além disso, estes subsistemas devem ser arquitetados para criar Metadados que serão usados para diagnosticar problemas nos sistemas origem. Tal diagnostico pode, eventualmente, levar a uma iniciativa de reengenharia dos processos do negócio, para identificar, na raiz, os problemas dos dados ‘sujos’, de forma a melhorar a sua qualidade. Frequentemente, esperamos que os processos de limpeza dos dados possam ‘consertar’ os dados sujos, ao mesmo tempo em que esperamos que o Data Warehouse forneça um retrato preciso dos dados capturados nos sistemas transacionais. É essencial atingir o equilíbrio adequado entre estas metas contraditórias. A chave é desenvolver um sistema de ETL capaz de corrigir, rejeitar ou carregar o dados como estão, e então destacar, com estruturas de fácil uso, as modificações, padronizações, regras e suposições do aparato de limpeza subjacente, deixando que o sistema se auto-documente.

Os cinco subsistemas principais nos passos de limpeza e ajuste incluem:

Data Cleasing System – Sistema de Limpeza de Dados (subsistema 4) – Implementa processos de qualidade de dados para identificar violações de qualidade.

Error Event Tracking – Acompanhamento de erro (subsistema 5) – Captura todos os ‘eventos de erro’, que serão as entradas vitais para a melhoria da qualidade dos dados.

Criação de Dimensão de auditoria (subsistema 6) – Junta Metadados para cada Tabela Fato, como uma dimensão. Este Metadados estará disponível para a geração de aplicações de BI que visualizem  a qualidade dos dados.

Deduplication – Tirar a duplicidade de dados (subsistema 7) – Elimina dados redundantes de dimensões, como clientes ou produtos. Pode requerer integração cruzada entre multiplas origens e a aplicação de regras para identificar qual a versão mais correta de uma linha duplicada.

Data Conformance – conformidade de dados (subsistema 8) – Força o uso de atributos comuns entre as principais Conformed Dimensions versus as métricas comuns nas Tabelas Fato relacionadas.

ENTREGA: PREPARAÇÃO PARA APRESENTAÇÃO

A missão primária do sistema de ETL, é a preparação das dimensões e tabelas fato, o que é feito nos passos a seguir.  Existe uma variação considerável nas estruturas dos dados de origem e na lógica de limpeza e ajuste, mas as técnicas do processo de entrega são mais definidas e diciplinadas. De forma consistente e cuidadosa, o uso destas técnicas é critica para o sucesso na construção de um Data Warehouse Dimensional, gerando confiabilidade, escalabilidade e manuseio.

Muitos destes subsistemas focam na criação das Dimensões, que são o coração de um DW. Eles fornecem o contexto para as tabelas fatos e todas as medidas associadas. Para muitas destas dimensões, o plano de carga é relativamente simples: realizar transformações básicas para construir as linhas que serão carregadas nas tabelas de destino.

A preparação das tabelas fato é igualmente importante, porquanto essa tabelas mantém as medidas do negócio que serão consultadas pelos usuários. Tabelas fato podem ser extremamente grandes e consumir um tempo muito grande para a carga. Contudo, a preparação das tabelas fato para a apresentação é, tipicamente, muito mais trabalhosa.  

 Os  subsistemas de entrega, em uma arquitetura de ETL, são: 

Slowly Changing Dimension (SCD) Manager (subsistema 9) — Implementa a lógica para os atributos SCD. 

Surrogate Key Generator (subsistema 10) — Cria as chaves substitutas (chaves de negócio) – surrogate keys independentes para cada dimensão. 

Hierarchy Manager (subsistema 11) — Entrega multipla e simultânea de estruturas hierarquicas na dimensão. 

Special Dimensions Manager (subsistema 12) — Cria locais – placeholders na estrutura de ETL para sustentar os processos repetitivos específicos da organização, no desenho de dimensões específicas coma as Junk Dimensions, Mini Dimensions e indicadores de comportamento. 

Fact Table Builders (subsistema 13) — Construção dos três tipos básicos de tabela fato: Transacional, Periódico e Cumulativo (transaction grain, periodic snapshot e accumulating snapshot). 

Surrogate Key Pipeline (subsistema 14) — Substitui, nas dimensões, a chave natural operacional das tabelas de origem pelas chaves substitutas (Surrogate Key) que serão utilizadas para o relacionamento com as tabelas fato.  

Multi-Valued Bridge Table Builder (subsistema 15) — Construção e Manutenção das tabelas ponte (bridge tables) para suportar os relacionamentos multi-valorados.  

Late Arriving Data Handler (subsistema 16) — Aplica modificações especiais nas procedures do processo padrão para lidar com tabelas fato recém definidas (late-arriving)  e dimensões. 

Dimension Manager (subsistema 17) — Centraliza a autoridade para preparar e divulgar as dimensões conforme (conformed dimensions) para a comunidade do Data Warehouse. 

Fact Table Provider (subsistema 18) — Detém a administração de uma ou mais tabelas fato, e a responsabilidade de criação, manutenção e uso. 

Aggregate Builder (subsistema 19) — Construção e manutenção de agregações que serão usadas de forma continua com tecnologias de navegação agregada para melhorar a  performance das consultas. 

OLAP Cube Builder (subsistema 20) — Seleciona os dados do esquema dimensional para popular os cubos OLAP. 

Data Propagation Manager (subsistema 21) — Prepara dados conformados e integrados no servidor de apresentação do Data Warehouse, para entrega em outros ambientes, para propósitos especiais. 

GERENCIANDO O AMBIENTE DE ETL

Um armazém de dados não será um sucesso até que possa ser confiado como uma origem segura para decisão de negócios. Para alcançar esta meta, o sistema de ETL deve trabalhar para cumprir três critérios:

Confiabilidade. O processo de ETL  deve rodar de forma consistente para prover os dados, com base nas periodicidades e janela de tempo estipuladas, além de ser  fidedigno a qualquer nível de detalhe. 

Disponibilidade.  O Data Warehouse deve ir ao encontro de seu acordo de nível de serviço (SLA) estipulado. Deve estar pronto e disponível conforme o prometido.

Gerenciabilidade. Um Data Warehouse bvem sucedido nunca esta estático, esta sempre em crescimento e mudando ao longo do tempo, junto com o negócio. Deste modo, os processos de ETL devem evoluir de forma simples e fácil.

Os subsistemas de gerenciamento do ETL são a chave para alcançar os objetivos acima. Operacionalizar e manter o data warehouse de uma forma profissional não é muito diferente dos demais sistemas operacionais: seguir os padrões e melhores práticas, planejar a recuperação em caso de desatres, etc. Muitos de nós estamos familiarizados com os seguintes subsistemas:

Job Scheduler (subsistema 22) — A estratégia de gerenciamento da execução dos ETLs deve ser confiável, incluindo os relacionamentos e dependencias entre os ETLs.

Backup System (subsistema 23) — Manter cópia do ambiente de ETL para proposito de recuperação, restart e arquivamento.

Recovery and Restart (subsistema 24) — Processos para recuperação do ambiente de ETL  ou processo de reinicio, em caso de eventuais falhas.

Version Control (subsistema 25) — Manter arquivadas versões dos ETLs, para eventual recuperação das lógicas e metadados do ‘ETL pipeline’.

Version Migration (subsistema 26) — Migração de uma versão completa do ‘ETL pipeline’ a partir do ambiente de desenvolvimento para um ambiente de testes e, finalmente, para o ambiente de produção.

Workflow Monitor (subsistema 27) — Garante que os processos de ETL estão sendo eficientemente executados e que as cargas iniciem precisamente nas janelas de tempo estipuladas. 

Sorting (subsistema 28) — Garante a fundamental alta performance nos grupos de processos de ETLs. 

Lineage and Dependency (subsistema 29) — Identifica a origem dos dados, as localizações intermediarias, as transformações e o dado final, permitindo acompanhar de forma estruturada, a tragetória dos dados até a sua carga no Data Warehouse.  

Problem Escalation (subsistema 30) — Estrutura de suporte que  encaminha os problemas encontrados nos processos de  ETLs (erros)  para o nível de solução apropriado. 

Paralleling and Pipelining (subsistema 31) — Habilita ao sistema de ETL a potencializar automaticamente  o uso de recursos como multiplos processadores ou computação em grade (grid computing) para entregas dentro dos prazos restritos.

Security (subsistema 32) — Garante o acesso autorizado aos ETLs e Metadados, de forma individual ou em grupos, mantendo um histórico dos acessos.

Compliance Manager (subsistema 33) — Suporta os requerimentos organizacionais de conformidade, através, tipicamente, da manutenção da custódia da cadeia de dados e do acompanhamento dos acessos aos dados (quem teve o acesso autorizado ao dado).

Metadata Repository (subsistema  34) — Captura os metadados do ETL, incluindo os metadados de processo, metadados técnicos e metadados do negócio que significam todos os metadados do ambiente de DW/BI.

SUMÁRIO

Como podemos observar, talvez agora, de uma forma mais ampla, a construção de um sistema de ETL é um tanto desafiadora. A arquitetura de ETL necessita de um conjunto de subsistemas necessários para o atendimento das demandas do negócio, de forma a popular corretamente o Data Warehouse. Para o sucesso, devemos considerar, cuidadosamente, estes 34 subsistemas. Devemos entender com profundidade  os requerimentos e coloca-los de forma apropriada em nossa arquitetura.

ETL é mais do que apenas extração, transformação e carga, é um conjunto de tarefas complexas e importantes.

Até a próxima!!!!

 

 

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: