a evolução do data warehousing no microsoft sql server 2008 pedro antonio galvão junior latex...

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

Upload: internet

Post on 17-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 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

A A EvoluçãoEvolução do Data do Data Warehousing no Microsoft Warehousing no Microsoft SQL Server 2008SQL Server 2008

Pedro Antonio Galvão JuniorPedro Antonio Galvão Junior

Latex São Roque – Engenheiro de ProcessosLatex São Roque – Engenheiro de ProcessosMVP – Windows Server System – SQL ServerMVP – Windows Server System – SQL Server

[email protected]@gmail.com

Page 2: 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

AgendaAgenda

• Visão geral das melhorias de SQL Server Visão geral das melhorias de SQL Server 2008 para data warehousing.2008 para data warehousing.

• Considerações sobre caracteristicas de Considerações sobre caracteristicas de performance.performance.

Page 3: 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

Microsoft SQL Server 2008Microsoft SQL Server 2008

Page 4: 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

Data Warehousing Data Warehousing

• Melhorias em toda a caixaMelhorias em toda a caixa– Integration Services, Database Engine, AnalysisIntegration Services, Database Engine, Analysis– Services, Reporting ServicesServices, Reporting Services

• Melhoria no produto como um todoMelhoria no produto como um todo– Foco em performance e escalabilidadeFoco 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 coresDatabase Engine: to 100 billion fact table rows, 32 cores– Analysis Services: to 25 billion fact table rows, 16 coresAnalysis Services: to 25 billion fact table rows, 16 cores

Page 5: 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

Melhorias em Data WarehousingMelhorias em Data Warehousing

Extração,Extração,Transformação, e Transformação, e

Carga (ETL)Carga (ETL)

ConsultaConsultae e

AnáliseAnálise

AdministraçãoAdministraçãoee

GerenciamentoGerenciamento

Melhorias em Extração, Transformação e CargaMerge, Minimal Merge, Minimal Merge, Minimal Logging, Insert over DML, Change Data Capture, IntegrationServices threading model, Lookup Enhancements, Compression

Page 6: 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

MergeMerge

• Nova instrução DML que combina várias Nova instrução DML que combina várias operações DML.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-2006.

Available Available in CTPin CTP

Database Database EngineEngine

Page 7: 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

MergeMerge

• 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.Building block para maior eficiência para ETL.– Implementação SQL-2006.Implementação SQL-2006.

XXXXX XXX XXXXXXX XXX

XXXXXXXXXXX XXX XXXX XXXX XXXX XXXXX XXX XX

Fonte

Fonte de Fonte de dados pode dados pode ser qualquer ser qualquer

table ou table ou consultaconsulta

Available Available in CTPin CTP

Database Database EngineEngine

Page 8: 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

MergeMerge

• 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.Building block para maior eficiência para ETL.– Implementação SQL 2006.Implementação SQL 2006.

XXXXX XXX XXXXXXX XXX

XXXXXXXXXXX XXX XXXX XXXX XXXX XXXXX XXX XX

Origem Destino

XXXXX XXXXX

XXX XXXDestino podeser qualquer

tabela ou viewatualizável

Available Available in CTPin CTP

Database Database EngineEngine

Page 9: 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

MergeMerge

• 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 ETLBuilding block para maior eficiência para ETL– Implementação SQL 2006Implementação SQL 2006

XXXXX XXX XXXXXXX XXX

XXXXXXXXXXX XXX XXXX XXXX XXXX XXXXX XXX XX

Origem Destino

XXXXX XXXXX

XXX XXX

XX XXX XXX

Se a fonte Se a fonte corresponder corresponder com o destino com o destino

UpdateUpdate

Available Available in CTPin CTP

Database Database EngineEngine

Page 10: 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

MergeMerge

• 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.Building block para maior eficiência para ETL.– Implementação SQL 2006.Implementação SQL 2006.

XXXXX XXX XXXXXXX XXX

XXXXXXXXXXX XXX XXXX XXXX XXXX XXXXX XXX XX

