A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

A Evolução do Data Warehousing no Microsoft SQL Server 2008 Pedro Antonio Galvão Junior Latex São Roque – Engenheiro de Processos MVP – Windows Server.

Apresentações semelhantes


Apresentação em tema: "A Evolução do Data Warehousing no Microsoft SQL Server 2008 Pedro Antonio Galvão Junior Latex São Roque – Engenheiro de Processos MVP – Windows Server."— Transcrição da apresentação:

1 A Evolução do Data Warehousing no Microsoft SQL Server 2008 Pedro Antonio Galvão Junior Latex São Roque – Engenheiro de Processos MVP – Windows Server System – SQL Server

2 Agenda Visão geral das melhorias de SQL Server 2008 para data warehousing.Visão geral das melhorias de SQL Server 2008 para data warehousing. Considerações sobre caracteristicas de performance.Considerações sobre caracteristicas de performance.

3 Microsoft SQL Server 2008

4 Data Warehousing Melhorias em toda a caixaMelhorias em toda a caixa –Integration Services, Database Engine, Analysis –Services, Reporting Services Melhoria no produto como um todoMelhoria no produto como um todo –Foco em performance e escalabilidade End-to-end testing on large scale customer-drivenEnd-to-end testing on large scale customer-driven configurationconfiguration –Database Engine: to 100 billion fact table rows, 32 cores –Analysis Services: to 25 billion fact table rows, 16 cores

5 Melhorias em Data Warehousing Extração, Transformação, e Carga (ETL) ConsultaeAnáliseAdministraçãoeGerenciamento Merge, Minimal Melhorias em Extração, Transformação e Carga Merge, Minimal Merge, Minimal Logging, Insert over DML, Change Data Capture, Integration Services threading model, Lookup Enhancements, Compression

6 Merge Nova instrução DML que combina várias operações DML.Nova instrução DML que combina várias operações DML. Building block para maior eficiencia para ETL.Building block para maior eficiencia para ETL. Implementãção compliance SQL-2006.Implementãção compliance SQL Available in CTP Database Engine

7 Merge Nova instrução DML que combina várias operações DML.Nova instrução DML que combina várias operações DML. –Building block para maior eficiência para ETL. –Implementação SQL XXXXX XXX XXX XXXX XXX XXXXXXXXXX XX XXXX XXXXX XXX XX Fonte Fonte de dados pode ser qualquer table ou consulta Available in CTP Database Engine

8 Merge Nova instrução DML que combina várias operações DML.Nova instrução DML que combina várias operações DML. –Building block para maior eficiência para ETL. –Implementação SQL XXXXX XXX XXX XXXX XXX XXXXXXXXXX XX XXXX XXXXX XXX XX OrigemDestino XXXXX X XXXX XXX Destino pode ser qualquer tabela ou view atualizável Destino pode ser qualquer tabela ou view atualizável Available in CTP Database Engine

9 Merge Nova instrução DML que combina várias operações DML.Nova instrução DML que combina várias operações DML. –Building block para maior eficiência para ETL –Implementação SQL 2006 XXXXX XXX XXX XXXX XXX XXXXXXXXXX XX XXXX XXXXX XXX XX OrigemDestino XXXXX X XXXX XXX XX XXX XXX Se a fonte corresponder com o destino Update Available in CTP Database Engine

10 Merge Nova instrução DML que combina várias operações DML.Nova instrução DML que combina várias operações DML. –Building block para maior eficiência para ETL. –Implementação SQL XXXXX XXX XXX XXXX XXX XXXXXXXXXX XX XXXX XXXXX XXX XX OrigemDestino XXXXX XXX XXX XXXX XXX XXXXXXXXXX XX XXXX XXXXX XXX XX XXX Se não corresponde, Insert Available in CTP Database Engine

11 Merge Nova instrução DML que combina várias operações DML.Nova instrução DML que combina várias operações DML. –Building block para maior eficiência para ETL. –Implementação SQL XXXXX XXX XXX XXXX XXX XXXXXXXXXX XX XXXX XXXXX XXX XX OrigemDestino XXXXX XXX XXX XXXX XXX XXXXXXXXXX XX XXXX XXXXX XXX XX XXX Se a fonte não corresponde, DELETE DELETE Available in CTP Database Engine

