View
114
Download
2
Category
Preview:
Citation preview
.: 1 :.
Novabase - Microsoft BIArquitectura BI na área de Serviços Financeiros
.: 2 :.
Apresentações
Hugo Matoshugo.azevedo.matos@novabase.pt
Consultor da Novabase há 4 anos, especializado na área de Business Intelligence
Background: Desenho e implementação de projectos de Business Intelligence: Banco de Portugal, EPAL, Sonae Sierra, BES.
Rafael Augustorafael.augusto@novabase.pt
Consultor da Novabase há 4 anos, especializado na área de Business Intelligence
Background: Desenho e implementação de projectos de Business Intelligence: ACSS, Bristol Meyers Squibb, Barclays, CP, Banco de Portugal
1. Caso de Estudo: Data Warehouse Estatístico● Enquadramento
● Arquitectura do Negócio
● Arquitectura Funcional
● Desafios Técnicos
2. Caso de Estudo: Problemas de performance no SSAS
● Enquadramento
● Situação Inicial
● Problema detectado
● Recomendações (em conjunto com a Microsoft)
.: 3 :.
Agenda
.: 4 :.
Missão do Departamento de Estatística
• Elaboração das estatísticas monetárias, financeiras, cambiais e da balança de pagamentos
Problema / Necessidades
• Evolução do contexto e das necessidades do negócio
• Obsolescência ou precariedade das soluções aplicativas existentes
• Necessidade de integração da informação das várias áreas
• Dificuldade em fornecer informação a outros departamentos
Abordagem
• Sistema de Informação Estatística - Arquitectura de Business Intelligence:
• Data warehouse que garanta a centralização da informação
• Sistema central de gestão de dados de referência
• Plataforma tecnológica comum
DW Estatístico – Enquadramento
.: 5 :.
Cadeia de Valor da Informação Estatística
• Aquisição:
• Extracção de dados, processos de validação, correcção e transformação
• Produção
• Controlo de qualidade, análises de evolução temporal, detecção de valores atípicos, estimativa de valores omissos, cálculo de informação derivada
• Exploração
• Interpretação dos dados, elaboração dos produtos estatísticos finais, realização de estudos específicos
• Difusão / Disseminação
• Selecção e preparação dos conteúdos, divulgação da informação estatística
DW Estatístico – Arquitectura do Negócio
DifusãoExploraçãoProduçãoAquisição
.: 6 :.
Componentes Funcionais do Sistema
DW Estatístico – Arquitectura Funcional de BI
DisseminaçãoExploraçãoProduçãoAquisição
Relational Database
Multidimensional Database
Data Integration
BI Portal
Dashboards
Analytics Analytic Views
Reports
Data Quality
Ad Hoc Reporting
Time Series
Analytic WorkflowData Entry
Custom Applications
Reference Data Management / Metadata Management
Managed Reporting
Data MiningStatistics
Relational Database
Reference Data Management / Metadata Management
Data Integration
Data Quality
Data Entry
Multidimensional Database
Managed Reporting Ad Hoc Reporting
BI Portal
Dashboards
Time Series
Analytic Views
Reports
.: 7 :.
Problema
• Exploração analítica do sistema de responsabilidades de crédito
• 4 modelos analíticos: 6 métricas * 25 dimensões
• Volume de informação: 30 milhões de linhas / mês
• Histórico de informação: 24 meses
800.000.000 linhas 600.000 MB
Desafios
• Como gerir elevado volume de informação?
• Como garantir a performance dos processos de integração e da exploração analítica?
DW Estatístico – Desafios Técnicos
.: 8 :.
Abordagem
Modelo relacional
• Particionamento mensal das tabelas
• Filegroups distintos para cada partição
• Rotação de partições (sliding window scenario)
• Criação de índices (análise do plano das queries)
• Actualização das estatísticas
Processos ETL
• Integração incremental diária
Modelos analíticos
• Particionamento mensal de measure groups
• Desenho de agregações
• Processamento diário dos últimos 3 meses
• Processamento semanal de todos os dados
DW Estatístico – Desafios Técnicos
.: 9 :.
Agenda
1. Caso de Estudo: Data Warehouse Estatístico● Enquadramento
● Arquitectura do Negócio
● Arquitectura Funcional
● Desafios Técnicos
2. Caso de Estudo: Problemas de performance no SSAS
● Enquadramento
● Situação Inicial
● Problema detectado
● Recomendações (em conjunto com a Microsoft)
Performance SSAS – Enquadramento
Fontes ETL Plataforma Business Intelligence Exploração
Pesquisas e Relatórios Ad-hoc
Disponibilização de Quadros pré-definidos
Utiliz.
BD Internas
BD Externas
Disponibilização de Cubos
ProClarityAnalytics
Server
Interna
Externa
ProClarityDesktop
Professional
...
.: 10 :.
Performance SSAS – Situação Inicial
Nome Tipo Nº Registos Propriedades CustomRollUp UnaryOperator
Dimensão 1 PC 7 Não tem
Limita os membros a considerar na agregação para o nível All
Dimensão 2 PC 19 Non Aggregatable Não tem
Dimensão 3 PC 47 Non Aggregatable No Script do Cubo Não tem
Dimensão 4 PC 53 Non Aggregatable No Script do Cubo Não tem
Período Regular 504Non Aggregatable no nível Ano
O total do ano é o do último trimestre e o total do trimestre é o do último mês desse trimestre
Não tem
Tipo de Info Regular 8 Non Aggregatable Não tem Não tem
Legenda:PC: dimensão do tipo Parent-Child (http://technet.microsoft.com/en-us/library/ms174846.aspx )Regular: dimensão do tipo regular (http://msdn.microsoft.com/en-us/library/ms175439.aspx )Non Aggregatable: dimensão não tem membro All, ou seja, não agrega para um membro totalizador. (http://msdn.microsoft.com/en-us/library/ms174497.aspx )
.: 11 :.
• Problema de performance em Run-time ao executar queries.
• Foi aberto um caso de suporte com a Microsoft
• Posteriormente, optou-se por migrar a solução para SQL2008
Performance SSAS – Problema detectado
Tempos de Resposta
AS2000 AS2005 AS2008
Query #1 2:45 5:17 0:02
Query #2 0:10 8:00 0:12
Query #3 0:16 2:40
Query #4 0:50 12:00
.: 12 :.
• Da Análise mais aprofundada ao problema (SQL Profiler) obtiveram-se algumas observações:
1. O motor analítico do SSAS2000 é superior ao SSAS2008 em algumas queries.
2. Grande parte do tempo em Serialize Cells
3. CalculationPassValue e NonemptyCrossJoin com impacto significativo
4. O produto cartesiano das dimensões devolve um número elevado de células vazias.
Performance SSAS – Problema detectado
.: 13 :.
Comportamento por Defeito
Dimensão 3 Dimensão 4
O valor de um membro é igual à soma dos seus filhos.
Valor imputado ao membro caso este exista, senão é o valor da soma dos filhos
Caso haja valor nos filhos o pai toma o valor da soma dos filhos, senão é o valor inputado no pai
Performance SSAS – Agregações
4 10
2 4
4 4
2 4
Parent
Childs
6
2 4
.: 14 :.
Parent Parent
Childs Childs
• Análise individual dos componentes para verificar o que realmente tem impacto na performance:
Performance SSAS – Mais detalhes
Query #1 Query #2 Query #3 Query #4
AS2000 2:45 0:10 0:16 0:50
AS2005 Inicial 5:17 8:00
AS2008
S/ Calculation PassValue 0:47 1:47 2:47 3:47
C/ NonEmpty CrossJoin 1:09 0:58 1:58
S/ Calculation PassValue C/ NonEmpty CrossJoin
0:00 0:01 0:46 2:26
S/ ScriptS/ CustomRollUpS/ UnaryOperator
0:00 0:03 0:22 4:20
Final 0:02 0:12 2:40 12:00
.: 15 :.
1. Transformar as dimensões Pai-filho – (Common Table Expressions)
2. Criação de relacções entre atributos
3. Optimizações no script do cubo
4. Construção de agregações
5. Desenvolvimento de um mecanismo de cache warmUp
Performance SSAS – Solução
.: 16 :.
• A partir da versão 2005 do AS o motor passou a operar em bloc computation em vez de cell-by-cell. Em casos complexos como este é aconselhavel passar parte da lógica para o ETL.
• Evitar dimensões Pai-filho, apesar de serem muito úteis.• Dar prioridade ao NonEmptyCrossJoin em vez do uso do normal
produto cartesiano ( * ).
• Quanto ao Script do Cubo:1. Utilizar ao máximo funções como SCOPE e NON_EMPTY_BEHAVIOUR.
2. Evitar o acesso às member properties usando a função Properties(“Nome Propriedade”).
3. Deve ser usada sempre que possível a função Filter() de forma a filtrar membros desnecessários em conjuntos que sejam alvo de operações ( CrossJoins, Unions, etc…);
• Outras recomendações em OLAP Design Best Practices for Analysis Services 2005
Performance SSAS – Recomendações
.: 17 :.
• Performance Improvements for MDX in SQL Server 2008 Analysis Services(http://msdn.microsoft.com/en-us/library/bb934106.aspx)
• Analysis Services Query Performance Top 10 Best Practices(http://technet.microsoft.com/en-us/library/cc966527.aspx)
• Dimensão do tipo Parent-Child(http://technet.microsoft.com/en-us/library/ms174846.aspx)
• Dimensão do tipo regular(http://msdn.microsoft.com/en-us/library/ms175439.aspx)
• Dimensão que não agrega para um membro totalizador(http://msdn.microsoft.com/en-us/library/ms174497.aspx)
• OLAP Design Best Practices for Analysis Services 2005(http://technet.microsoft.com/en-us/library/cc966399.aspx)
• SQL Server Best Practices Article: Identifying and Resolving MDX Query Performance Bottlenecks in SQL Server 2005 Analysis Services(http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=975c5bb2-8207-4b4e-be7c-06ac86e24c13)
• Commom Table Expressions(http://msdn.microsoft.com/en-us/library/ms190766.aspx)
• Criação de relações entre atributos(http://msdn.microsoft.com/en-us/library/ms174557.aspx http://www.sqlserveranalysisservices.com/OLAPPapers/AttributeRelationships.htm)
• Ragged Dimensions(http://msdn.microsoft.com/en-us/library/aa198080(v=SQL.80).aspx)
Performance SSAS – Referências
.: 18 :.
19
Questões
Recommended