Origem Destino

XXXXX XXX XXXXXXX XXX

XXXXXXXXXXX XXX XXXX XXXX XXXX XXXXX XXX XX

XXX XXX

Se não Se não corresponde, corresponde,

InsertInsert

Available Available in CTPin CTP

Database Database EngineEngine

Page 11: 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

MergeMerge

• 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.Building block para maior eficiência para ETL.– Implementação SQL 2006.Implementação SQL 2006.

XXXXX XXX XXXXXXX XXX

XXXXXXXXXXX XXX XXXX XXXX XXXX XXXXX XXX XX

Origem Destino

XXXXX XXX XXXXXXX XXX

XXXXXXXXXXX XXX XXXX XXXX XXXX XXXXX XXX XX

XXX XXX

Se a fonte não Se a fonte não corresponde,corresponde,

DELETEDELETE

Available Available in CTPin CTP

Database Database EngineEngine

Page 12: 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

MergeMerge

MERGE Stock SMERGE Stock S

USING Trades TUSING Trades T

ON S.Stock = T.StockON S.Stock = T.Stock

WHEN MATCHED AND (Qty + Delta = 0) THENWHEN MATCHED AND (Qty + Delta = 0) THEN

DELETE -- delete stock if Qty reaches DELETE -- delete stock if Qty reaches 00

WHEN MATCHED THENWHEN MATCHED THEN

-- delete takes precedence over -- delete takes precedence over updateupdate

UPDATE SET Qty += DeltaUPDATE SET Qty += Delta

WHEN NOT MATCHED THENWHEN NOT MATCHED THEN

INSERT VALUES (Stock, Delta);INSERT VALUES (Stock, Delta);

Available Available in CTPin CTP

Database Database EngineEngine

Page 13: 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

MergeMerge

MERGE Stock SMERGE Stock S

USING Trades TUSING Trades T

ON S.Stock = T.StockON S.Stock = T.Stock

WHEN MATCHED AND (Qty + Delta = 0) THENWHEN MATCHED AND (Qty + Delta = 0) THEN

DELETE -- delete stock if Qty reaches 0DELETE -- delete stock if Qty reaches 0

WHEN MATCHED THENWHEN MATCHED THEN

-- delete takes precedence on update-- delete takes precedence on update

UPDATE SET Qty += DeltaUPDATE SET Qty += Delta

WHEN NOT MATCHED THENWHEN NOT MATCHED THEN

INSERT VALUES (Stock, Delta)INSERT VALUES (Stock, Delta)

OUTPUT $action, T.Stock, inserted.Delta;OUTPUT $action, T.Stock, inserted.Delta;

Available Available in CTPin CTP

Database Database EngineEngine

Page 14: 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

Melhorias no Registro de LogMelhorias no Registro de Log

• Mínima utilização de logs = “loga” somente o que é Mínima utilização de logs = “loga” somente o que é necessário para Rollbacknecessário para Rollback– Normalmente linhas individuais são registradasNormalmente linhas individuais são registradas

– Alocações de paginas são suficientes para inserções de Alocações de paginas são suficientes para inserções de UNDOUNDO

• 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 INDEXCREATE INDEX– SELECT INTOSELECT INTO– BULK INSERT/BCP with TABLOCKBULK INSERT/BCP with TABLOCK

Available Available in CTPin CTP

Database Database EngineEngine

Page 15: 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

Melhorias no Registro de LogMelhorias no Registro de Log

• SQL Server 2008SQL Server 2008– INSERT into table suporta o minimo de logINSERT into table suporta o minimo de log– 3X-5X Performance Boost over fully logged INSERT3X-5X Performance Boost over fully logged INSERT

Tempo de Execução

Database Database EngineEngine

Available Available in CTPin CTP

Page 16: 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

INSERT over DMLINSERT over DML

• Abilidade para ter uma instrução INSERT consome Abilidade para ter uma instrução INSERT consome resultados de um DML.resultados de um DML.– Melhorias na clausula OUTPUT INTO <table>Melhorias na clausula OUTPUT INTO <table>