12 Merge MERGE Stock S USING Trades T ON S.Stock = T.Stock WHEN MATCHED AND (Qty + Delta = 0) THEN DELETE -- delete stock if Qty reaches 0 WHEN MATCHED THEN -- delete takes precedence over update -- delete takes precedence over update UPDATE SET Qty += Delta WHEN NOT MATCHED THEN INSERT VALUES (Stock, Delta); Available in CTP Database Engine

13 Merge MERGE Stock S USING Trades T ON S.Stock = T.Stock WHEN MATCHED AND (Qty + Delta = 0) THEN DELETE -- delete stock if Qty reaches 0 WHEN MATCHED THEN -- delete takes precedence on update -- delete takes precedence on update UPDATE SET Qty += Delta WHEN NOT MATCHED THEN INSERT VALUES (Stock, Delta) OUTPUT $action, T.Stock, inserted.Delta; Available in CTP Database Engine

14 Melhorias no Registro de Log Mínima utilização de logs = loga somente o que é necessário para RollbackMínima utilização de logs = loga somente o que é necessário para Rollback –Normalmente linhas individuais são registradas –Alocações de paginas são suficientes para inserções de UNDO Modelo de recuperação deve ser simple ou bulklogged.Modelo de recuperação deve ser simple ou bulklogged. Versões anteriores:Versões anteriores: –CREATE INDEX –SELECT INTO –BULK INSERT/BCP with TABLOCK Available in CTP Database Engine

15 Melhorias no Registro de Log SQL Server 2008SQL Server 2008 –INSERT into table suporta o minimo de log –3X-5X Performance Boost over fully logged INSERT Tempo de Execução Database Engine Available in CTP

16 INSERT over DML Abilidade para ter uma instrução INSERT consome resultados de um DML.Abilidade para ter uma instrução INSERT consome resultados de um DML. –Melhorias na clausula OUTPUT INTO –Melhorias na clausula OUTPUT INTO DML OUTPUT pode ser filtrada com uma cláusulaDML OUTPUT pode ser filtrada com uma cláusula WHEREWHERE Não permitido o uso de sub-consultas, dada accessing UDFs e full-textNão permitido o uso de sub-consultas, dada accessing UDFs e full-text Porque ?Porque ? –History tracking of slowly changing dimensions –Dumping DML data stream to a secondary table for postprocessing Database Engine Available in CTP

17 INSERT over DML INSERT INTO Books (ISBN, Price, Shelf, EndValidDate) SELECT ISBN, Price, Shelf, GetDate() FROM (MERGE Books T USING WeeklyChanges AS S ON T.ISBN = S.ISBN AND T.EndValidDate IS NULL ON T.ISBN = S.ISBN AND T.EndValidDate IS NULL WHEN MATCHED AND (T.Price <> S.Price OR T.Shelf <> S.Shelf) THEN WHEN MATCHED AND (T.Price <> S.Price OR T.Shelf <> S.Shelf) THEN UPDATE SET Price = S.Price, Shelf = S.Shelf WHEN NOT MATCHED THEN WHEN NOT MATCHED THEN INSERT VALUES(S.ISBN, S.Price, S.Shelf, NULL) OUTPUT $action, S.ISBN, Deleted.Price, Deleted.Shelf OUTPUT $action, S.ISBN, Deleted.Price, Deleted.Shelf ) Changes(Action, ISBN, Price, Shelf) WHERE Action = 'UPDATE; Database Engine Available in CTP

18 Change Data Capture Mecanismo para facilitar o rastreamento de alterações em tabelas:Mecanismo para facilitar o rastreamento de alterações em tabelas: –Alterações capturadas do log de modo assíncrono –Informações sobre o que foi alterado na fonte de dados Table-Valued Functions (TVF) para consultar dados alteradosTable-Valued Functions (TVF) para consultar dados alterados –Facilmente consumido através do Integration Services XXXXX XXX XXX XXXX XXX XXXXXXXXXX XX XXXX XXXXX XXX XX XXXXX XXX XXX XXXX XXX XXXXXXXXXX X XXX XXXX XXXXX XXXXXX XXX Sourcetable Transaction log Changetable CDCfunctions Captureprocess Database Engine Available in CTP

