Este documento discute melhores práticas para data warehouses SQL Server, incluindo carga de trabalho, padrões de consultas, localização de arquivos, fragmentação, hyper-threading e carga de dados. O documento também discute como um sistema desbalanceado com servidor poderoso mas armazenamento lento pode resultar em baixo desempenho.
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
SQLSat #127
1. SQL Saturday #127 Rio
Melhores Práticas para o seu DW
Felipe Ferreira - @SQLBoy
MVP SQL Server
Diretor de Operações – SolidQ BR
http://blogs.solidq.com/fferreira
fferreira@solidq.com
2. Agenda
Carga de Trabalho
Padrão de Consultas
Data Warehouse hoje...
Trace Flags
Fragmentação
Localização dos arquivos no disco
Hyper-Threading
Carga de dados..
4. Exemplo Consulta DW
SELECT L_RETURNFLAG, L_LINESTATUS, SUM(L_QUANTITY) AS SUM_QTY,
SUM(L_EXTENDEDPRICE) AS SUM_BASE_PRICE,
SUM(L_EXTENDEDPRICE*(1-L_DISCOUNT)) AS SUM_DISC_PRICE,
SUM(L_EXTENDEDPRICE*(1-L_DISCOUNT)*(1+L_TAX)) Scan Intensive
AS SUM_CHARGE,
AVG(L_QUANTITY) AS AVG_QTY,
AVG(L_EXTENDEDPRICE) AS AVG_PRICE,
AVG(L_DISCOUNT) AS AVG_DISC, Hash Joins
COUNT(*) AS COUNT_ORDER
FROM LINEITEM
GROUP BY L_RETURNFLAG,
L_LINESTATUS Aggregations
ORDER BY L_RETURNFLAG,
L_LINESTATUS
5. Data Warehouses hoje...
Storage enorme
Servidor SMP enorme
O que tem de errado com esse ambiente?
6. Resposta: sistema desbalanceado
Esse servidor consegue processar 12GB/seg
de IO, mas a storage consegue entregar
somente 2GB/seg
Normalmente a storage não é dedicada para o
SQL Server.
Normalmente os switchs não são dedicados para
a ligação SQL Server – Storage
Resultado: grande investimento, baixa performance
7. Trace Flags
-E: Alocar 64 extents por vez (4MB)
-T1117: Autogrow crescer em blocos iguais
em todos os arquivos
-T834: Habilitar grandes alocações de página
no SQL Buffer Pool
8. Fragmentação
Tipos de Fragmentação
Fragmentação do Arquivo (física)
Fragmentação de Extents (lógica)
Fragmentação de Páginas (lógica)
Fragmentação de índices non-clustered (lógica)
Ordenação na tabela/base de dados não implica
em ordenação nos blocos físicos do disco.
9. Disco
Fisicamente o seu arquivo pode estar
localizado na área mais externa do disco, na
área mais interna ou fragmentado por todo o
disco.
Você sabia que a localização
do seu arquivo pode
influenciar em mais de 30%
a performance de IO?
12. Carga de Dados
Utilização de área de staging para os dados
para arrumar a fragmentação
Utilizar MAXDOP 1 para mover dados de
staging para tabela fato
Em tabelas muito grandes, utilizar
particionamento e utilizar processo de carga
em 3 fases, com partition switch
13. Links
http://blogs.solidq.com/fferreira
Data Load Best Practices:
http://download.microsoft.com/download/2/
F/6/2F6AF505-30B7-4505-80E5-
B363714441C7/FT_3.0_Data_Load_Best_
Practices_Overview_2_14_11.pptx