Escolar Documentos
Profissional Documentos
Cultura Documentos
As Metas
Planejamento
Preparar desenvolvimento ETL: desenvolvendo as perspectivas essenciais do projeto Subsistemas 1-3: profiling, change data capture, and extraction Subsistemas 22-24: agendamento de job, tratamento de exceo, backup, recovery e restart Tratando os dados: subsistemas 4-7, 28 Conformidade, resolvendo os desafios da integrao: subsistema 8 Subsistemas 25-27, 29-30 controle de verso, migrao de sistema e teste Arquitetura de ETL em tempo real
Tabela fato Tabela dimenso De que forma o modelo estrela difere do modelo normalizado
O desafio do ETL
Custo eficaz
Confivel Extensvel
Compatvel
Observvel Seguro Sistema manejvel para trazer os dados para o data warehouse e deix-lo pronto para consulta do usurio final.
Todos entendem E, T, L
E:
T:
L:
Depende da Origem Quais ferramentas esto disponveis As habilidades dos envolvidos no trabalho A ferramenta de consulta e relatrio
prepare to start
Comprehensive Requirements
Conhecer os dados
Data Profiling (1)
judge data
Isolar as alteraes
T: Tratar e conformar
Second : Clean and Conform
cleaning machinery
Controle de limpeza
cleaning control
d
d
Error Event Schema (5) w. Audit Dimension (6)
integration
Integrao
Deduplicating (7) and Conforming System (8) Result: Cleaned Tables and Conformed Dimensions
Variao de tempo
time variance
Fact Table Types (13): Late Arriving Data (16) Dimension Manager (17), Fact Provider (18)
keys
Chaves
Administrador
admin
hierarchies
Hierarquias
Tabelas pontes
bridges
control
Controlar
Job Scheduler (22) Lineage & Dependency (29) Problem Escalation (30) Pipeline/Parallelize (31) Security (32) Compliance (33) Metadata Repository (34)
source
respond
Velocidade Responder
Origem
protect
Proteger
speed
control
Mtrica
Controlar
Version Control (25) & Migration (26) Workflow Monitor (27) Sorting (28)
guard
Guardar
Conformidade
measure
comply
speed
Velocidade
manage
Gerenciar
Cozinha (back room) Os ingredientes precisam ser selecionados e aprovados Preparar os alimentos Itens separados so reunidos harmoniosamente O produto final montado no prato que ser entregue na sala de jantar
Sala de jantar (front room) O cliente recebe o prato montado pronto para consumi-lo utilizando os talheres O chef de cozinha o responsvel pela qualidade do que foi entregue
Sistema ETL (back room) Extrao Limpeza Conformidade Entrega (o modelo com os dados)
Ambiente usurios finais (front room) Apresentar o que importante (do DW) Investigar as causas (usando o DW) Testar que se (usando o DW) Acompanhar as decises tomadas (de volta para o DW ! )
Necessidades do negcio
Consultas e relatrios Isolar e enfatizar a importncia de encontrar as chaves Identificar as causas e conseqncias Acompanhar as decises tomadas atualmente
Indicadores de performance
Operao de manufatura
Variao dos custos padres vs. localizao Tempo do ciclo de venda vs. equipe de venda Tempo de resoluo das questes vs. treinamento dos empregados Quantidade de passos para completar uma compra
Operaes de venda
Call Center
Web Site
Recursos humanos
Anlise de comportamento
18
Antecipar-se para as necessidades do usurio Ligar a pesquisa instantnea do cliente com visita, aspecto demogrfico, histrico de compras. Ex: site da Amazon. Acompanhar as promoes personalizadas e as ligaes de siga-me Durao das visita e quanto tempo o cliente demorou para retornar Sucesso de vendas associadas Tempo de latncia: quanto tempo demorou para vender o produto aps a sua primeira exposio Uso de inventrio online, mostra resposta de produto esgotado/ fora de estoque Reao a apresentao da mercadoria
Email/SMS Call center Blogs Redes sociais: Facebook, Twitter Ofertas na web e no celular Rastrear os registros RFID Cestas inteligentes Ex: Pagamento de pedgio
Integrao rpida de diversas fontes, mudando constantemente!
19
Compliance
Estratgia: decidir, o mais cedo possvel, se a fonte de dados suporta a misso bsica Descobrir mais tarde pode ser fatal para voc e para o projeto Ttica: identificar falhas nos dados Expor para o usurio a expectativa real se os dados no estiverem perfeitos
Segurana
Incluso de dados sensveis Uso de perfis para acesso aos dados Responsabilidade para administrar os perfis e permitir acesso telas de usurios finais
Configurar redes e comunicaes Monitorar os usurios internos e as aes do administrador Proteger a mdia fsica incluindo backup
Comprometimento seguro para apoiar o processo de modelagem dimensional para construir dimenses e fatos conformados. Preparar as expectativas do usurio final
Como parte do data profiling, descrever a validade dos dados novos e atualizar os processos que podem ocorrer Quantificar, se possvel, o valor de dados acessveis mais rpido que o ETL atual pode entregar
Identificar a origem e a tela do usurio final que deve ser baseada no fluxo de dados Identificar as fontes que do origem aos late arriving dimensions
Levantamento das competncias da equipe e das habilidades disponveis no mercado: Plataforma do sistema operacional DBMS Conjunto de ferramentas de ETL Linguagem de script e utilidades Experincia com data warehouse, em especial com modelagem dimensional
Licenas legais que voc precisa conviver: DBMS, ERP, ETL
Pros Grficos, parmetros baseados em programao Transparncia e lgica de alto nvel Documentao automtica Suporte extensivo automtico de metadados Biblioteca de conexes Balanceamento de carga automtico, paralelizao Controle automtico da verso e origem Habilidades do mercado e cursos lecionado pelos fabricantes. Contras Custo elevado Curva de aprendizado significativa
Agregados Expresses gerais Filtros Joins Lookups Normalizadores Gerador de seqncia Stored procedures Entrada e sada formato XML Facilidade para escrever a sua prpria transformao
Posio no mercado
Current Marketplace ETL Tool Suite Offerings
Microsoft SQL Server 2005 Integration Services (219,000 hits) Oracle Warehouse Builder (102,000 hits) Informatica PowerCenter (93,600 hits) Cognos DecisionStream (27,200 hits) SAP BusinessObjects Data Integrator (12,400 hits) Ab Initio Software (near impossible to evaluate) (9,380 hits) ETI (Evolutionary Technologies International) (7,810 hits) Ascential DataStage (acquired by IBM, now Websphere Information Integration) (7,430 hits) Data Flow Server (acquired by Group 1, Pitney Bowes Co.) (2,890 hits) DataMirror Transformation Server (2,460 hits) Hummingbird ETL (2,130 hits) IBM DB2 Data Warehouse Manager (1,710 hits) SAS Enterprise ETL Server (1,110 hits) Pentaho
Vantagens Rpida implementao por desenvolvedores experientes Baixo custo de entrada Altamente eficiente para aplicaes com destino especfico Desvantagens Os scripts e os programas devem ser especificamente documentados e mantidos Todo suporte aos metadatas deve ser concedido pelo programador No h suporte automtico para o agendamento, balanceamento de carga, controle de verso
Profiling Ascential/IBM (ProfileStage) Evoke Software (acquired by Informatica) SAS DataFlux Trillium/Harte Hanks Pervasive Data Integrator Cleansing Ascential/IBM (acquisition of Vality) First Logic (acquired by SAP Business Objects) Group 1 SAS DataFlux Search Software America Trillium (acquired Harte Hanks)
1: Data Profiling
Objetivos Conhecer a preciso de dados, contedo e relevncia da fonte Ateno com os dados que devem ser fixados antes da extrao Fornecer uma lista, mais completa possvel, com as transformaes que devem ocorrer aps a extrao dos dados Gerar essas transformaes diretamente das ferramentas de data profiling Incorporar essas transformaes no fluxo de ETL
Isolar os dados alterados para permitir o processamento seletivo, em vez de atualizao completa Capturar todas as alteraes feitas nos dados do sistema origem incluindo as interfaces no padronizadas
Inputs Arquivos de log com as transaes do sistema Auditoria nas tabelas de origem Extrato de tempo Cpia completa da tabela Database triggers
Outputs Inserts, updates, deletes Cdigo do motivo Conformidade metadata: aplicvel em um intervalo de tempo, origem
Arquitetura
Executar CDC no sistema origem ou no sistema de ETL Confie em um tipo de entrada mas vincule o total da origem com as consultas de auditoria Substituir os campos de data nulos por datas 01-010001 Para comparar uma tabela preciso a foto completa do perodo anterior
3: Extract
Objetivos
Copiar os dados da origem para o data warehouse usando biblioteca de maior rendimento possvel
descreve
SOA Architecture
Promessas tradicionais Unido fracamente Padres abertos (UDDI, WSDL, SOAP, XML) Sobering Lessons SOA fora a organizao a confrontar
Integrao e qualidade dos dados Muda o gerenciamento, medidas de qualidade, conformidade, segurana, privacidade, auditoria
40
41
Candidatos bem definidos subsistemas ETL/BI Change data capture Tela data quality com colunas e estruturas Verifica se o endereo confivel Gera Surrogate key Publicao das conformed dimensions Tratamento para alerta em tempo real Construo e manuteno das hierarquias da tabela Drill across aplicao de BI
42
3: ETL Targets
Flat Files Formato universal independente do DBMS, bom para arquivo a longo prazo Manipulao eficiente diretamente da linha de comando Notvel leitura, atualizao e acesso aleatrio no bom Agregaes usando quebra de linha bem eficiente
Objetivos Agendar e executar jobs de todos os tipos Agendamento mais vantajoso porque Controla relacionamentos e dependncias entre os jobs Mecanismo confivel para gerenciar estratgia de execuo
Microsoft SQL Server Agent (165,000 hits) IBM Tivoli (144,000 hits) BMC Control-M (41,100 hits) Oracle 10g dbms_scheduler (23,700 hits) Computer Associates Unicenter AutoSys (13,100 hits) Argent Job Scheduler (13,100 hits) Cronacle by Redwood (13,000 hits) Load Sharing Facility - LSF (Platform Computing) (10,700 hits) UC4 (6,460 hits) Opalis Integration Server (5,210 hits) CA/Cybermation ESP Espresso (1,800 hits) SAS DSx3 (575 hits) Pervasive Integration Hub (497 hits)
23: Backup
Objetivos
Copiar os dados do data staging e da partio em tempo real para local mais seguro: Arquivo histrico, Restart incremental
Quanto mais tempo um processo de ETL demorar para executar mais ciente voc deve ficar das vulnerabilidades ao fracasso Carregar no sistema origem para re-run Posio lgica necessria para retornar, ou reiniciar a partir da posio atual, por exemplo, usar a chave artificial (SK) da tabela fato Escolha uma dependncia de jobs horizontal ou vertical Horizontal executa os processos at o final independentemente Vertical significa que os processos aguardam a concluso das metas comuns, em especial, as
Modos de falha incluem Falha na rede Falha na base de dados Falha no disco
Sistema origem Data staging Data warehouse
Falha de memria Espao de tempo, espao de dados, espao de ndice Falha no data quality Atualizao do sistema sem aviso prvio
Particionar os processos
Utilize pontos de recuperao Ponto de restart lgico. Ex: data e hora ou SK da tabela fato
til para restart, backout, updating Salvar as chaves para serem substitudas no processo de atualizao
Objetivo Sistema global para gesto de qualidade dos dados Mensurar a qualidade dos dados: identificar dados que precisam ser tratados Tomar as aes corretivas apropriadas
Montar descrio temporal seriada de dados deficiente e as medidas tomadas Unir os dados tratados com os atuais para gerar relatrios diretos de qualidade
Dimenso de auditoria
PowerCenter Session
Decision Task
Objetivo Estrutura central para capturar e responder eventos de qualidade de dados Histrico dos eventos de qualidade de dados disponveis para anlise Six Sigma Quality = 3.4 defeitos por milho de oportunidades Definir os objetivos do projeto e o que ser entregue para o cliente Mensurar o processo para determinar a performance atual Analisar e determinar a causa dos defeitos Melhorar o processo eliminando os defeitos Controlar performance de futuros processos
6: Audit Dimension
Objetivos
Capturar os metadatas completos para criao e contexto de qualidade de cada registro da tabela fato Anexar esses metadados para cada tabela fato como uma dimenso Use contexto de dimenso para os relatrios de auditoria instrumentado
7: Deduplicating
Objetivos
Membros dimensionados de-duplicados dentro e atravs de tabelas de dimenso Implementar procedimento de sobrevivncia para integrar os dados de fontes mltiplas
Design:
Se a origem possui referncia duplicada ento se pode implementar dimenso multivalor com a tabela ponte
8: Conforming
Objetivos
Habilitar o drill across em ambientes com mais de uma tabela fato Aplicar domnios comuns de dados para campos designados nas tabelas dimenses conformadas
Aplicar as regras de negcio comuns para os campos designados nas tabelas fatos conformados
Uma dimenso que um subconjunto perfeito de linhas e colunas considerado conformed dimension
Product
Retail Sales
Turns
Framis
Toggle Widget
2940
13338 7566
1887
9376 5748
761
2448 2559
21
14 23
8: Conforming
Questes de arquitetura preciso definir bem o que ser entregue pelo gerente da dimenso
Apenas um subconjunto de dimenses ou dimenses completas Mapeamento das SK nas tabelas de destino Dimenses snowflake encolhidas para suportar agregados
Precisa de detalhamento lgico para atualizar dimension version numbers Precisa de ferramenta instrumentada que realize drill across para usar dimension version numbers Os membros duplicados da dimenso precisam de ponteiros para todas as chaves naturais (NK) dos registros na origem
f f
d Conformed
Conformed
Replication Engine
f f
Special contents: 1) dimension version number 2) back pointers to all source natural keys
Conjunto de fotos armazenadas com o objetivo de salvar e restaurar o contexto completo do ETL. Numerar as verses
Desenvolvimento Teste Produo Completar os testes da fase de desenvolvimento Scripts de testes automticos de regresso para desenvolvimento e teste Testes do sistema completos na fase de teste Simulado com volume de dados reais na fase de teste Migrao para prxima fase inclui transferncia automtica completa do contexto de ETL incluindo todas as conexes e perfis de usurios Migrao para fase de produo inclui Documentao de migrao Cenrio de rollback: re-extrair os dados
Objetivos Monitorar status do job incluindo aqueles que ainda esto pendente, executando, completo ou suspenso nos registros histricos
Mensurar performance da infraestrutura incluindo CPU, memria, disco, banco de dados e utilizao do servidor
Notificao de dados atrasados Linhas carregadas com sucesso Linhas rejeitadas Tempo decorrido Linhas processadas por segundo Tempo estimado de concluso Utilizao da memria
Processador, banco de dados, memria, disputa do disco Rotina de uso de tabelas, ndices, agregados
Lower level discrete row counts per partition (flow always runs in parallel)
Desligue o log de rollback! Separe inserts de atualizaes a menos que usando "Upsert Carregar em paralelo Construir os agregados fora da base de dados Particionar a tabela fato na FK de data que os usurios mais usam
A carga deve ser feita na seguinte ordem: Subdimenses Dimenses Tabelas ponte (bridge tables) Tabelas fato Dimenses agregadas (contradas)
Objetivos
Lineage: comeando com um elemento de dados especficos em uma tabela intermediria ou um relatrio de um usurio final, identificar a origem dos dados, as tabelas intermedirias que contm aqueles dados e a origem deles, e todas as transformaes que o elemento de dados e a origem foram submetidas
Dependncia: comeando com um elemento de dados especficos em uma tabela de origem ou uma tabela intermediria, identificar todas as tabelas intermedirias e relatrio de usurio final que contm esse elemento de dado ou derivado dele e todas as transformaes aplicadas no elemento de dado e suas derivaes
Oracle table
BO table
This is selected
Objetivo Capturar, priorizar, gerenciar e comunicar todo desenvolvimento, manuteno e problemas operacionais Resposta garantida
Nveis de escalonamento Help desk Administrador do sistema ou DBA Gerente de ETL
Extenso fsica separada de tabela fato existente, contendo apenas as atividades novas desde a ltima carga das tabelas estticas Na memria, sem ndices, sem agregaes
86
Alterar captura de dados (Change data capture) Notificao do efeito colateral da aplicao Escutar as transaes de entrada Pegar frequentemente os campos atualizados na base de dados Pegar frequentemente os log de transao
Gerenciando a dimenso (usando como exemplo o cliente) Ligar a identificao do cliente em tempo real com lista j existente Publicar lista temporria de novos clientes para a partio real time Tipo 1 atualiza a lista temporria mltiplas vezes ao dia Atualizao permanente da lista esttica de clientes na base batch Provedor da tabela fato (usando como exemplo o carregamento) Dividir as linhas de transferncia em tempo real em parties RT Responder s atualizaes das dimenses intra-day da DM Atualizar permanentemente a tabela de fatos estticos na base batch
Adicionar diariamente, na memria hot partition para cada tipo de tabela fato. A partio: contm todas as atividades desde a ltima atualizao do data warehouse esttico. Tabelas estticas so atualizadas uma vez a cada 24 horas. Conectar o mais prximo possvel ao gro da tabela fato esttica No indexado, assim dados novos de entrada podem entrar continuamente Suporta consultas altamente responsivas Tem backup no log de arquivo de disco caso tenha perdido a memria
89
Estrutura dimensional idntica como as tabelas fatos estticas Sem ndices (!), sem agregaes, tudo na memria Exemplo 10 milhes transaes/dia
Ferramenta de BI pesquisa periodicamente a base de dados com consultas idnticas se estiver usando tabelas estticas e hot tables, juntando-as. No h necessidade de consulta separada se a hot partition for uma partio real.
Registros necessrios de dimenso esttica so selecionados de entradas conhecidas as chaves naturais a medida que as transaes chegam, construindo um subconjunto de dimenso mnima na memria
Entradas vazias de dimenso genrica so criadas para as transaes com chaves naturais (NK) de entrada desconhecidas cujo significado est atrasado As dimenses genricas vazias so parcialmente preenchidas posteriormente com valores dimensionais atrasados
Copiar as fotografias de todas as contas na hot partition no incio do perodo, mas teremos novas contas
Em um banco com 20 milhes de contas, com 5 dimenses + 10 fatos: 60 B x 20 milhes = 1.2 GB na hot partition
Batch extract (todas as noites) Usar a partio quente para atualizar o lote se os dados no estiverem corrompidos Acrescentar os registros da fato nas tabelas fatos estticas Inserir/Atualizar os registros alterados da dimenso tabela de dimenso esttica Zerar a hot partition Ou, batch extract do sistema origem Use o arquivo original do sistema fonte se o arquivo possuir melhores regras de negcio Neste caso, o ETL convencional carrega a cada 24 horas
Direcionar OLTP para acabar com a planilha do usurio ! Transformaes e integraes apenas no software Pros: Por definio zero de latncia/atraso Contra: sistemas OLTP manipulam toda a carga de consulta Considerar necessidade de novos ndices e agregaes Considerar as questes de OLTP a medida que afeta as ferramentas de consultas Contra: No h dados de teste Contra: Transformaes limitadas Contra: O histrico limitado ao que o OLTP fornece