19 Change Data Capture Mecanismo para facilitar o rastreamento de alterações em tabelas:Mecanismo para facilitar o rastreamento de alterações em tabelas: –Alterações capturadas do log de modo assíncrono –Informações sobre o que foi alterado na fonte de dados Table-Valued Functions (TVF) para consultar dados alteradosTable-Valued Functions (TVF) para consultar dados alterados –Facilmente consumido através do Integration Services XXXXX XXX XXX XXXX XXX XXXXXXXXXX XX XXXX XXXXX XXX XX XXXXX XXX XXX XXXX XXX XXXXXXXXXX X XXX XXXX XXXXX XXXXXX XXX Source Table Transaction Log Change Table CDC Functions Capture Process Database Engine Available in CTP sys.sp_cdc_enable_db_change_data_capture sys.sp_cdc_enable_table_change_data_capture cdc.fn_cdc_get_all_changes_ cdc.fn_cdc_get_net_changes_

20 New Lookup Lookup initialization taking longer than ETL process?Lookup initialization taking longer than ETL process? Any clever workarounds for max cache size?Any clever workarounds for max cache size? New lookup transformation:New lookup transformation: –Unrestricted cache size –Persistent cache Integration Services

21 Compressão de Dados Shrink DW em tabelas fatoShrink DW em tabelas fato Melhora na performance de ConsultasMelhora na performance de Consultas Habilitado por tabela ou indiceHabilitado por tabela ou indice Tradeoff em utilização de CPUTradeoff em utilização de CPU Database Engine

22 Data Compression Database Engine

23 Data Compression Microsoft ® SQL Server 2005 Service Pack 2 (SP2)Microsoft ® SQL Server 2005 Service Pack 2 (SP2) –VarDecimal Permite utilizar valores decimais para armazenamento de dados de tamanho variável.Permite utilizar valores decimais para armazenamento de dados de tamanho variável. Database Engine

24 Data Compression Coluna com tamanho fixo:Coluna com tamanho fixo: –SQL Server 2008 estende a lógica de tamanho fixo para todos os tipos de campos: int, bigint, etc.int, bigint, etc. Database Engine

25 Data Compression Compressão de Prefixo:Compressão de Prefixo: –A lista de prefixos é armazenada na página para prefixos comuns. –Valores individuais são substituidos: Token para prefixoToken para prefixo Sufixo para valorSufixo para valor C D Database Engine

26 Data Compression Dicionário de compressão:Dicionário de compressão: –O valor comum é armazenado na página –Valores comuns são substituidos por tokens 2X para 7X taxa de compressão real para dados fato no DW de forma antecipada, dependendo do dado2X para 7X taxa de compressão real para dados fato no DW de forma antecipada, dependendo do dado C D C D Database Engine

27 Melhorias no Designer Um bom desenvolvimento pode oferecer melhorias de performance e escalabilidadeUm bom desenvolvimento pode oferecer melhorias de performance e escalabilidade Utilizando melhores práticas para integridade baseando-se no conhecimento dentro do designer.Utilizando melhores práticas para integridade baseando-se no conhecimento dentro do designer. –Apresentação de relacionamentos e atributos, melhorias nos assistentes, simples criação e representação de chaves, Alertas Melhorias na suportabilidadeMelhorias na suportabilidade Analysis Services Available in CTP

28 Melhorias em Data Warehousing ETL ConsultaeAnáliseAdministraçãoeGerenciamento Melhorias em Consultas e Analise Parallelism for Partitioning, Star Join processing, Grouping Sets, Subspace Computation

29 Paralelismo em Tabelas Particionadas Table: Orders Partitioned on a weekly basis on OrderDate Segunda-Feira Execução de Relatórios Semanais Tempo de resposta alto Usuários Contentes Porque ? Database Engine Terça - Feira Execução de Relatórios Semanais Tempo de resposta baixo Usuários não contentes