• 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 Não permitido o uso de sub-consultas, dada accessing

UDFs e full-textUDFs e full-text

• Porque ?Porque ?– History tracking of slowly changing dimensionsHistory tracking of slowly changing dimensions– Dumping DML data stream to a secondary table for postprocessingDumping DML data stream to a secondary table for postprocessing

Database Database EngineEngine

Available Available in CTPin CTP

Page 17: 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

INSERT over DMLINSERT over DML

INSERT INTO Books (ISBN, Price, Shelf, EndValidDate)INSERT INTO Books (ISBN, Price, Shelf, EndValidDate)

SELECT ISBN, Price, Shelf, GetDate() FROMSELECT ISBN, Price, Shelf, GetDate() FROM

(( MERGE Books TMERGE Books T

USING WeeklyChanges AS SUSING WeeklyChanges AS S

ON T.ISBN = S.ISBN AND T.EndValidDate IS NULLON T.ISBN = S.ISBN AND T.EndValidDate IS NULL

WHEN MATCHED ANDWHEN MATCHED AND(T.Price <> S.Price OR T.Shelf <> S.Shelf) THEN(T.Price <> S.Price OR T.Shelf <> S.Shelf) THEN

UPDATE SET Price = S.Price, Shelf = S.ShelfUPDATE SET Price = S.Price, Shelf = S.Shelf

WHEN NOT MATCHED THENWHEN NOT MATCHED THEN

INSERT VALUES(S.ISBN, S.Price, S.Shelf, NULL)INSERT VALUES(S.ISBN, S.Price, S.Shelf, NULL)

OUTPUT $action, S.ISBN, Deleted.Price, Deleted.ShelfOUTPUT $action, S.ISBN, Deleted.Price, Deleted.Shelf

) Changes(Action, ISBN, Price, Shelf)) Changes(Action, ISBN, Price, Shelf)

WHERE Action = 'UPDATE’;WHERE Action = 'UPDATE’;

Database Database EngineEngine

Available Available in CTPin CTP

Page 18: 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

Change Data CaptureChange 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íncronoAlterações capturadas do log de modo assíncrono– Informações sobre o que foi alterado na fonte de dadosInformaçõ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 ServicesFacilmente consumido através do Integration Services

XXXXX XXX XXXXXXX XXX

XXXXXXXXXXX XXX XXXX XXXX XXXX XXXXX XXX XX

XXXXX XXX XXX XXXX XXX XXXXXXXXXX X XXX XXXX XX

XXXXXX

XXXXXXXXX

SourceSourcetabletable

Transaction logTransaction log

ChangeChangetabletable

CDCCDCfunctionsfunctions

CaptureCaptureprocessprocess

Database Database EngineEngine

Available Available in CTPin CTP

Page 19: 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

Change Data CaptureChange 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íncronoAlterações capturadas do log de modo assíncrono– Informações sobre o que foi alterado na fonte de dadosInformaçõ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 ServicesFacilmente consumido através do Integration Services

XXXXX XXX XXXXXXX XXX

XXXXXXXXXXX XXX XXXX XXXX XXXX XXXXX XXX XX

XXXXX XXX XXX XXXX XXX XXXXXXXXXX X XXX XXXX XX

XXXXXX

XXXXXXXXX

SourceTable

Transaction Log

ChangeTable

CDCFunctions

CaptureProcess

Database Database EngineEngine

Available Available in CTPin CTP

sys.sp_cdc_enable_db_change_data_capture sys.sp_cdc_enable_table_change_data_capture

cdc.fn_cdc_get_all_changes_<instance>cdc.fn_cdc_get_net_changes_<instance>

Page 20: 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

New LookupNew Lookup

• Lookup initialization Lookup initialization taking longer than ETL taking longer than ETL process?process?

• Any clever workarounds Any clever workarounds for max cache size?for max cache size?

