Dwing
ETL e Metadados
PUC-Rio TecBD/DI
Prof. Rubens Melo
Implementação de DW
• Requer:
• Monitoração: dos dados que vem das fontes • Integração: Limpeza de dados, Carga, ... • Gerência: Metadado, Projeto, ...
Monitoração
• Tipos de Fontes: tabelas, arquivos, IMS, VSAM, IDMS, WWW, IBGE, REUTERS, …
• Carga Incremental vs. Refresh (tudo)
customer id n a m e address city
53 joe 10 main sfo 81 fred 12 main sfo
1 1 1 sally 80 willow la new
Técnicas de Monitoração
• Snapshots periódicos • Database triggers • Log shipping
• Data shipping (replication service) • Transaction shipping
• Polling (queries nas fontes)
• Recortes de telas Vantagens
&
Desvantagens
Questões na Monitoração
• Frequência
– periódica: diária, semanal, …
– triggered: qdo ocorre “big” mudança, muitas mudanças, ...
• Transformação de Dados
– convert dados ( formato uniforme)
– remove & add campos(ex., add date => history)
• Padrões (ex., ODBC)
• Gateways
Questões na Integração
• Limpeza de Dados • Carga de Dados
• Dados Derivados Client Client
DW
Source Source Source Query & Analysis
integração Metadado
Limpeza de Dados
• Migração (ex., yen ð dollars)
• Scrubbing: uso de domain-specific knowledge (ex., números de CPFs)
• Fusão (ex., lista de correio, casar dados clientes)
• Auditing: descobrir regras & relacionamentos (como data mining) billing DB service DB customer1(Joe) customer2(Joe) merged_customer(Joe)
Carga de Dados
• Incremental vs. Refresh • Off-line vs. on-line • Frequência de carga– A noite, 1x p/sem/mês, continuamente
Dados Derivados
• Dados Derivados no DW
– indices – Agregados
– Views materializadas
• Qdo atualizar dados derivados? • Incremental vs. Refresh...
Views Materializadas
• Define nova tabela no DW usando SQL
sale prodId storeId date amt
p1 c 1 1 12 p2 c 1 1 11 p1 c 3 1 50 p2 c 2 1 8 p1 c 1 2 44 p1 c 2 2 4 product id n a m e price p1 bolt 10 p2 nut 5
joinTb prodId name price storeId date amt
p1 bolt 10 c1 1 12 p2 nut 5 c1 1 11 p1 bolt 10 c3 1 50 p2 nut 5 c2 1 8 p1 bolt 10 c1 2 44 p1 bolt 10 c2 2 4 Esta tabela não veio de fonte
l
Leitura de dados de fontes variadasl
Qualidade de dados é crítical
Precisamos de cargas eficientes,flexíveis
l
Cargas noturnas (limites)Carga de DW
Conversão de Dados Integridade Referencial Criação de Índice Atualização BDProcessamento de Carga
campo1 campo2 campo3 campo1 campo2 campo3 campo1 campo2 campo3 campo1 campo2 campo3 campo1 campo2 campo3 campo1 campo2 campo3 Input file
Carga otimizada,
Processamento de Carga
campo1 campo2 campo3campo1 campo2 campo3 campo1 campo2 campo3 campo1 campo2 campo3 campo1 campo2 campo3 campo1 campo2 campo3
Input file
Agregador
StoreID Total_vendas
Resumo de Vendas da Corporação
Semana StoreID Total_vendas
Resumo de Vendas Semanal
Data Categoria Vendas
Resumo por Categoria
Data StoreID Categoria Item UPC Unidades Preço Promoção Tempo
Detalhamento
l As “janelas” da operação já não dão para carregar os dados de DW
l Volumes de dados operacionais crescem
l Medidas em gigabytes por hora...
l Limite ? 70-100 Gb / noite
l DW > 100 GB estão tornando-se comuns
l 52% dos DWs passarão de 20GB para terabytes nos próximos anos (META Group 97)
lNível de detalhe requerido pelo negócio determina volumes de dados armazenados
Armazenamento de Dados no DW
52%
20 GB ou maior
l São necessárias novas formas de gerência de BD para os grandes volumes de dados dos DWs de hoje (DWA)
l“Resiliência” de BD é chave para gerência
l Grande número de usuários => precisa de baixo custo de administração
l Grandes BDs tendem a ter mais falhas de hardware... (Segmentar?)
Segmentação Dimensional
Vendas de equipamentos de basktball no mês atual e nos
últimos 6 meses Setembro Outubro Novembro Dezembro Janeiro Fevereiro Março Por mês.. Vendas em 1994 de equipamentos esportivos Bola Raquete Rede Por produto..
O que Materializar?
• Gravar no DW resultados úteis p/ queries comuns • Exemplo: day 2 p1 c144 c24 c3 p2 c1 c2 c3 p1 12 50 p2 11 8 day 1 c1 c2 c3 p1 56 4 50 p2 11 8 c1 c2 c3 p1 67 12 50 c1 p1 110 p2 19 129 . . . total sales materializar
Fatores p/ Materialização
• Tipo/frequência de queries • Tempo de resposta de Queries • Custo de armazenamento • Custo de atualização
Gerência de DW
• Gerência dos Metadados • Gerência do Projeto de DW • Gerência das Tools
Client Client
Warehouse
Source Source Source Query & Analysis
integração Metadado
Extração e Transformação
l Leitura com um SGBD operacional
(como o IMS)
l Gravação por meio de um SGBD de DW
(com SQL estendida p/ DW)
A extração de dados do
ambiente operacional para o
ambiente DW requer uma
mudança de tecnologia !
Complexidade
Extração e Transformação
À medida que os dados vão sendoextraídos e transformados, vão sendo carregados no DW (e gerando metadados)
DW
...
Extração e Transformação Complexidadel Extração primária
(leitura dos arquivos operacionais)
l Identificação dos registros alterados l Generalização de chaves das dimensões l Transformação em registros para carga
l Migração dos dados do ambiente operacional
para o ambiente de DW
11 Passos na Extração/Transformação
l Ordenação e construção dos agregados l Generalização de chaves para os
agregados
l Carga
l Processamento de exceções l Garantia de qualidade
l Documentação e publicação
l
São os dados dos dadosl
Metadados: técnicos e semânticosl
Usuários podem examinar orepositório de metadados para a
seleção de subconjuntos apropriados de dados, em suas consultas ou
validações do significado de dados em seus relatórios
Metadados
l Uma ferramenta de consulta automaticamente lê o catálogo de um BD( metadados) , acessa os dados desejados e apresenta aos usuários informação sobre negócios
l Usuário faz “drill down” em resumos de dados em um BD (usa metadados) para detalhar dados em uma certa analise
l Uma ferramenta de extração / transformação automaticamente usa os metadados na tarefa de mapeamento dos dados “legacy”para a carga de DW
Metadados
Contém (pelo menos):
l
A estrutura do dadosl
Os algoritmos usados paraos resumos e derivação de dados
l
O mapeamento do ambienteoperacional para o DW
É usado como:
l
Um diretório para ajudar o analista de OLAP a localizar o conteúdo do DWl
Um guia para o mapeamento de dados, do ambiente operacional para o ambiente warehousel
Um guia para os algoritmos usados no processo de agregação e resumos de dados• Administrativo
– definição de fontes, tools, ...
– schemas, Hierarquias de Dimensão, … – regras p/ extração, limpeza, …
– políticas de refresh, purging
– perfis de usuários, access control, ...
Metadados
• De Negócio
– termos & definições do negócio – posse do dado, cobranças
• Operational
– origem do dado
– status do dado (ex., activa, arquivado, “purged”)
– uso de estatist., relat de erro, audit trails..
Resumo: Questões do Projeto
• Que dados são necessários? • De onde vêm (orígem, fontes)? • Como “limpá-los”?
• Como representá-los em DW (schema)? • O Que summarizar?
• O Que materializar? • O Que indexar?
Ferramentas de DW
• de Desenvolvimento
– design & edit: schemas, views, scripts, rules, queries, reports
• de Planejamento & Análise
– Cenários what-if (mudança de schema, períodos de refresh), capacity plan
• de Gerência de DW
– monitoração de performance, padrões de uso, relat de exceção
• de Gerência de Sistem & Network
– mede trafego (fontes, DW, clientes)
• de Gerência de Workflow
Situação doMercado
• Extração e integração feitas off-line
– em grandes e lentos progs em batch
• Tudo vai p/o DW
– Não é seletivo sobre o q deve ir ao DW
– Benefício de Query vs custo de storage & update
• Query optimization ainda de OLTP
– => alto throughput em vez de rapidez – pois processa toda a query antes de mostrar
alguma coisa...
Os fornecedores que
oferecem “DW solutions”,
em geral, também oferecem ou tem parcerias para uso de produtos como:
– ETI: Unix - gera C, Cobol, etc. - extrai de
DB2, Oracle, IMS, Cobol etc..
– ( Prism ): Gera Cobol - para os sistemas
comuns (Oracle, Sybase,DB2, etc)
– Passport e outros mais.
Extratores de Dados
Produtos
Extratores
Ferramentas
Hummingbird-Genio ETI Sagent Informatica IBM (Informix) (Red Brick ) Microsoft Oracle Sybase (Tandem) Teradata ... Brio Business Object Cognos MicroStrategy INF Advantage ...l
Os DWs estão crescendo demaisuTerabytes ! VLDB !
l
“O meu DW é maior do que o seu”l
Se é de graça, os usuários queremtodas as informações
l
2 anos ? 5 anos ?Diária ? Mensal ?
l
Falta de metodologia para extração de dados --> VLDW Exemplo Código “M” “Masculino” Código 0315 “Vacinação” etcà
na extração aumenta o DWSobre o Tamanho dos DWs
l
Replicação em DMsl
Precisamos de pesquisas paraabordar esse problema porque
VLDW
Sobre o Tamanho dos DWs
baixo desempenho alto custo
maior risco de não disponibilidade usuários menos felizes