30 Paralelismo em Tabelas Particionadas Table: Orders Partitioned on a weekly basis on OrderDate Segunda-Feira Manhã Execução relatório semanal Tempo de resposta alto Usuário Felizes Multiple threads on a single partition Database Engine

31 Paralelismo em Tabelas Particionadas Table: Orders Partitioned on a weekly basis on OrderDate Terça-Feira Manhã Execução relatório semanal Tempo de resposta baixo Usuários não contentes Single thread per partition Database Engine

32 Paralelismo em Tabelas Particionadas Table: Orders Partitioned on a weekly basis on OrderDate SQL Server 2008: Várias threads em todas partitições e.g. 64 threads moving across partitions Addresses major motivation for hybrid Range/Hash requests Database Engine

33 Two data points 4-core machine (x64)4-core machine (x64) 40-GB fact table40-GB fact table Partitioned by weekPartitioned by week Warm startWarm start Find total sales between 1/6/02 and 1/13/02. SQL Server 2005*: 1276 (ms)SQL Server 2005*: 1276 (ms) SQL Server 2008: 368 (ms)SQL Server 2008: 368 (ms) Worst-case scenarioWorst-case scenario 64-way machine64-way machine Query touches two partitionsQuery touches two partitions Most of the data is on one partitionMost of the data is on one partition SQL Server 2005: (ms)SQL Server 2005: (ms) SQL Server 2008: 992 (ms)SQL Server 2008: 992 (ms) Paralelismo em Tabelas Particionadas select sk_date_id, sum(sales_qty*sale_amt) from tbl_fact_store_sales s where s.sk_date_id between and group by sk_date_id order by sk_date_id asc 3.5x Database Engine 15x * Microsoft ® SQL Server 2005

34 Star Join Query Processing SQL Server 2005 strategies SQL Server 2008 additional query plans considered Table scan Database Engine Available in CTP

35 Star Join Query Processing Fact table scan Dimension 2 Dimension 1 Hash join Database Engine Available in CTP

36 Star Join Query Processing Fact table scan Dimension 2 Dimension 1 Hash join Bitmap filter SQL Server 2005 can create one bitmap filter Database Engine Available in CTP

37 Star Join Query Processing Fact table scan Dimension 2 Dimension 1 Hash join Bitmap filter 2 Bitmap filter 1 SQL Server 2008 can create multiple bitmap filters Database Engine Available in CTP

38 Star Join Query Processing Fact table scan Dimension 2 Dimension 1 Hash join Bitmap filter 1 Bitmap filter 2 SQL Server 2008 can move and reorder the filters Database Engine Available in CTP

39 Star Join: Early Results Customer lab: Query response: >1hrQuery response: >1hr Manual Tuning: 55 secManual Tuning: 55 sec SQL Server 2008: 35 secSQL Server 2008: 35 sec 11 queries slower 24 queries faster 17 queries slower 38 queries faster 27 queries slower 58 queries faster Database Engine Available in CTP

40 Subspace Computation Cube space is generally sparseCube space is generally sparse –Values only exist for small number of combinations of dimension keys SQL Server 2005 evaluates expressions on complete spaceSQL Server 2005 evaluates expressions on complete space Goal: MDX Query PerformanceMinimize the space on which calculations are performed Analysis Services

41 Subspace Computation SQL Server 2008 divides the space to separate calculated members, regular members and empty spaceSQL Server 2008 divides the space to separate calculated members, regular members and empty space –SP2 includes some subspace computation Analysis and evaluation of calculations for each cellAnalysis and evaluation of calculations for each cell Null/default values substituted on subspace basisNull/default values substituted on subspace basis Analysis Services Goal: MDX Query PerformanceMinimize the space on which calculations are performed

42 Melhorias em Relatório Scalable reporting engineScalable reporting engine IIS agnostic deploymentIIS agnostic deployment Reenderização em WordReenderização em Word More flexible report layoutMore flexible report layout Enhanced data visualizationEnhanced data visualization Reporting Services

43 Melhorias em Data Warehousing ETL ConsultaeAnáliseAdministraçãoeGerenciamento Melhorias em Administração e Gerenciabilidade Backup Compression, Backup Enhancements, Resource Governor