• New lookup New lookup transformation:transformation:– Unrestricted cache sizeUnrestricted cache size– Persistent cachePersistent cache

Integration Integration ServicesServices

Page 21: 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

Compressão de DadosCompressã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 Database EngineEngine

Page 22: 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

Data CompressionData CompressionDatabase Database

EngineEngine

Page 23: 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

Data CompressionData Compression

• MicrosoftMicrosoft®® SQL SQL Server™ 2005Server™ 2005 Service Pack 2 (SP2)Service Pack 2 (SP2)– VarDecimalVarDecimal

• Permite utilizar Permite utilizar valores decimais valores decimais para armazenamento para armazenamento de dados de de dados de tamanho variável.tamanho variável.

Database Database EngineEngine

Page 24: 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

Data CompressionData Compression

• Coluna com Coluna com tamanho fixo:tamanho fixo:

– SQL Server 2008 SQL Server 2008 estende a lógica de estende a lógica de tamanho fixo para tamanho fixo para todos os tipos de todos os tipos de campos:campos:

• int, bigint, etc.int, bigint, etc.

Database Database EngineEngine

Page 25: 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

Data CompressionData Compression

• Compressão de Compressão de Prefixo:Prefixo:– A lista de prefixos é A lista de prefixos é

armazenada na armazenada na página para prefixos página para prefixos comuns.comuns.

– Valores individuais Valores individuais são substituidos:são substituidos:

• Token para prefixoToken para prefixo• Sufixo para valorSufixo para valor

4911-403C-922 6431-4D57-833200706011

11

11

11

11

11

11

11

22

22

33

33

33

33

4

Database Database EngineEngine

Page 26: 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

Data CompressionData Compression

• Dicionário de compressão:Dicionário de compressão:– O valor comum é O valor comum é

armazenado na páginaarmazenado na página– Valores comuns são Valores comuns são

substituidos por tokenssubstituidos por tokens

• 2X para 7X taxa de 2X para 7X taxa de compressão real para compressão real para dados fato no DW de dados fato no DW de forma antecipada, forma antecipada, dependendo do dadodependendo do dado

4911-403C-922 6431-4D57-833200706011

11

11

11

11

11

11

11

22

22

33

33

33

33

4

4911-403C-922 6431-4D57-833200706011

11

11

11

11

11

11

11

22

22

33

33

33

33

4

222 1033111 0.0044

11

11

22

22

22

22

33

33

33

33

33

33

33

44

44

44

44

44

44

Database Database EngineEngine

Page 27: 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

Melhorias no DesignerMelhorias no Designer• Um bom desenvolvimento pode oferecer melhorias de Um bom desenvolvimento pode oferecer melhorias de

performance e escalabilidadeperformance e escalabilidade

• Utilizando melhores práticas para integridade baseando-se Utilizando melhores práticas para integridade baseando-se no conhecimento dentro do designer.no conhecimento dentro do designer.– Apresentação de relacionamentos e atributos, melhorias nos Apresentação de relacionamentos e atributos, melhorias nos

assistentes, simples criação e representação de chaves, assistentes, simples criação e representação de chaves, AlertasAlertas

• Melhorias na suportabilidadeMelhorias na suportabilidade

Analysis Analysis ServicesServices

Available Available in CTPin CTP

Page 28: 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

Melhorias em Data WarehousingMelhorias em Data Warehousing

ETLETLConsultaConsulta

eeAnáliseAnálise

AdministraçãoAdministraçãoe e

GerenciamentoGerenciamento

Melhorias em Consultas e Analise Parallelism for Partitioning, Star Join processing, Grouping Sets, SubspaceComputation

Page 29: 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

Paralelismo em Tabelas Paralelismo em Tabelas ParticionadasParticionadas

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 Database EngineEngine

Terça - Feira

Execução de Relatórios Semanais

Tempo de resposta baixo

Usuários não contentes

Page 30: 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

Paralelismo em Tabelas Paralelismo em Tabelas ParticionadasParticionadas

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 Database EngineEngine

Page 31: 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

