DATA WAREHOUSE ETL Kimball University 2008
As Metas Aprender arquitetura do ETL Decompor o problema em partes manejáveis Aplicar técnicas que podem ser usadas novamente Investigação dos detalhes sem perder perspectiva! Desenvolver julgamento para evitar retrabalho ou deixar de fora capacidades importantes
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 exceção, backup, recovery e restart Tratando os dados: subsistemas 4-7, 28 Conformidade, resolvendo os desafios da integração: subsistema 8 Subsistemas 25-27, 29-30 controle de versão, migração de sistema e teste Arquitetura de ETL em tempo real
O que você deve saber Tabela fato Tabela dimensão De que forma o modelo estrela difere do modelo normalizado Surrogate keys chaves artificiais Natural keys chaves naturais SCDs (slowly changing dimensions) - Dimensões que mudam lentamente Os três tipos de tabelas fatos Tabela ponte ou dimensões com multi-valores Aggregados (ou view)
O desafio do ETL Custo eficaz Confiável Extensível Compatível Observável Seguro Sistema manejável para trazer os dados para o data warehouse e deixá-lo pronto para consulta do usuário final.
Todos entendem E, T, L E: Obter os dados da origem para o data warehouse T: Transformar e deixar pronto para o data warehouse L: Carregar os dados nas tabelas do data warehouse
Como faz para dividir em três passos? Depende da Origem Quais ferramentas estão disponíveis As habilidades dos envolvidos no trabalho A ferramenta de consulta e relatório
É hora de mais disciplina e estrutura no back room Familiarizar com os nomes e as tarefas do cliente Identificar as tarefas que você não pode deixar de fora Agrupá-los em quatro categorias (E, T, L e M) E: Obter os dados para o DW T: Tratamento e conformidade L: Preparar para apresentação M: Gerenciar todos os processos
E: Obter os dados para o DW First: Get the Data Into the DW Preparar para iniciar prepare to start Comprehensive Requirements Logical Data Map Data Profiling (1) Conhecer os dados judge data Change Data Capture (2) Extract (3) Isolar as alterações isolate changes Carregar no DW get into DW Result: Extracted Tables incl Format Conversions
T: Tratar e conformar Second : Clean and Conform Tratamento nos dados cleaning machinery Cleansing Sys & Data Quality Screens (4) Controle de limpeza cleaning control d d f d Error Event Schema (5) w. Audit Dimension (6) d Integração integration Deduplicating (7) and Conforming System (8) Result: Cleaned Tables and Conformed Dimensions
L: Preparar para Apresentação Third: Prepare for Delivery time variance Variação de tempo keys Chaves hierarchies Hierarquias bridges Tabelas pontes SCD Manager (9) Surrogate Key Generator (10), Pipeline (14) Hierarchy Table Manager (11): Fixed, Variable, Ragged Special Dimensions (12), Multi-Valued Dimensions (15) Fact Table Types (13): Late Arriving Data (16) Dimension Manager (17), Fact Provider (18) Agg Tables (19), OLAP Cubes (20), DI Manager (21) Result: Fact & Dim Tables Ready for Delivery fact types & late data Tipos tabelas fato e dados atrasados admin Administrador aggregates, cubes, & data integration Agregados, cubo e integração dos dados
M: Controlar todos os processos Controlar control Proteger protect Controlar control Métrica measure Velocidade speed Job Scheduler (22) Backup (23) Workflow Monitor (27) Fourth: Manage Problem Escalation (30) Recovery/Restart (24) Pipeline/Parallelize (31) Version Control (25) & Migration (26) Sorting (28) Lineage & Dependency (29) Security (32) Compliance (33) Metadata Repository (34) Origem source Responder respond Velocidade speed Guardar guard Conformidade comply Gerenciar manage
E (talvez) R: Adaptar para Real Time Fifth: Adapt to Real Time streaming d f d real-time ETL system d d convert existing systems converter sistemas existentes
Os termos back room e front room análogo a um restaurante Cozinha ( back room ) Os ingredientes precisam ser selecionados e aprovados Preparar os alimentos Itens separados são 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 responsável pela qualidade do que foi entregue
Os termos back room e front room no DW Sistema ETL ( back room ) Extração Limpeza Conformidade Entrega (o modelo com os dados) Ambiente usuários finais ( front room ) Apresentar o que é importante (do DW) Investigar as causas (usando o DW) Testar que se (usando o DW) Acompanhar as decisões tomadas (de volta para o DW! )
Necessidades do negócio Comece identificando os assuntos das áreas de decisão Conduzir as reuniões com usuários Identificar os indicadores de performance esperado (KPIs) Expandir as aplicações analíticas (AAs): Consultas e relatórios Isolar e enfatizar a importância de encontrar as chaves Identificar as causas e conseqüências Acompanhar as decisões tomadas atualmente Inferir os dados a partir dos indicadores e aplicações analíticas
Indicadores de performance Operação de manufatura Variação dos custos padrões vs. localização Operações de venda Tempo do ciclo de venda vs. equipe de venda Call Center Tempo de resolução das questões vs. treinamento dos empregados Web Site Quantidade de passos para completar uma compra Recursos humanos % de progresso para qualificar para o próximo nível profissional
Análise de comportamento 18 Antecipar-se para as necessidades do usuário Ligar a pesquisa instantânea do cliente com visita, aspecto demográfico, histórico de compras. Ex: site da Amazon. Acompanhar as promoções personalizadas e as ligações de siga-me Duração das visita e quanto tempo o cliente demorou para retornar Sucesso de vendas associadas Tempo de latência: quanto tempo demorou para vender o produto após a sua primeira exposição Uso de inventário online, mostra resposta de produto esgotado/ fora de estoque Reação a apresentação da mercadoria
Novas fontes de dados Email/SMS Call center Blogs Redes sociais: Facebook, Twitter Ofertas na web e no celular Rastrear os registros RFID Cestas inteligentes Ex: Pagamento de pedágio Integração rápida de diversas fontes, mudando constantemente! 19
Compliance Identificar normas legais e financeiras específicas e de cumprimento imediato Determinar os requisitos específicos para o cumprimento destas normas Para ser seguro: Prove que o resultado final é derivado do sistema origem Prove que os dados originais não foram modificados Documentar as transformações usadas
Uso de Data Profiling Estratégia: decidir, o mais cedo possível, se a fonte de dados suporta a missão básica Descobrir mais tarde pode ser fatal para você e para o projeto Tática: identificar falhas nos dados Expor para o usuário a expectativa real se os dados não estiverem perfeitos
Segurança Dados do perfil de armazenamento de dados por níveis de sensibilidade Chegar a um acordo com os usuários finais e executivos Inclusão de dados sensíveis Uso de perfis para acesso aos dados Responsabilidade para administrar os perfis e permitir acesso à telas de usuários finais Configurar redes e comunicações Monitorar os usuários internos e as ações do administrador Proteger a mídia física incluindo backup
Integração dos dados Comprometimento seguro para apoiar o processo de modelagem dimensional para construir dimensões e fatos conformados. Preparar as expectativas do usuário final
Latência dos dados Como parte do data profiling, descrever a validade dos dados novos e atualizar os processos que podem ocorrer Quantificar, se possível, o valor de dados acessíveis mais rápido que o ETL atual pode entregar Identificar a origem e a tela do usuário final que deve ser baseada no fluxo de dados Identificar as fontes que dão origem aos late arriving dimensions
Archiving, Lineage, Impact Estabelecer uma política para longo período de armazenamento e recuperação de dados
Interface do usuário final Conduzir os direitos no perfil do usuário Determinar as pastas visíveis ao usuário conforme a sua classe ou grupo
Habilidades disponíveis de TI e licenças Levantamento das competências da equipe e das habilidades disponíveis no mercado: Plataforma do sistema operacional DBMS Conjunto de ferramentas de ETL Linguagem de script e utilidades Experiência com data warehouse, em especial com modelagem dimensional Licenças legais que você precisa conviver: DBMS, ERP, ETL
Ferramentas de ETL Pros e Contra Pros Gráficos, parâmetros baseados em programação Transparência e lógica de alto nível Documentação automática Suporte extensivo automático de metadados Biblioteca de conexões Balanceamento de carga automático, paralelização Controle automático da versão e origem Habilidades do mercado e cursos lecionado pelos fabricantes. Contras Custo elevado Curva de aprendizado significativa
Transformações típicas fornecidas pelas ferramentas de ETL Agregados Expressões gerais Filtros Joins Lookups Normalizadores Gerador de seqüência Stored procedures Entrada e saída formato XML Facilidade para escrever a sua própria transformação
Posição 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
Hand Coding Pros e Contras Vantagens Rápida implementação por desenvolvedores experientes Baixo custo de entrada Altamente eficiente para aplicações com destino específico Desvantagens Os scripts e os programas devem ser especificamente documentados e mantidos Todo suporte aos metadatas deve ser concedido pelo programador Não há suporte automático para o agendamento, balanceamento de carga, controle de versão
Ferramentas Data Profiling e Data Cleansing Vendors 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)
PARTE I: EXTRACT, CLEAN, AND CONFORM Kimball University 2008
1: Data Profiling Objetivos Conhecer a precisão de dados, conteúdo e relevância da fonte Atenção com os dados que devem ser fixados antes da extração Fornecer uma lista, mais completa possível, com as transformações que devem ocorrer após a extração dos dados Gerar essas transformações diretamente das ferramentas de data profiling Incorporar essas transformações no fluxo de ETL
2: Change Data Capture Isolar os dados alterados para permitir o processamento seletivo, em vez de atualização completa Capturar todas as alterações feitas nos dados do sistema origem incluindo as interfaces não padronizadas Capturar edições, inserções e deleções no sistema origem Marcar os dados alterados com código de motivo Apoiar o acompanhamento de conformidade com metadata adicionais Realizar a captura de dados de alteração o mais cedo possível
2: Change Data Capture Inputs Arquivos de log com as transações do sistema Auditoria nas tabelas de origem Extrato de tempo Cópia completa da tabela Database triggers Outputs Inserts, updates, deletes Código do motivo Conformidade metadata: aplicável em um intervalo de tempo, origem
2: Change Data Capture 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-01- 0001 Para comparar uma tabela é preciso a foto completa do período anterior Livro pp. 106-111, 186-187
3: Extract Objetivos Copiar os dados da origem para o data warehouse usando biblioteca de maior rendimento possível Puxar, empurrar, ou stream de dados dirigidos pelo agendamento de job e alertas Verificar se o formato do campo é compatível com data warehouse e quando necessário converter para formatos suportados pelo data warehouse Carregar o modelo dimensional, esquemas normalizados e flat files Fase de extração dos dados temporários
3. UDDI, WSDL, and SOAP Allow Orgs to Implement SOA Architecture é acessado usando capacita obriga para descreve permite comunicação entre
SOA Architecture Promessas tradicionais Unido fracamente Padrões abertos (UDDI, WSDL, SOAP, XML) Sobering Lessons SOA força a organização a confrontar Integração e qualidade dos dados Exige governança sofisticada Muda o gerenciamento, medidas de qualidade, conformidade, segurança, privacidade, auditoria 40
Building SOA Services for the EDW Visualizar a granularidade grosseiramente : Create customer Criar o cliente Read customer descriptors Ler a descrição do cliente Update customer descriptors Atualizar a descrição do cliente Delete customer Deletar o cliente Iniciar modestamente: Implementar os serviços em torno do ETL e subsistemas de BI. Fracamente acoplados Estritamente definidos, enfatizando o desempenho e escalabilidade Sujeito a governança desde o início 41
Low Hanging SOA Fruit Candidatos bem definidos subsistemas ETL/BI Change data capture Tela data quality com colunas e estruturas Verifica se o endereço é confiável Gera Surrogate key Publicação das conformed dimensions Tratamento para alerta em tempo real Construção e manutenção das hierarquias da tabela Drill across aplicação de BI 42
3: ETL Targets Flat Files Formato universal independente do DBMS, bom para arquivo a longo prazo Manipulação eficiente diretamente da linha de comando Notável leitura, atualização e acesso aleatório não é bom Agregações usando quebra de linha bem eficiente
22: Job Scheduler Objetivos Agendar e executar jobs de todos os tipos Agendamento é mais vantajoso porque Controla relacionamentos e dependências entre os jobs Mecanismo confiável para gerenciar estratégia de execução
Example Modern Job Schedulers 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 partição em tempo real para local mais seguro: Arquivo histórico, Restart incremental Operação automatizada Minimizar exposição de perda de dados
24: Vulnerabilities of Long- Running ETL processes 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 Posição lógica necessária para retornar, ou reiniciar a partir da posição atual, por exemplo, usar a chave artificial (SK) da tabela fato Escolha uma dependência de jobs horizontal ou vertical Horizontal executa os processos até o final independentemente Vertical significa que os processos aguardam a conclusão das metas comuns, em especial, as
24: Minimizing the Risk of Load Failures Modos de falha incluem Falha na rede Falha na base de dados Falha no disco Sistema origem Data staging Data warehouse Falha de memória Espaço de tempo, espaço de dados, espaço de índice Falha no data quality Atualização do sistema sem aviso prévio
24: Minimizing the Impact of Failure Particionar os processos Utilize pontos de recuperação Ponto de restart lógico. Ex: data e hora ou SK da tabela fato Útil para restart, backout, updating Salvar as chaves para serem substituídas no processo de atualização Mantenha os metadados (Ex: os últimos registros carregados)
4: Data Cleansing System Objetivo Sistema global para gestão de qualidade dos dados Mensurar a qualidade dos dados: identificar dados que precisam ser tratados Tomar as ações corretivas apropriadas Interfaces para a intervenção de dados defeituosos Montar descrição temporal seriada de dados deficiente e as medidas tomadas Unir os dados tratados com os atuais para gerar relatórios diretos de qualidade Dimensão de auditoria
4: Data Cleansing System Entrada Dados sem tratamento Dependência lógica para agendamento de job Saída Dados tratados Ações tomadas Registro das ações tomadas e todos os eventos de qualidade de dados
4: Quality Screen Process Flow
4: Oracle Process Flow Tool
4: Informatica PowerCenter Workflow Manager Email Task External Process PowerCenter Session Decision Task
5: Error Event Schema Objetivo Estrutura central para capturar e responder à eventos de qualidade de dados Histórico dos eventos de qualidade de dados disponíveis para análise Six Sigma Quality = 3.4 defeitos por milhão 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
5: Error Event Schema
6: Audit Dimension Objetivos Capturar os metadatas completos para criação e contexto de qualidade de cada registro da tabela fato Anexar esses metadados para cada tabela fato como uma dimensão Use contexto de dimensão para os relatórios de auditoria instrumentado
6: Attaching an Audit Dimension
6: Instrumenting a Report With an Audit Dimension
28: Sort Data Immediately After Extract A maioria dos processos de ETL precisam de dados classificados Escolher o tipo de recursos mais eficiente Combinar extração, conversão de formato e classificação em um passo. A sabedoria convencional diz que os pacotes dedicados são mais rápidos, no entanto, vendedores de ETL e DBMS afirmam já estarem se recuperando...
7: Deduplicating Objetivos Membros dimensionados de-duplicados dentro e através de tabelas de dimensão Implementar procedimento de sobrevivência para integrar os dados de fontes múltiplas
7: Microsoft: Fuzzy Grouping Module for Deduplicating
7: Microsoft: Fuzzy Grouping Detailed Results
7: Oracle Match-Merge Wizard
7. Oracle: Expanded Match-Merge Operator in Map
7: Survivorship Drive Tables
7. Multiple Sources and Duplicated Customers Design: Se a origem possui referência duplicada então se pode implementar dimensão multivalor com a tabela ponte
8: Conforming Objetivos Habilitar o drill across em ambientes com mais de uma tabela fato Aplicar domínios comuns de dados para campos designados nas tabelas dimensões conformadas Aplicar as regras de negócio comuns para os campos designados nas tabelas fatos conformados
Key Concept: Conformed Dimensions Uma dimensão que é um subconjunto perfeito de linhas e colunas é considerado conformed dimension O conteúdo das colunas comuns devem ser equivalentes (mesmo domínio)
Drilling Across Means Combining Row Headers Abrir uma conexão separada para cada origem Reunir cada conjunto de resposta Fazer o merge do conjunto de resposta nos cabeçalhos de colunas conformed Product Manufacturing Shipments Warehouse Inventory Retail Sales Turns Framis 2940 1887 761 21 Toggle 13338 9376 2448 14 Widget 7566 5748 2559 23
8: Conforming Questões de arquitetura É preciso definir bem o que será entregue pelo gerente da dimensão Apenas um subconjunto de dimensões ou dimensões completas Mapeamento das SK nas tabelas de destino Dimensões snowflake encolhidas para suportar agregados Precisa de detalhamento lógico para atualizar dimension version numbers Precisa de ferramenta instrumentada que realize drill across para usar dimension version numbers Os membros duplicados da dimensão precisam de ponteiros para todas as chaves naturais (NK) dos registros na origem Livro pp. 148-159, 447, 449
7, 8: Deliver Cleaned, Deduplicated, Conformed, and Survived Dimensions Extracted using adapter Cleaned and locally Deduplicated Conformed d d f d d Source 1 d d f d d Source 2 Extracted using adapter Cleaned and locally Deduplicated Conformed Merged, Survived and Globally Deduped Replication Engine Conformed Dimension ready for Delivery d d f d d Source 3 Extracted using adapter Cleaned and locally Deduplicated Conformed Special contents: 1) dimension version number 2) back pointers to all source natural keys d d f d d
25: Version Control Objetivos do controle de versão versionamento Conjunto de fotos armazenadas com o objetivo de salvar e restaurar o contexto completo do ETL. Numerar as versões Alternativas Microsoft Visual Source Safe Livro pp. 353-368, 413-416
26: Version Migration Desenvolvimento Teste Produção Completar os testes da fase de desenvolvimento Scripts de testes automáticos de regressão para desenvolvimento e teste Testes do sistema completos na fase de teste Simulado com volume de dados reais na fase de teste Migração para próxima fase inclui transferência automática completa do contexto de ETL incluindo todas as conexões e perfis de usuários Migração para fase de produção inclui Documentação de migração Cenário de rollback: re-extrair os dados
27: Workflow Monitor Objetivos Monitorar status do job incluindo aqueles que ainda estão pendente, executando, completo ou suspenso nos registros históricos Mensurar performance da infraestrutura incluindo CPU, memória, disco, banco de dados e utilização do servidor Livro pp. 332-339
27: Monitor Process Metadata Notificação de dados atrasados Linhas carregadas com sucesso Linhas rejeitadas Tempo decorrido Linhas processadas por segundo Tempo estimado de conclusão Utilização da memória Memória compartilhada Tamanhos do buffer Processador, banco de dados, memória, disputa do disco Rotina de uso de tabelas, índices, agregados
27: Ascential Example of ETL Job Monitoring Higher level run results Lower level discrete row counts per partition (flow always runs in parallel)
22: Loading the Data Desligue o log de rollback! Separe inserts de atualizações 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 usuários mais usam
22: The Order of Things A carga deve ser feita na seguinte ordem: Subdimensões Dimensões Tabelas ponte (bridge tables) Tabelas fato Dimensões agregadas (contraídas) Tabelas fato agregada
29: Lineage and Dependency Objetivos Lineage: começando com um elemento de dados específicos em uma tabela intermediária ou um relatório de um usuário final, identificar a origem dos dados, as tabelas intermediárias que contém aqueles dados e a origem deles, e todas as transformações que o elemento de dados e a origem foram submetidas Dependência: começando com um elemento de dados específicos em uma tabela de origem ou uma tabela intermediária, identificar todas as tabelas intermediárias e relatório de usuário final que contém esse elemento de dado ou derivado dele e todas as transformações aplicadas no elemento de dado e suas derivações
29: Informatica Lineage Analysis Oracle table BO table This is selected
29: Oracle: Impact Map
29: Oracle Worst Case Scenario Impact Diagram
30: Problem Escalation Objetivo Capturar, priorizar, gerenciar e comunicar todo desenvolvimento, manutenção e problemas operacionais Resposta garantida Níveis de escalonamento Help desk Administrador do sistema ou DBA Gerente de ETL Suporte ao desenvolvedor ou fornecedor responsável
Defining Real-Time ETL Tudo que é muito rápido para o seu ETL atual Alterar de batch ETL para streaming ETL Geração 1 Armazenamento de dados operacionais Sistemas fisicamente separados entre OLTP e DW Geração 2 Partição de tempo real Extensão física separada de tabela fato existente, contendo apenas as atividades novas desde a última carga das tabelas estáticas Na memória, sem índices, sem agregações
86 Real Time Operational Architecture
Real Time Data Extract & Transform Alterar captura de dados (Change data capture) Notificação do efeito colateral da aplicação Escutar as transações de entrada Pegar frequentemente os campos atualizados na base de dados Pegar frequentemente os log de transação Extração Microbatch envia e recebe arquivos do staging file Transformação Estrutura e transformação limitada pela latência Regras de negócio devem ser limitadas ou inviáveis Os dados do real time podem ser substituídos por processos batch periódicos
Real Time Integration Gerenciando a dimensão (usando como exemplo o cliente) Ligar a identificação do cliente em tempo real com lista já existente Publicar lista temporária de novos clientes para a partição real time Tipo 1 atualiza a lista temporária múltiplas vezes ao dia Atualização permanente da lista estática de clientes na base batch Provedor da tabela fato (usando como exemplo o carregamento) Dividir as linhas de transferência em tempo real em partições RT Responder às atualizações das dimensões intra-day da DM Atualizar permanentemente a tabela de fatos estáticos na base batch
Real Time Data Presentation Adicionar diariamente, na memória hot partition para cada tipo de tabela fato. A partição: contém todas as atividades desde a última atualização do data warehouse estático. Tabelas estáticas são atualizadas uma vez a cada 24 horas. Conectar o mais próximo possível ao grão da tabela fato estática Não é 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 memória 89
Transaction Grain Hot Partition Estrutura dimensional idêntica como as tabelas fatos estáticas Sem índices (!), sem agregações, tudo na memória Exemplo 10 milhões transações/dia 12 dimensões, 8 fatos = 80B 800 MB/dia Ferramenta de BI pesquisa periodicamente a base de dados com consultas idênticas se estiver usando tabelas estáticas e hot tables, juntando-as. Não há necessidade de consulta separada se a hot partition for uma partição real.
Transaction Grain Dimensions Registros necessários de dimensão estática são selecionados de entradas conhecidas as chaves naturais a medida que as transações chegam, construindo um subconjunto de dimensão mínima na memória Entradas vazias de dimensão genérica são criadas para as transações com chaves naturais (NK) de entrada desconhecidas cujo significado está atrasado As dimensões genéricas vazias são parcialmente preenchidas posteriormente com valores dimensionais atrasados
Periodic Snapshot Hot Partition Hot partition é o período evolutivo atual, atualizados continuamente até o final do período Fatos são substituídos continuamente Copiar as fotografias de todas as contas na hot partition no início do período, mas teremos novas contas Em um banco com 20 milhões de contas, com 5 dimensões + 10 fatos: 60 B x 20 milhões = 1.2 GB na hot partition
Hot Partition = ODS-Like Source Batch extract (todas as noites) Usar a partição quente para atualizar o lote se os dados não estiverem corrompidos Acrescentar os registros da fato nas tabelas fatos estáticas Inserir/Atualizar os registros alterados da dimensão à tabela de dimensão estática Zerar a hot partition Ou, batch extract do sistema origem Use o arquivo original do sistema fonte se o arquivo possuir melhores regras de negócio Neste caso, o ETL convencional carrega a cada 24 horas
Micro Batch ETL
Real Time Data Delivery Requires Hub-and-Spoke
Implement Real Time DW in EAI Environment
Zero Latency Enterprise Information Integration (EII) Direcionar OLTP para acabar com a planilha do usuário! Transformações e integrações apenas no software Pros: Por definição zero de latência/ atraso Contra: sistemas OLTP manipulam toda a carga de consulta Considerar necessidade de novos índices e agregações Considerar as questões de OLTP a medida que afeta as ferramentas de consultas Contra: Não há dados de teste Contra: Transformações limitadas Contra: O histórico é limitado ao que o OLTP fornece