44 Compressão de Backup Pontos:Pontos: –Criar backups baseados em disco de forma online. –Backups com longo tempo de duração podem ser compactados. SQL Server 2008SQL Server 2008 –WITH COMPRESSION utilizado com BACKUP –Menor armazenamento requirido para manter backups online –Backups são executados mais rápido, menor IO é feito. –Restore automaticamento detecta a compressão e faz o ajuste necessário Database Engine

45 Melhorias no Backup Pain points:Pain points: –Exponential growth of backup times for databases over 20 GB –Limitations on the size of individual database files and number of metadata files SQL Server 2008:SQL Server 2008: –Replace the AS Backup storage subsystem –Ensure backup times grow linearly with size of database –Remove limitations on backup size, and metadata files Analysis Services

46 Performance no Backup Analysis Services

47 SQL Server 2005 Resource Management Pool de recursos ÚnicoPool de recursos Único Database engine não diferencia workloadsDatabase engine não diferencia workloads Best effort resourceBest effort resource sharingsharing Database Engine SQL Server Memory, CPU, threads… Resources Admin workload Backup Admin tasks OLTP workload OLTP* activity Report workload Specific reports Executive reports * Online Transaction Processing (OLTP)

48 SQL Server Resource Governor Workloads Abilidade para diferenciar workloadsAbilidade para diferenciar workloads –Exemplo: app name, loginapp name, login Limite de recursos:Limite de recursos: –Max memory % –Admin Tasks Ad hoc –Reports –Max CPU time –Grant timeout –Max Requests Monitoramento de RecursosMonitoramento de Recursos Memory, CPU, threads… Resources Admin workload Backup Admin tasks OLTP workload OLTP activity Report workload Specific reports Executive reports Database Engine

49 SQL Server Memory, CPU, threads… Resources Admin workload Backup Admin tasks OLTP workload OLTP activity Report workload Specific reports Executive reports Resource Governor Importance A carga de trabalho pode ter um rótulo de importância:A carga de trabalho pode ter um rótulo de importância: –Low –Medium –High Preferência de Alocação de recursos baseado na importânciaPreferência de Alocação de recursos baseado na importância High Database Engine

50 Resource Governor Pools Resource pool: A virtual subset of physical database engine resourcesResource pool: A virtual subset of physical database engine resources Oferece controle para definir:Oferece controle para definir: –Min memory % –Max memory % –Min CPU % –Max CPU % –Max DOP Monitoramento de recursosMonitoramento de recursos Permite até 20 recursos por PoolPermite até 20 recursos por Pool SQL Server Min memory 10% Max memory 20% Max CPU 20% Min memory 10% Max memory 20% Max CPU 20% Admin workload Backup Admin tasks OLTP workload OLTP activity Report workload Specific reports Executive reports High Max CPU 90% Application pool Admin pool Database Engine

51 Resource Governor Putting it all togetherPutting it all together –Workloads são mapeados para Resource Pools (n : 1) –Alterações online of groups/pools –SQL Server 2005 = default group + default pool Benefício PrincipalBenefício Principal –Prevenção durante a exeução da query SQL Server Min memory 10% Max memory 20% Max CPU 20% Min memory 10% Max memory 20% Max CPU 20% Admin workload Backup Admin tasks OLTP workload OLTP activity Report workload Specific reports Executive reports High Max CPU 90% Application pool Admin pool Database Engine

52 Mais informações sobre Database Engine:Database Engine: –Grouping sets –Partition-aligned indexed views –Separate date/time data types –Locking enhancements Analysis Services:Analysis Services: –Query tracing –Writeback performance –Read-only scalable database –Resource monitoring Integration Services:Integration Services: –Visual Studio* Tools for Applications (VSTA) scripting –Data flow thread allocation * The Microsoft ® Visual Studio ® development system

53 Grouping Sets Extension to the GROUP BY clauseExtension to the GROUP BY clause Lets you define multiple groupings in the same queryLets you define multiple groupings in the same query Produces a single result set that is equivalent to a UNION ALL of differently grouped rowsProduces a single result set that is equivalent to a UNION ALL of differently grouped rows Makes aggregation querying and reporting easier and fasterMakes aggregation querying and reporting easier and faster Database Engine Available in CTP