Paralelismo em Tabelas Paralelismo em Tabelas ParticionadasParticionadas

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 Database EngineEngine

Page 32: 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

Paralelismo em Tabelas Paralelismo em Tabelas ParticionadasParticionadas

Table: Orders Partitioned on a weekly basis on OrderDate

• SQL Server 2008:

Várias threads em todas partitiçõese.g. 64 threads moving across partitions

Addresses major motivation for hybrid Range/Hash requests

Database Database EngineEngine

Page 33: 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

Two data pointsTwo 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 Find total sales between 1/6/02 and 1/13/02.”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: 15780 (ms)SQL Server 2005: 15780 (ms)

• SQL Server 2008: 992 (ms)SQL Server 2008: 992 (ms)

Paralelismo em Tabelas Paralelismo em Tabelas ParticionadasParticionadas

select sk_date_id, sum(sales_qty*sale_amt)from tbl_fact_store_sales swhere s.sk_date_id between 20020106 and 20020113group by sk_date_idorder by sk_date_id asc

3.5x

Database Database EngineEngine

15x

* Microsoft® SQL Server™ 2005

Page 34: 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

Star Join Query ProcessingStar Join Query Processing

SQL Server 2005 strategiesSQL Server 2005 strategies

SQL Server 2008 additional SQL Server 2008 additional query plans consideredquery plans considered

Table scanTable scan

Database Database EngineEngine

Available Available in CTPin CTP

Page 35: 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

Star Join Query ProcessingStar Join Query Processing

Fact table scan

Dimension 2

Dimension 1

Hash join

Hash join

Database Database EngineEngine

Available Available in CTPin CTP

Page 36: 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

Star Join Query ProcessingStar Join Query Processing

Fact table scan

Dimension 2

Dimension 1

Hash join

Hash join

Bitmap Bitmap filterfilter

SQL Server 2005SQL Server 2005can create onecan create one

bitmap filterbitmap filter

Database Database EngineEngine

Available Available in CTPin CTP

Page 37: 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

Star Join Query ProcessingStar Join Query Processing

Fact table scan

Dimension 2

Dimension 1

Hash join

Hash join

Bitmap Bitmap filter 2filter 2

Bitmap Bitmap filter 1filter 1

SQL Server 2008SQL Server 2008can create multiplecan create multiple

bitmap filtersbitmap filters

Database Database EngineEngine

Available Available in CTPin CTP

Page 38: 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

Star Join Query ProcessingStar Join Query Processing

Fact table scan

Dimension 2

Dimension 1

Hash join

Hash join

Bitmap Bitmap filter 1filter 1

Bitmap Bitmap filter 2filter 2

SQL Server 2008SQL Server 2008can move and can move and

reorder the filtersreorder the filters

Database Database EngineEngine

Available Available in CTPin CTP

Page 39: 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

Star Join: Early ResultsStar Join: Early Results

Customer lab: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 Database EngineEngine

Available Available in CTPin CTP

Page 40: 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

Subspace ComputationSubspace Computation

• Cube space is generally Cube space is generally “sparse”“sparse”– Values only exist for small Values only exist for small

number of combinations of number of combinations of dimension keysdimension keys

• SQL Server 2005 evaluates SQL Server 2005 evaluates expressions on complete expressions on complete spacespace

Goal: Goal: MDX Query Performance—MinimizeMDX Query Performance—Minimize the space on the space on which calculations are performedwhich calculations are performed

Analysis Analysis ServicesServices

Page 41: 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

Subspace ComputationSubspace Computation

• SQL Server 2008 divides the SQL Server 2008 divides the space to separate calculated space to separate calculated members, regular members and members, regular members and empty spaceempty space– SP2 includes some subspace SP2 includes some subspace

computationcomputation

• Analysis and evaluation of Analysis and evaluation of calculations for each cellcalculations for each cell

• Null/default values substituted on Null/default values substituted on subspace basissubspace basis

Analysis Analysis ServicesServices

