desenho lógico de dw. sad tagus 2004/05 h. galhardas a business analysis framework quatro...
TRANSCRIPT
Desenho Lógico de DWDesenho Lógico de DW
SAD Tagus 2004/05 H. Galhardas
A Business Analysis A Business Analysis FrameworkFramework
Quatro perspectivas no desenho de um DW:Quatro perspectivas no desenho de um DW: Top-down: permite a selecção da informação relevante
necessária para armazenar no DW Fontes de dados: expõe a informação que foi capturada,
armazenada e gerida pelos sistemas operacionais Data warehouse: consiste nas tabelas de factos e
dimensões e representa informação armazenada no DW Interrogações do negócio: acesso aos dados do DW do
ponto de vista do utilizador final
SAD Tagus 2004/05 H. Galhardas
Processo de desenho Processo de desenho do DWdo DW
Bottom-upBottom-up: : Começa c/ experiências e protótipos (rápida) Deriva o esquema do DW a partir dos esquemas das fontes
de dados Permite avançar a baixo custo e avaliar os benefícios, mas é
mais difícil de crescer Top-downTop-down: :
Começa com desenho e planeamento completo e maduro Primeiro, chega ao esquema conceptual do DW e depois
converte o esquema das fontes de dados no esquema global Robusto mas lento e caro
Combinação de ambasCombinação de ambas
SAD Tagus 2004/05 H. Galhardas
Processo de desenho do Processo de desenho do DW (ESW)DW (ESW)
Cascata (Cascata (WaterfallWaterfall)): análise estruturada e : análise estruturada e sistemática em cada passo antes de sistemática em cada passo antes de prosseguir para o próximoprosseguir para o próximo
Espiral (Espiral (SpiralSpiral)): geração rápida e de : geração rápida e de sistemas funcionais cada vez mais ricos, sistemas funcionais cada vez mais ricos, em curtos intevalos de tempo, em curtos intevalos de tempo,
SAD Tagus 2004/05 H. Galhardas
Inconvenientes do modelo Inconvenientes do modelo em cascata para DWem cascata para DW
Elevados prazos de implementaçãoElevados prazos de implementação porque porque exige conhecimento prévio da generalidade dos exige conhecimento prévio da generalidade dos requisitos requisitos
Não é flexívelNão é flexível para ambientes de elevada para ambientes de elevada incerteza de desenhoincerteza de desenho
Não garante o Não garante o envolvimento contínuoenvolvimento contínuo dos dos utilizadores no processo de desenvolvimentoutilizadores no processo de desenvolvimento
Não se apercebe da total complexidade dos Não se apercebe da total complexidade dos problemas de problemas de carregamento de dadoscarregamento de dados
SAD Tagus 2004/05 H. Galhardas
Três modelos de DWTrês modelos de DWEnterprise warehouseEnterprise warehouse
Colleciona toda a informação sobre os processos de negócio de toda a organização
Data MartData Mart Subcjto dos dados da organização que são interessantes
para um grupo específico de utilizadores (ex: marketing) Independentes vs. dependentes (directly from warehouse)
Virtual warehouseVirtual warehouse Cjto de vistas sobre as fontes de dados operacionais Só algumas vistas sumarizadas são materializadas
SAD Tagus 2004/05 H. Galhardas
Desenvolvimento incremental Desenvolvimento incremental de um DWde um DW
Define a high-level corporate data model
Data Mart
Data Mart
Distributed Data Marts
Multi-Tier Data Warehouse
Enterprise Data Warehouse
Model refinementModel refinement
SAD Tagus 2004/05 H. Galhardas
Business Dimensional Business Dimensional LifecycleLifecycle
SAD Tagus 2004/05 H. Galhardas
DW Bus Architecture MatrixDW Bus Architecture Matrix Ferramenta de Ferramenta de planeamento top-downplaneamento top-down
para desenho do DWpara desenho do DW Obriga a nomear todos os Obriga a nomear todos os data martsdata marts (ou (ou
processos de negócio) possíveis e processos de negócio) possíveis e nomear todas as nomear todas as dimensõesdimensões envolvidas envolvidas nesses data martsnesses data marts
Depois, podemos passar ao desenho das Depois, podemos passar ao desenho das tabelas de factos individuais envolvidas tabelas de factos individuais envolvidas em cada data mart.em cada data mart.
SAD Tagus 2004/05 H. Galhardas
Estrutura da MatrizEstrutura da MatrizLinhasLinhas: data marts: data martsColunasColunas: dimensões: dimensõesIntersecçõesIntersecções: onde uma dimensão existe : onde uma dimensão existe
para um data martpara um data mart
Uma Uma linhalinha indica o nº de dimensões para um indica o nº de dimensões para um dado data martdado data mart
Uma Uma colunacoluna com muitas intersecções indica com muitas intersecções indica que é importante e deve ser conformeque é importante e deve ser conforme
SAD Tagus 2004/05 H. Galhardas
Extended 4-step design Extended 4-step design methodology (Kimball)methodology (Kimball)
Processo de desenho de DW típico:Processo de desenho de DW típico:1. Escolher o processo de negócio a modelizar
(ex: encomendas, recebimentos, etc)2. Escolher o grão (nível de dados atómico) do
processo de negócio3. Identificar e tornar conformes as dimensões
que se aplicam a cada registo da tabela de factos
4. Escolher os factos que vão popular cada registo da tabela de factos
SAD Tagus 2004/05 H. Galhardas
Extended 4-step design Extended 4-step design method (Kimball) (cont.)method (Kimball) (cont.)5. Armazenar medidas pré-calculadas na
tabela de factos 6. Enriquecer as tabelas de dimensões7. Escolher o período de duração do DW8. Monitorizar as slowly changing dimensions9. Decidir prioridades de interrogação e modos
de interrogação
SAD Tagus 2004/05 H. Galhardas
1. Escolher o processo1. Escolher o processo
Degenerate dimension: usually occur in line item-oriented usually occur in line item-oriented fact table designsfact table designs
SAD Tagus 2004/05 H. Galhardas
2. Escolher o grão2. Escolher o grão
O grão é a linha em cada recibo do clienteO grão é a linha em cada recibo do cliente
SAD Tagus 2004/05 H. Galhardas
3. Identificar e tornar 3. Identificar e tornar conformes as dimensõesconformes as dimensões
SAD Tagus 2004/05 H. Galhardas
Dimensões conformesDimensões conformes As dimensões são os pontos de entrada num As dimensões são os pontos de entrada num
data mart. Determinam: data mart. Determinam: Os critérios de navegação Os cabeçalhos dos relatórios Vocabulário da organização para os utilizadores
Dimensões conformesDimensões conformes: significam a mesma : significam a mesma coisa e guardam a mesma informação coisa e guardam a mesma informação independentemente da tabela de factos a que independentemente da tabela de factos a que estão ligadas.estão ligadas.
SAD Tagus 2004/05 H. Galhardas
4. Escolher os factos4. Escolher os factos O O grãogrão da tabela de factos determina que da tabela de factos determina que
factos usar num data mart factos usar num data mart Todos os factos têm que ser especificados ao Todos os factos têm que ser especificados ao
mesmo nível determinado pelo grão mesmo nível determinado pelo grão Os factos devem ser o mais Os factos devem ser o mais aditivosaditivos possíveis possíveis Podem ser adicionados Podem ser adicionados factos suplementaresfactos suplementares
desde que sejam consistentes com o grãodesde que sejam consistentes com o grão. .
SAD Tagus 2004/05 H. Galhardas
Bad vs good fact tableBad vs good fact table
SAD Tagus 2004/05 H. Galhardas
Categorização dos factos Categorização dos factos ou medidasou medidas
AditivaAditiva: podem ser somadas através de todas as : podem ser somadas através de todas as dimensões; são medidas de actividadedimensões; são medidas de actividade E.g.: unidades_vendidas, dolares_vendidos
Semi-aditivaSemi-aditiva: só podem somadas ao longo de : só podem somadas ao longo de algumas dimensões; são fotografias no tempoalgumas dimensões; são fotografias no tempo E.g.: saldo_conta, quantidade de um inventário não
podem ser somadas ao longo do tempo Não aditivaNão aditiva: não podem ser somadas de todo: não podem ser somadas de todo
E.g.: temperatura, taxas de juro
SAD Tagus 2004/05 H. Galhardas
F : A x B F : A x B C C é aditivaé aditiva sobre A sse: sobre A sse: F (a1 + a2, b) = F (a1, b) F (a2, b) F é aditiva se é aditiva sobre todos os seus
argumentos
Exemplo :Exemplo : conta(contaID, clienteID, data, saldo)conta(contaID, clienteID, data, saldo)
saldo : contaID x clienteID x data saldo : contaID x clienteID x data saldo saldo
saldo (x, y, [tsaldo (x, y, [t0 0 , t, t2 2 ]) = saldo (x, y, [t]) = saldo (x, y, [t0 0 , t, t11]) ]) saldo (x, y, [tsaldo (x, y, [t1 1 , t, t22])])
saldo (xsaldo (x11 x x22, y, t, y, t ) = saldo (x) = saldo (x11, y, t) , y, t) saldo (xsaldo (x22, y, t, y, t22))
Medidas aditivasMedidas aditivas
?
?
SAD Tagus 2004/05 H. Galhardas
Factless facts (1)Factless facts (1) Facts that do not go into a “normal” fact Facts that do not go into a “normal” fact
table since they do not measure anythingtable since they do not measure anything Describe Describe eventsevents and and coveragecoverage Ex:Ex:
Student traking system that detects each student attendance at a college
Fact table: Student Attendance with attribute attendance (0/1)
Dimensions: Time, Course, Student, Teacher
SAD Tagus 2004/05 H. Galhardas
Factless facts (2)Factless facts (2) Ex:Ex:
Sales Promotion fact table that records the sales of products in stores on particular days under each promotion condition
Fact table: Promotion CoverageDimensions: Time, Store, Product, Promotion
SAD Tagus 2004/05 H. Galhardas
5. Storing precalculations 5. Storing precalculations (derived facts) in the fact (derived facts) in the fact
tabletableDerived dataDerived data : computed from facts applying a : computed from facts applying a
functionfunction Some Some derived dataderived data are required to be are required to be
explicitly storedexplicitly storedAggregate dataAggregate data: usually modeled in specific : usually modeled in specific
fact tables. fact tables. AdvantageAdvantage: speed up OLAP queries: speed up OLAP queriesInconvenientInconvenient: slows down DW refreshment and : slows down DW refreshment and
increases DW sizeincreases DW size
SAD Tagus 2004/05 H. Galhardas
Fact table with derived Fact table with derived datadata
SAD Tagus 2004/05 H. Galhardas
Fact table with aggregate Fact table with aggregate datadata
Customer SummaryCust_id
Total SalesHighest Sales Value
Average Sales
Store TableStore_id
District_id
Customer TableCust_id
Cust_name
Time TableWeek_idPeriod_idYear_id
Product TableProduct_id
Product_desc
Sales Fact TableUnit Sell PriceDollar SalesUnit SalesDollar Cost
Summary for Product,Summary for Product,Store, and Time for all Store, and Time for all
CustomersCustomers
SAD Tagus 2004/05 H. Galhardas
6. Enrich the dimension 6. Enrich the dimension tablestables
Return to the dimension tables and Return to the dimension tables and exhaustively add exhaustively add text-like descriptorstext-like descriptors
No abbreviations should be usedNo abbreviations should be used Important dimensions typically should Important dimensions typically should
have 50 text-like attributeshave 50 text-like attributes
SAD Tagus 2004/05 H. Galhardas
7. Choosing the duration of 7. Choosing the duration of the DWthe DW
Measures Measures how far back in timehow far back in time the fact the fact table goestable goes
Very long fact tableVery long fact table durations pose two durations pose two kinds of problems:kinds of problems:Difficult to get and interpret source old data
(old files, old tapes)Old versions of important dimensions must be
used instead of current ones
SAD Tagus 2004/05 H. Galhardas
8. Tracking slowly changing 8. Tracking slowly changing dimensionsdimensions
The operational data source that feeds The operational data source that feeds dimensions changes: keys are kept but dimensions changes: keys are kept but descriptive attributes changedescriptive attributes change
Three types of solutions:Three types of solutions:1. Overwrite the dimension record with new
values2. Create a new additional dimension record
using a new value of the surrogate key3. Create an “old” field in the dimension record
to store previous attribute value
SAD Tagus 2004/05 H. Galhardas
9. Deciding query priorities 9. Deciding query priorities and query modesand query modes
Physical design issues:Physical design issues:Physical sort order of the fact tablePre-stored aggregations Indexing ...
SAD Tagus 2004/05 H. Galhardas
BibliografiaBibliografia (Livro) (Livro) Data Mining: Concepts and TechniquesData Mining: Concepts and Techniques, J. , J.
Han & M. Kamber, Morgan Kaufmann, 2001 (parte Han & M. Kamber, Morgan Kaufmann, 2001 (parte da Secção 2.3)da Secção 2.3)
(Livro) The Data Warehouse Lifecycle Toolkit, R. (Livro) The Data Warehouse Lifecycle Toolkit, R. Kimball, Wiley 1998 (Cap. 5, 6 e 7)Kimball, Wiley 1998 (Cap. 5, 6 e 7)
(Artigo) Letting the Users Sleep Part 1 and 2, R. (Artigo) Letting the Users Sleep Part 1 and 2, R. Kimball, Kimball, DBMSDBMS – Dec. 1996 and Jan. 1997, – Dec. 1996 and Jan. 1997, http://www.dbmsmag.com/9612d05.htmlhttp://www.dbmsmag.com/9612d05.htmlhttp://www.dbmsmag.com/9701d05.htmlhttp://www.dbmsmag.com/9701d05.html