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
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.
Microsoft SQL Server 2008Microsoft SQL Server 2008
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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>
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
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
Data CompressionData CompressionDatabase Database
EngineEngine
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Performance no BackupPerformance no BackupAnalysis Analysis ServicesServices
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)
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
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
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
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
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
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
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
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
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.
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
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
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:
Questões ?Questões ?
• [email protected]@gmail.com
BlogBlog
• http://http://juniorgalvao-mvp2007.spaces.live.comjuniorgalvao-mvp2007.spaces.live.com
© 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