Goal: Goal: MDX Query Performance—MinimizeMDX Query Performance—Minimize the space on the space on which calculations are performedwhich calculations are performed

Page 42: 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

Melhorias em RelatórioMelhorias 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 Reporting ServicesServices

Page 43: 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

Melhorias em Data WarehousingMelhorias em Data Warehousing

ETLETLConsultaConsulta

eeAnáliseAnálise

AdministraçãoAdministraçãoee

GerenciamentoGerenciamento

Melhorias em Administração e GerenciabilidadeBackup Compression, Backup Enhancements, Resource Governor

Page 44: 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

Compressão de BackupCompressão de Backup

• Pontos:Pontos:– Criar backups baseados em disco de forma online.Criar backups baseados em disco de forma online.– Backups com longo tempo de duração podem ser Backups com longo tempo de duração podem ser

compactados.compactados.

• SQL Server 2008SQL Server 2008– WITH COMPRESSION utilizado com BACKUPWITH COMPRESSION utilizado com BACKUP

– Menor armazenamento requirido para manter backups Menor armazenamento requirido para manter backups

onlineonline– Backups são executados mais rápido, menor IO é feito. Backups são executados mais rápido, menor IO é feito.

– Restore automaticamento detecta a compressão Restore automaticamento detecta a compressão e faz o ajuste necessárioe faz o ajuste necessário

Database Database EngineEngine

Page 45: 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

Melhorias no BackupMelhorias no Backup

• Pain points:Pain points:– Exponential growth of backup times for databases over Exponential growth of backup times for databases over

20 GB20 GB– Limitations on the size of individual database files and Limitations on the size of individual database files and

number of metadata filesnumber of metadata files

• SQL Server 2008:SQL Server 2008:– Replace the AS Backup storage subsystemReplace the AS Backup storage subsystem– Ensure backup times grow linearly with size of databaseEnsure backup times grow linearly with size of database– Remove limitations on backup size, and metadata filesRemove limitations on backup size, and metadata files

Analysis Analysis ServicesServices

Page 46: 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

Performance no BackupPerformance no BackupAnalysis Analysis ServicesServices

Page 47: 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

SQL Server 2005SQL Server 2005Resource ManagementResource Management

• Pool de recursos Pool de recursos ÚnicoÚnico

• Database engine não Database engine não diferencia workloadsdiferencia workloads

• Best effort resourceBest effort resource• sharingsharing

Database Database EngineEngine

SQL ServerSQL Server

Memory, CPU, threads…

Resources

Admin workload

Backup

Admin tasks

OLTP workload

OLTP* activity

Report workload

Specificreports

Executivereports

* Online Transaction Processing (OLTP)

Page 48: 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

SQL ServerSQL Server

Resource GovernorResource GovernorWorkloadsWorkloads

• Abilidade para diferenciar Abilidade para diferenciar workloadsworkloads– Exemplo:Exemplo:

• app name, loginapp name, login

• Limite de recursos:Limite de recursos:– Max memory %Max memory %– Admin Tasks Ad‐hocAdmin Tasks Ad‐hoc– ReportsReports– Max CPU timeMax CPU time– Grant timeoutGrant timeout– Max RequestsMax Requests

• Monitoramento de Monitoramento de RecursosRecursos

Memory, CPU, threads…

Resources

Admin workload

Backup

Admin tasks

OLTP workload

OLTPactivity

Report workload

Specificreports

Executivereports

Database Database EngineEngine

Page 49: 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

SQL ServerSQL Server

Memory, CPU, threads…

Resources

Admin workload

Backup

Admin tasks

OLTP workload

OLTP activity

Report workload

Specificreports

Executivereports

Resource GovernorResource GovernorImportanceImportance

• A carga de trabalho A carga de trabalho pode ter um rótulo pode ter um rótulo de importância:de importância:– LowLow– MediumMedium– HighHigh

• Preferência de Preferência de Alocação de Alocação de recursos baseado recursos baseado na importânciana importância

High

Database Database EngineEngine

