BANCO DE DADOS II TEMAS AVANADOS DE BANCOS
BANCO DE DADOS II TEMAS AVANÇADOS DE BANCOS DE DADOS. Processo de Extracção, Transformação e Carrega. Ms. C. Leoder Alemañy Socarrás
OBJETIVO Enunciar as principais características do processo de Extracção, Transformação e Carga, bem como das ferramentas mais utilizadas para executar dito processo.
BIBLIOGRAFÍA The Data Warehouse Lifecycle Toolkit, Ralph Kimball. Building the Data Warehouse, William H. Inmon, 2005.
FLUXO DE CONSTRUÇÃO DE UM DWH 1 2 3 4 • Análise • Desenho • ETL (Extracção, transformação e Carrega) • BI (Inteligência de Negócio)
ETL - EXTRACT, TRANSFORM AND LOAD Um sistema ETL extrai os dados sistemas fontes, garante a qualidade dos mesmos e a consistência que fazem possível que dados de diferentes fontes possam ser usados juntos e por último entrega os dados num formato pronto para ser apresentado, que possibilita aos desenvolvedores implementar seus aplicativos e aos utentes finais tomar decisões.
RESPONSABILIDADES DO ETL • Elimina os erros e corrige a ausência de dados. • Provê uma medida documentada da certeza dos dados. • Captura o fluxo dos dados transacionais para sua protecção. • Ajusta dados de diversas fontes para que possam ser utilizados juntos. • Estrutura os dados para que possam ser usados pelas ferramentas de utente final.
EXTRACÇÃO DE DADOS ETL A extracção de dados é o processo que se encarrega de recuperar os dados sistemas fontes.
CONSIDERAÇÕES GERAIS
CONSIDERAÇÕES GERAIS
CONSIDERAÇÕES GERAIS
EXTRACÇÃO DESDE BD RELACIONALES Os bancos de dados relacionales estão compostas por tabelas, as técnicas de extracção de dados desde as tabelas podem ser uma das seguintes: • Toda a tabela a cada vez. • Extracção incremental. • Faixas fixas. • Realizar uma variante push.
TODA A TABELA A CADA VEZ • Tabelas pequenas (colunas e filas). • Tabelas sem marcas de tempo (não é possível saber quais foram as últimas tuplas modificadas desde a última extracção). • Tabelas de menos de 10 000 tuplas(depende do hardware e a conexão).
EXTRACÇÃO INCREMENTAL Em meios empresariais reais é comum que as tabelas contenham centos de milhares de filas. Por tanto extrair a tabela inteira não é uma opção viável e daí se desprende a necessidade de um mecanismo que permita a extracção incremental dos dados. A extracção incremental é uma técnica na qual só se carregam os dados que têm sido modificados desde uma data determinada.
TÉCNICAS DE EXTRACÇÃO INCREMENTAL Uma das técnicas de extracção incremental baseada em marcas de tempo utiliza os conceitos de data de extracção atual (CET siglas em inglês) e data da última extracção exitosa (LSET siglas em inglês) o algoritmo de extracção segue 4 passos básicos
TÉCNICAS DE EXTRACÇÃO INCREMENTAL • • Recuperar o valor de LSET desde o banco de dados de metadatos. LSET actua como uma marca que memoriza o momento em que os dados foram extraídos por última vez. Obter o valor de CET. Extrair os dados da tabela em questão que cumpram a condição: criado >= LSET and criado = LSET and modificado Se a extracção é executada de maneira exitosa actualizam-se os metadatos atribuindo-lhe a LSET o valor de CET.
FAIXAS FIXAS Se não é possível extrair toda a tabela devido ao tamanho e não é possível realizar extracções progressivas por não se possuir informação sobre a ordem das operações é necessário realizar as extracções utilizando o método de faixa fixa. O mesmo tem como ideia básica extrair uma quantidade fixa de filas ou um período de tempo.
¿DE DÓNDE EXTRAER LOS DATOS?
TABELAS RELACIONADAS Quando se actualiza, insere ou elimina uma bicha na tabela fonte é necessário extrair a informação das tabelas relacionadas com a mesma. Para realizar isto se identificam as filas com mudanças na primeira tabela e utilizando a chave primária e a chave foránea se identificam os elementos associados na segunda tabela e extraem-se os conjuntos de ambas tabelas dentro do armazém.
EXTRACÇÃO DESDE FICHEIROS • Os ficheiros mais comumente usados como fonte de dados para sistemas ETL são os ficheiros planos. Dois exemplos dos mesmos são os ficheiros com posições fixas e os ficheiros com elementos separados por delimitadores. A razão pela que os ficheiros planos são os mais comuns está determinada por que possibilitam atingir o máximo desempenho no processo de extracção. • Nos sistemas de armazéns de dados é uma prática comum que os dados da fonte sejam exportados para ficheiros planos para logo ser carregados dentro do armazém.
TRANSFORMAÇÃO DE LOS DATOS ETL Quando se movem os dados desde o sistema OLTP até o armazém de dados se requerem fazer várias transformações nos dados para que estes sejam mais operacionais e práticos à hora de sua utilização.
TRANSFORMAÇÕES MAIS COMUNS • • Seleccionar só certas colunas para seu carga(por exemplo, que as colunas com valores nulos não se carreguem). Traduzir códigos (por exemplo, se a fonte aloja um "H" para Homem e "" M para Mulher mas o destino tem que guardar "1" para Homem e "2" para Mulher). Obter novos valores calculados (por exemplo, total_venda = quantidade * aprecio). Unir dados de múltiplas fontes (por exemplo, pesquisas, combinações, etc. ).
TRANSFORMAÇÕES MAIS COMUNS • • • Calcular totais de múltiplas filas de dados (por exemplo, vendas totais da cada região). Geração de campos chaves no destino. Transpor ou girar (girando múltiplas colunas em filas ou vice-versa). Dividir uma coluna em várias (por exemplo, coluna "Nome: García, Miguel"; passar a duas colunas "Nome: Miguel" e "Apellido: García").
CARGA DE LOS DATOS ETL A fase de carga é o momento no qual os dados da fase anterior (transformação) são carregados no sistema de destino. A fase de carga interactúa directamente com o banco de dados de destino
FASES DEL PROCESO DE CARGA 1. Carga do área de trânsito: O objectivo desta fase é carregar os dados tão rápido como seja possível sem centrar nas transformações necessárias, por isso as tabelas são muito parecidas às tabelas dos sistemas fonte. 2. Criação do firewall de dados: Se chequea a qualidade dos dados quando estes são carregados desde o área de trânsito para os contêiners de dados padrão. A verificação realiza-se a partir de regras pré definidas que permitem determinar quando recusar o dado, quando aceitar o dado e quando reparalo.
FASES DEL PROCESO DE CARGA Carregar os contêiners de dados padrão: Quando os dados passam através do firewall representam entidades com mínima redundância, nesta etapa se manejam as chaves e a normalização dos dados. Carregar as tabelas de dimensão: As tabelas de dimensão estão desnormalizadas, nesta etapa gere -se este processo e as dimensões que mudam lentamente. Carregar as tabelas de factos. Nesta etapa geremse as chaves subrogadas e as bichas que se incorporam à tabela de factos.
FERRAMENTAS PARA O PROCESSO DEETL Pentaho Data Integration (Kettle – código abierto) Talend Open Studio (código abierto) Oracle Warehouse Builder (Privativa) Microsoft SQL Server Integration Services (SSIS)
CONCLUSIONES ETL • Extracção • Transformação • Carrega)
- Slides: 27