integração dados prática ppt

78
Técnicas de ETL com o MICROSOFT INTEGRATION SERVICES 2012

Upload: rodrigo-goncalves

Post on 06-Dec-2014

2.221 views

Category:

Technology


8 download

DESCRIPTION

Apresentação destinada a professores e instrutores que desejam utilizar o livro "Integração de dados na prática" em seus planos de ensino.

TRANSCRIPT

Técnicas de ETL com o MICROSOFT INTEGRATION SERVICES 2012

Capítulo 1

Business Intelligence Business Intelligence é um sistema de

suporte a tomada de decisão.

É necessário determinar, que decisão queremos tomar com o sistema a ser desenvolvido.

Case do Wallmart

Passagem do furacão Frances - 2004

Neste caso, Business Intelligence foi usado como fonte de informação PREDITIVA

Data Warehouse Banco de dados que servirá de

repositório de todas as informações importantes a organização, instituídos em um modelo dimensional.

Tabelas Fato As tabelas Fato são o ponto focal de um

modelo dimensional, onde os dados de medição numérica são armazenados.Se podemos contar, sumarizar ou realizar

algum tipo de agregação com dados de um evento, então este evento é um bom candidato a se tornar um fato.

Tabelas Dimensão As tabelas dimensão sempre se

relacionam com tabelas fato e de modo geral contém descrições sobre informações de dados de uma organização. Como exemplo de tabelas dimensão de

uma empresa do varejo, podemos mencionar Tempo, Produto ou até mesmo Clientes.

Star Schema “O Star Schema, ou “esquema estrela” é

o exemplo mais simples de modelagem dimensional de Data Warehouse. Este modelo consiste de poucas, ou quando possível, apenas uma tabela “Fato” ligada a diversas tabelas dimensão.”

SnowFlake O Snowflake se assemelha muito ao

modelo Star Schema, porém a diferença crucial em relação ao outro modelo é que as dimensões no modelo SnowFlake são (ou podem ser) normalizadas, ou seja, podem ser quebradas em tabelas menores geralmente até a segunda forma normal. A modelagem SnowFlake geralmente normaliza as dimensões até a segunda forma normal pois apesar dos benefícios da normalização, sua utilização pode comprometer o desempenho.

ETL “ETL é uma sigla para Extract,

Transform and Load, ou seja, extração, transformação e carga. ETL, em uma definição mais completa é uma técnica ou processo de banco de dados, onde os dados propriamente ditos são movidos das mais diversas origens e armazenadas em outros locais. “

Processo composto de três etapas Extração Transformação Carga

Capítulo 2

Ambiente SSIS Sql Server Integration Services, é uma

IDE para desenvolvimento de pacotes de ETL, integrado ao Visual Studio.

Solution Explorer

Properties Panel

Toolbox

Connection Managers

Capítulo 3

Criação dos Bancos de DadosProjetoETLProjetoETL_StageProjetoETL_DW

Capítulo 4

Criando o projeto no SSIS

Arquivos do SISS ETLIntegrationServices.sln ETLIntegrationServices.suo ETLIntegrationServices(Pasta)

ETLIntegrationServices.databaseETLIntegrationServices.dtProjETLIntegrationServices.dtproj.userPackage.dtsxProject.params

Renomenado o pacote

Hello World no SSIS Adicione um Script Task no Control

Flow

Adicionar o seguinte código public void Main() { // TODO: Add your code here MessageBox.Show("Olá mundo"); 

Dts.TaskResult = (int)ScriptResults.Success;

}

Clicar em EXECUTE PACKAGE

Funcionamento do SSIS Se divide em

Control FlowData Flow

Control Flow “Control Flow é o segmento do SSIS

que nos permite definir o fluxo de trabalho do pacote, determinando sua seqüência e eventuais mudanças de fluxo em caso de sucesso, fracasso ou devido a uma pré-condição estabelecida pelo usuário. “

Data Flow “O Data Flow, é uma Task do pacote

SSIS onde as extrações, transformações e eventuais cargas de dados propriamente ditas ocorrem. Um pacote pode ter apenas um Control Flow, porém diversos Data Flows, com diversas operações de carga e transformação em cada um deles. “

Variáveis no SSIS

Adicione uma variável “StrTexto”ao pacote já existente

Adicione a váriavel a lista de variáveis usadas pelo Scrip Task

Referênciando a variável no pacote public void Main() { // TODO: Add your code here MessageBox.Show(Dts.Variables["StrTexto"].Value.ToString()); Dts.TaskResult = (int)ScriptResults.Success; }

Criando arquivos de configuração

Adicionando a variável ao arquivo Config

Alterando o valor do Config

Agora o pacote utiliza o valor do Config

Utilizando o Import Export Wizzard Clicar com o botão direito em SSIS

Packages (Solution Explorer)

Definindo a origem (Departamentos.txt)

O destino será o BD ProjetoETL, tabela Departamentos

Definindo as correspondências

Control Flow FINALIZADO

Depois da execução...

Capítulo 5

Criando dados de Vendas Execute o script

Package

Carregando Clientes para o Stage

Truncado dados tabela STAGE TRUNCATE TABLE

StageSchema.Clientes_Carga

Adicionando DataFlow

Origem ProjetoETL

Destino ProjetoETL_Stage

Mapeamentos

Pacote Finalizado

Capítulo 6

Slowly Changing Dimension Slowly Changing Dimension, em uma

tradução literal “Dimensões que mudam lentamente”, são os grupos de dados que se alteram em ciclos de tempo maiores e de maneira irregular.

Um ótimo vendedor, com excelentes resultados em uma área de vendas mais receptiva mas que é transferido para uma filial com um público diferente. Se o relatório de vendas não for

corretamente trabalhado e a mudança de filial do vendedor não for contextualizada, o relatório poderá levar a informações confusas ou incorretas sobre o desempenho deste vendedor.

Podemos desenvolver SCD, utilizando campos de data início e data fim, determinando a vigência de cada registro.

Identificamos cada registro na dimensão SCD, através de Surrogate Keys.

Código Fornecedor Nome Cidade Ativo Data Inicial Data Final

1 1236 Industria 01 Florianópolis 0 01/01/2008 01/10/2010

2 1236 Industria 01 São José 1 02/10/2010 Null

Implementando SCD Re-abrir o pacote de carga de clientes

na Stage

Adicionar Componente SCD

Iniciando o Wizzard

Definindo a Business Key

Definindo os atributos históricos

Definindo os campos de controle

Componente Configurado

Capítulo 7

Carga Modelo Dimensional Processo em Etapas

Carga de DimensõesCarga de Fatos, com referência as

dimensões

Carga Dimensão Tempo

C:\Users\rodrigo.ribeiro.WEST\Desktop\Dim

Carga Tabela Fato Em um novo pacote, adicione um Sql

Task com o script

TRUNCATE TABLE StageSchema.Vendas_Carga

Mapeamento Stage DW

Montagem Final da Carga

Script de Insert

C:\Users\rodrigo.ribeiro.WEST\Desktop\Ins

FIM