Page 50: 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

Resource GovernorResource GovernorPoolsPools

• Resource pool: A virtual Resource pool: A virtual subset of physical database subset of physical database engine resourcesengine resources

• Oferece controle para Oferece controle para definir:definir:

– Min memory %Min memory %

– Max memory %Max memory %– Min CPU %Min CPU %– Max CPU %Max CPU %– Max DOPMax DOP

• Monitoramento de recursosMonitoramento de recursos

• Permite até 20 recursos Permite até 20 recursos por Poolpor Pool

SQL ServerSQL Server

Min memory 10%Max memory 20%

Max CPU 20%

Admin workload

Backup

Admin tasks

OLTP workload

OLTP activity

Report workload

Specificreports

Executivereports

High

Max CPU 90%

Application poolAdmin pool

Database Database EngineEngine

Page 51: 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

Resource GovernorResource Governor

• Putting it all togetherPutting it all together– Workloads são Workloads são

mapeados para mapeados para Resource Pools (n : 1)Resource Pools (n : 1)

– Alterações online of Alterações online of groups/poolsgroups/pools

– SQL Server 2005 = SQL Server 2005 = default group + default default group + default poolpool

• Benefício PrincipalBenefício Principal– Prevenção durante a Prevenção durante a

exeução da query exeução da query

SQL ServerSQL Server

Min memory 10%Max memory 20%

Max CPU 20%

Admin workload

Backup

Admin tasks

OLTP workload

OLTP activity

Report workload

Specificreports

Executivereports

High

Max CPU 90%

Application poolAdmin pool

Database Database EngineEngine

Page 52: 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

Mais informações sobreMais informações sobre

• Database Engine:Database Engine:– Grouping setsGrouping sets

– Partition-aligned indexed viewsPartition-aligned indexed views

– Separate date/time data typesSeparate date/time data types

– Locking enhancementsLocking enhancements

• Analysis Services:Analysis Services:– Query tracingQuery tracing

– Writeback performanceWriteback performance

– Read-only scalable database Read-only scalable database

– Resource monitoringResource monitoring

• Integration Services:Integration Services:– Visual Studio* Tools for Applications (VSTA) scriptingVisual Studio* Tools for Applications (VSTA) scripting

– Data flow thread allocationData flow thread allocation* The Microsoft® Visual Studio® development system

Page 53: 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

Grouping SetsGrouping Sets

• Extension to the GROUP BY clauseExtension to the GROUP BY clause

• Lets you define multiple groupings in the Lets you define multiple groupings in the same querysame query

• Produces a single result set that is equivalent Produces a single result set that is equivalent to a UNION ALL of differently grouped rowsto a UNION ALL of differently grouped rows

• Makes aggregation querying and reporting Makes aggregation querying and reporting easier and fastereasier and faster

Database Database EngineEngine

Available Available in CTPin CTP

Page 54: 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

Data Flow Thread Data Flow Thread AllocationAllocation• Previous releasesPrevious releases

– Static thread assignment to sub expressionsStatic thread assignment to sub expressions

• SQL Server 2008SQL Server 2008– Dynamic thread assignment to operatorsDynamic thread assignment to operators

• What does it mean?What does it mean?– Dramatic improvement of parallelism for long computational chains Dramatic improvement of parallelism for long computational chains – Thread starvation preventionThread starvation prevention– Better performance in simple casesBetter performance in simple cases

• Expected improvements: From a small percentage to 2XExpected improvements: From a small percentage to 2X

Integration Integration ServicesServices

Available Available in CTPin CTP

Page 55: 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

Subspace Computation: SP2Subspace Computation: SP2Number of executions for all reportsNumber of executions for all reports Number of executions for interactive reportsNumber of executions for interactive reports

Median execution for all reports (sec)Median execution for all reports (sec) Median execution for Int. reports (sec)Median execution for Int. reports (sec)

Analysis Analysis ServicesServices

Page 56: 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

ConclusãoConclusão