54 Data Flow Thread Allocation Previous releasesPrevious releases –Static thread assignment to sub expressions SQL Server 2008SQL Server 2008 –Dynamic thread assignment to operators What does it mean?What does it mean? –Dramatic improvement of parallelism for long computational chains –Thread starvation prevention –Better performance in simple cases Expected improvements: From a small percentage to 2XExpected improvements: From a small percentage to 2X Integration Services Available in CTP

55 Subspace Computation: SP2 Number of executions for all reports Number of executions for interactive reports Median execution for all reports (sec) Median execution for Int. reports (sec) Analysis Services

56 Conclusão O Microsoft SQL Server 2008, apresenta uma nova forma de trabalho relacionada a descoberta de dados, permitindo trabalhar com o datawarehousing de uma maneira mais fácil, principialmente nos processos de carga, transformação e extração de dados, oferecendo ainda mais flexibilidade, performance e segurança.O Microsoft SQL Server 2008, apresenta uma nova forma de trabalho relacionada a descoberta de dados, permitindo trabalhar com o datawarehousing de uma maneira mais fácil, principialmente nos processos de carga, transformação e extração de dados, oferecendo ainda mais flexibilidade, performance e segurança.

57 Maiores informações Visite TechNet TechNet Visite MSDN MSDN SQL Server Express home page press.mspxSQL Server Express home page press.mspx press.mspx press.mspx SQL Server Express Edition overview brary/en-us/dnsse/html/sseoverview.aspSQL Server Express Edition overview brary/en-us/dnsse/html/sseoverview.asp

58 Fóruns e Colunas Técnicas Media Center: https://www.technetbrasil.com.br/mediacenter/subje ct.aspx?center=16Media Center: https://www.technetbrasil.com.br/mediacenter/subje ct.aspx?center=16 https://www.technetbrasil.com.br/mediacenter/subje ct.aspx?center=16 https://www.technetbrasil.com.br/mediacenter/subje ct.aspx?center=16 Fórum – TechNet – SQL Server: BR/default.aspx?ForumGroupID=198&SiteID=29Fórum – TechNet – SQL Server: BR/default.aspx?ForumGroupID=198&SiteID=29 BR/default.aspx?ForumGroupID=198&SiteID=29 BR/default.aspx?ForumGroupID=198&SiteID=29 Fórum – MSDN – SQL Server: BR/default.aspx?ForumGroupID=148&SiteID=21Fórum – MSDN – SQL Server: BR/default.aspx?ForumGroupID=148&SiteID=21 BR/default.aspx?ForumGroupID=148&SiteID=21 BR/default.aspx?ForumGroupID=148&SiteID=21

59 Connect with TechNet Free Technical Briefings: Technical Briefings: TechNet Webcasts: Webcasts: TechNet Flash Newsletter: Flash Newsletter: TechNet Online: Online: Security Notification Service Sign-Up: Notification Service Sign-Up: TechNet Subscription*: Subscription*: Microsofts TechNet programs provide IT professionals with high- quality, how-to information and resources to efficiently evaluate, deploy, maintain and support their Microsoft technology. To learn more, subscribe, or attend a free briefing, please visit:

60 Questões ?

61 Blog juniorgalvao-mvp2007.spaces.live.comhttp:// juniorgalvao-mvp2007.spaces.live.comhttp:// juniorgalvao-mvp2007.spaces.live.comhttp:// juniorgalvao-mvp2007.spaces.live.com

62

63

64

65

66 © 2006 Microsoft Corporation. Todos os direitos reservados. O propósito desta apresentação é apenas informativa. Microsoft não faz nenhuma garantia expressa ou implícita nesta apresentação. Seu potencial. Nossa inspiração. MR


Carregar ppt "A Evolução do Data Warehousing no Microsoft SQL Server 2008 Pedro Antonio Galvão Junior Latex São Roque – Engenheiro de Processos MVP – Windows Server."

Apresentações semelhantes


Anúncios Google