• O Microsoft SQL Server 2008, apresenta uma nova O Microsoft SQL Server 2008, apresenta uma nova

forma de trabalho relacionada a descoberta de forma de trabalho relacionada a descoberta de

dados, permitindo trabalhar com o dados, permitindo trabalhar com o

datawarehousing de uma maneira mais fácil, datawarehousing de uma maneira mais fácil,

principialmente nos processos de carga, principialmente nos processos de carga,

transformação e extração de dados, oferecendo transformação e extração de dados, oferecendo

ainda mais flexibilidade, performance e segurança.ainda mais flexibilidade, performance e segurança.

Page 57: 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

Maiores informaçõesMaiores informações

• Visite TechNet Visite TechNet www.microsoft.com/technet/brasilwww.microsoft.com/technet/brasil

• Visite MSDNVisite MSDN www.microsoft.com/msdn/brasil www.microsoft.com/msdn/brasil

• SQL Server Express home pageSQL Server Express home pagehttp://http://http://www.microsoft.com/brasil/sql/sqlexhttp://www.microsoft.com/brasil/sql/sqlexpress.mspxpress.mspx

• SQL Server Express Edition overviewSQL Server Express Edition overviewhttp://msdn.microsoft.com/library/default.asp?url=/lihttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsse/html/sseoverview.aspbrary/en-us/dnsse/html/sseoverview.asp

Page 58: 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

Fóruns e Colunas TécnicasFóruns e Colunas Técnicas

• Media Center: Media Center: https://www.technetbrasil.com.br/mediacenter/subjehttps://www.technetbrasil.com.br/mediacenter/subject.aspx?center=16ct.aspx?center=16

• Fórum – TechNet – SQL Server: Fórum – TechNet – SQL Server: http://forums.microsoft.com/Technet-BR/default.asphttp://forums.microsoft.com/Technet-BR/default.aspx?ForumGroupID=198&SiteID=29x?ForumGroupID=198&SiteID=29

• Fórum – MSDN – SQL Server: Fórum – MSDN – SQL Server: http://forums.microsoft.com/MSDN-BR/default.aspxhttp://forums.microsoft.com/MSDN-BR/default.aspx?ForumGroupID=148&SiteID=21?ForumGroupID=148&SiteID=21

Page 59: 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

Connect with TechNetConnect with TechNet

• Free Technical Briefings: Free Technical Briefings: www.microsoft.com/seminar/events www.microsoft.com/seminar/events • TechNet Webcasts: TechNet Webcasts: www.microsoft.com/webcasts www.microsoft.com/webcasts • TechNet Flash Newsletter: www.microsoft.com/technet/flash TechNet Flash Newsletter: www.microsoft.com/technet/flash • TechNet Online: TechNet Online: www.microsoft.com/technet www.microsoft.com/technet • Security Notification Service Sign-Up:Security Notification Service Sign-Up:

www.microsoft.com/technet/security/signup/default.mspxwww.microsoft.com/technet/security/signup/default.mspx• TechNet Subscription*: TechNet Subscription*:

www.microsoft.com/technet/subscriptions www.microsoft.com/technet/subscriptions

Microsoft’s TechNet programs provide IT professionals with high-Microsoft’s TechNet programs provide IT professionals with high-quality, how-to information and resources to efficiently evaluate, quality, how-to information and resources to efficiently evaluate, deploy, maintain and support their Microsoft technology. To learn more, deploy, maintain and support their Microsoft technology. To learn more, subscribe, or attend a free briefing, please visit:subscribe, or attend a free briefing, please visit:

Page 60: 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

Questões ?Questões ?

[email protected]@gmail.com

Page 61: 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

BlogBlog

• http://http://juniorgalvao-mvp2007.spaces.live.comjuniorgalvao-mvp2007.spaces.live.com

Page 62: 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
Page 63: 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
Page 64: 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
Page 65: 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
Page 66: 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

© 2006 Microsoft Corporation. Todos os direitos reservados.© 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.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.Seu potencial. Nossa inspiração.MRMR