Globalcode – Open4education
Trilha banco de dados - SSD no
banco de dados é bom mesmo?
Dr. Mauro Pichiliani
mauro@pichilia...
Globalcode – Open4education
Quem sou eu
Mestre e doutor em computação pelo ITA
Escritor da SQL Magazine, .NET e Java Magaz...
Globalcode – Open4education
Agenda
Subsistema de armazenamento
SSD: opções de mercado
Vale a pena? Show me the money!
Anál...
Globalcode – Open4education
Subsistema de armazenamento
Possui vários componentes: conheça todos!
Simplificando:
Tecnologi...
Globalcode – Open4education
Hardware – HD magnética
HD (Hard Disk) magnética
Também chamada de HDD (High-capacity hard dis...
Globalcode – Open4education
Hardware – SSD
SSD (Solid State Drive): “revolução” na área
Também chamado de flash drive
Sem ...
Globalcode – Open4education
Hardware/Software - Ramdrive
Ramdrive: mapear memória RAM em um drive
Tecnologia “antiga”, mas...
Globalcode – Open4education
Hardware/Software - Nuvem
 Utilizam ambiente virtualizado: hypervisor (Xen, KVM,
Virtual PC, ...
Globalcode – Open4education
SSD: Opções de mercado
Geralmente storage híbrido ou completo (all-flash)
Cuidado com DAS (dir...
Globalcode – Open4education
Vale a pena? Comparando
desempenho
Comparação empírica: medir taxa de acesso para (1) importar...
Globalcode – Open4education
Ambiente: Hardware e software
Hardware:
Desktop Intel Core i950 (4 cores @ 3.06 GHZ), 16GB RAM...
Globalcode – Open4education
Ambiente: Dados
Arquivos/Tabela com 11 colunas: 1 int + 10 float
Coluna int (sequêncial) + val...
Globalcode – Open4education
Baseline: Crystal Disk Mark
Testes com o Crystal Disk Mark mediram taxa de transferência de
da...
Globalcode – Open4education
Crystal Disk Mark – Resultado leitura
Na média geral SSD foi 73% mais rápido que HD 7200
Globalcode – Open4education
Crystal Disk Mark – Resultado
gravação
Na média geral SSD foi 73% mais rápido que HD 7200
Globalcode – Open4education
(1) Testes de backup/restore
Testes de backup/restore mediram taxa de transferência de dados e...
Globalcode – Open4education
Testes de restore (leitura)
Na média geral SSD foi 53% mais rápido que HD 7200
Globalcode – Open4education
Testes de backup (gravação)
Na média geral SSD foi 78% vezes mais rápido que HD 7200
Globalcode – Open4education
(2) Testes de importação e
exportação
Testes de importação/exportação mediram taxa de transfer...
Globalcode – Open4education
Testes de importação BCP (leitura)
Na média geral SSD e HD 7200 foram praticamente iguais no t...
Globalcode – Open4education
Testes de exportação BCP (gravação)
Na média geral SSD e HD 7200 foram praticamente iguais no ...
Globalcode – Open4education
Testes de importação BULK (leitura)
Na média geral SSD foi 53% mais rápido que HD 7200
Globalcode – Open4education
Testes de exportação BULK (gravação)
Na média geral SSD foi 48% mais rápido que HD 7200
Globalcode – Open4education
(3) Testes de transações
Testes de transações mediram o tempo de execução: quanto menor,
melho...
Globalcode – Open4education
Testes de transações individuais
Na média geral SSD e HD 7200 foram praticamente iguais no tes...
Globalcode – Open4education
Testes de transações agrupadas
Na média geral RAMDRIVE, SSD, HD 7200, HD 5400 foram praticamen...
Globalcode – Open4education
Tabela de resultados
Tipo de
teste
Detalhe do
teste
Último
colocado
Valor
Médio
último
colocad...
Globalcode – Open4education
Análise dos resultados
ramdrive teve melhor desempenho seguido de SSD
SSD é mais rápido ou igu...
Globalcode – Open4education
Conclusão
P: SSD no banco de dados é bom mesmo?
R: Sim, mas o quão bom depente da tarefa!
Não ...
Globalcode – Open4education
Perguntas?
Dr. Mauro Pichiliani
mauro@pichiliani.com.br
@pichiliani
@databasecast
Próximos SlideShares
Carregando em…5
×

SSD no banco de dados é bom mesmo?

1.610 visualizações

Publicada em

Esta palestra foi apresentada na trilha de banco de dados do evento TDC (The Developers Conference) 2016 realizado em São Paulo, Brasil. O conteúdo aborda o uso da tecnologia SSD em banco de dados junto com testes de desempenho.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

SSD no banco de dados é bom mesmo?

  1. 1. Globalcode – Open4education Trilha banco de dados - SSD no banco de dados é bom mesmo? Dr. Mauro Pichiliani mauro@pichiliani.com.br
  2. 2. Globalcode – Open4education Quem sou eu Mestre e doutor em computação pelo ITA Escritor da SQL Magazine, .NET e Java Magazine Colaborador do iMasters há 15 anos Autor do livro “Conversando sobre banco de dados” Co-produtor do DatabaseCast Consultor independente e autor de cursos on-line
  3. 3. Globalcode – Open4education Agenda Subsistema de armazenamento SSD: opções de mercado Vale a pena? Show me the money! Análise dos resultados Conclusão
  4. 4. Globalcode – Open4education Subsistema de armazenamento Possui vários componentes: conheça todos! Simplificando: Tecnologia de transferência Hardware/Software Tecnologias de transferência comuns: USB 2.0: 480 Mbit/s SATA (Seria AT Attachment): 6 Gbit/s SAS (Serial Attached SCSI): 12 Gbit/s
  5. 5. Globalcode – Open4education Hardware – HD magnética HD (Hard Disk) magnética Também chamada de HDD (High-capacity hard disk drive) Componentes mecânicos (sujeito a falhas) Grande quantidade de dados (Terabytes) Memória cache interna Característica RPM (rotações por minuto): 5.400 rpm: notebooks 7.200 rpm: desktops 15.000 (15k) rpm: servidores
  6. 6. Globalcode – Open4education Hardware – SSD SSD (Solid State Drive): “revolução” na área Também chamado de flash drive Sem componentes mecânicos: memória flash + memória cache interna Média quantidade de dados (Gigabytes) Alta taxa de transferência de dados Requer alguns cuidados especiais Velocidades variam muito de acordo com cada fabricante Relação custo x benefício Nota: não se esqueça do tempo de vida!
  7. 7. Globalcode – Open4education Hardware/Software - Ramdrive Ramdrive: mapear memória RAM em um drive Tecnologia “antiga”, mas com novidades Reserva memória RAM de forma exclusiva Reduz memória para processos do SO Volátil, porém pode-se exportar drive (ISO) Alta velocidade (barramento interno) Baixa quantidade de armazenamento (gigabytes) Não é limitado pela tecnologia de transferência Exemplo: SoftPerfect RAM Disk
  8. 8. Globalcode – Open4education Hardware/Software - Nuvem  Utilizam ambiente virtualizado: hypervisor (Xen, KVM, Virtual PC, etc)  Custo por uso ou valor fixo mensal  Possibilidade de adição de recursos (modelo de escalonamento horizontal/banco distribuído)  Componentes virtualizados  Ambiente com recursos compartilhados  Baixa velocidade  Quantidade de armazenamento variável  SLA de IOPS em alguns casos
  9. 9. Globalcode – Open4education SSD: Opções de mercado Geralmente storage híbrido ou completo (all-flash) Cuidado com DAS (direto) e NAS/SAN (remoto) Fatores: IOPS, latência e throughput Preço varia de acordo com componentes e contrato Linhas de produtos específicos para bancos de dados Dica: canais do YouTube contêm muita informação! Exemplos: EMC Unity 300F All-flash http://bit.ly/299bxHJ Dell PowerVault MD1220 Híbrido http://dell.to/2989YxX
  10. 10. Globalcode – Open4education Vale a pena? Comparando desempenho Comparação empírica: medir taxa de acesso para (1) importar/exportar dados; (2) backup/restore; e (3) executar transações Comparação justa e prática: ambientes devem realizar a mesma tarefa (ler e gravar dados por meio do banco de dados) Opções comparadas: HD magnética 5400 rpm mSATA (notebook): HD 5400 HD magnética 7200 rpm SATA (desktop): HD 7200 SSD 250 GB SATA (desktop): SSD Ramdrive 10 GB (desktop): ramdrive Nuvem fornecedor X com HD normal: Cloud normal Nuvem fornecedor X com HD SSD: Cloud SSD Comparação apenas com uma instância (sem ambiente distribuído) Testes realizados sem opções de paralelismo e RAID
  11. 11. Globalcode – Open4education Ambiente: Hardware e software Hardware: Desktop Intel Core i950 (4 cores @ 3.06 GHZ), 16GB RAM: HD 7200, SSD, ramdrive Notebook Dell Inspiron 14 (i3, 2 cores @ 1.7Ghz), 4 GB RAM: HD 5400 CPU virtual (Intel Xeon 2 cores @ 2.6 Ghz): Cloud normal e Cloud SSD Software: Crystal Disk Mark 64 bits (baseline) SQL Server 2014 Standard Windows Server 2008 Sistema de arquivos NTFS com opções padrão Ambiente, protoloco do experimento, dados e análises disponíveis futuramente no site da revista SQL Magazine
  12. 12. Globalcode – Open4education Ambiente: Dados Arquivos/Tabela com 11 colunas: 1 int + 10 float Coluna int (sequêncial) + valores float aleatórios (entre 1,00 e 100.000,00) Arquivo CSV com linhas (N) variando de 1.000.000 a 10.000.000 Quantidade de transações (N) variando de 10.000 a 100.000 Medição da taxa de transferência em Megabytes por segundo (MB/s): Crystal Disk Mark: informado pela ferramenta Backup/Restore: informado pelo comando Importação/Exportação: tamanho do arquivo dividido pelo tempo Medição de transações pelo tempo total gasto em segundos Cada teste foi realizado 10 vezes e obtida a média Arquivos de dados, transaction log e arquivos CSV no mesmo drive Espaço em disco alocado previamente para arquivos de dados e log Sem configurações de cache, lock e parâmetros específicos Recovery model: bulk-logged
  13. 13. Globalcode – Open4education Baseline: Crystal Disk Mark Testes com o Crystal Disk Mark mediram taxa de transferência de dados em MB/s: quanto maior, melhor 4 testes internos para leitura e gravação: Seq Q32T1: Leitura/Gravação sequencial (tam. bloco = 128KB) com múltiplas filas (queues) e threads 4K Q32T1: Leitura/Gravação randômica (tam. do bloco = 4KB) com múltiplas filas (queues) e threads Seq: Leitura/Gravação sequencial (tam. do bloco = 1MB) com uma única thread 4K: Leitura/Gravação randômica (tam. do bloco = 4KB) com uma thread e uma fila (queue)
  14. 14. Globalcode – Open4education Crystal Disk Mark – Resultado leitura Na média geral SSD foi 73% mais rápido que HD 7200
  15. 15. Globalcode – Open4education Crystal Disk Mark – Resultado gravação Na média geral SSD foi 73% mais rápido que HD 7200
  16. 16. Globalcode – Open4education (1) Testes de backup/restore Testes de backup/restore mediram taxa de transferência de dados em MB/s: quanto maior, melhor Backup e restore completo (full) do banco Somente um backup por arquivo (backup device) Checagem de arquivo não computada no valor de MB/s retornado
  17. 17. Globalcode – Open4education Testes de restore (leitura) Na média geral SSD foi 53% mais rápido que HD 7200
  18. 18. Globalcode – Open4education Testes de backup (gravação) Na média geral SSD foi 78% vezes mais rápido que HD 7200
  19. 19. Globalcode – Open4education (2) Testes de importação e exportação Testes de importação/exportação mediram taxa de transferência de dados em MB/s: quanto maior, melhor Testes de importação/exportação divididos em dois grupos: Importação/exportação linha a linha de arquivos CSV (BCP) Importação/exportação direta binária dos arquivos (BULK) Importação BCP: utilitário de linha de comando bcp Importação BULK: SELECT com função OPENROWSET() Exportação BCP: utilitário de linha de comando bcp Exportação BULK: utilitário de linha de comando bcp com parâmetro -c A cada operação de importação/exportação: Limpeza do cache Backup de transaction log
  20. 20. Globalcode – Open4education Testes de importação BCP (leitura) Na média geral SSD e HD 7200 foram praticamente iguais no teste
  21. 21. Globalcode – Open4education Testes de exportação BCP (gravação) Na média geral SSD e HD 7200 foram praticamente iguais no teste
  22. 22. Globalcode – Open4education Testes de importação BULK (leitura) Na média geral SSD foi 53% mais rápido que HD 7200
  23. 23. Globalcode – Open4education Testes de exportação BULK (gravação) Na média geral SSD foi 48% mais rápido que HD 7200
  24. 24. Globalcode – Open4education (3) Testes de transações Testes de transações mediram o tempo de execução: quanto menor, melhor Testes de transação divididos em dois grupos: Individuais: cada instrução é uma transação Agrupadas: todas as instruções dentro de uma única transação Uso do comando INSERT dentro de script com loop: mesmos dados dos arquivos CSV N variando de 10.000 a 100.000 por motivos de duração de testes A cada teste de transação: Limpeza do cache Backup de transaction log
  25. 25. Globalcode – Open4education Testes de transações individuais Na média geral SSD e HD 7200 foram praticamente iguais no teste
  26. 26. Globalcode – Open4education Testes de transações agrupadas Na média geral RAMDRIVE, SSD, HD 7200, HD 5400 foram praticamente iguais no teste
  27. 27. Globalcode – Open4education Tabela de resultados Tipo de teste Detalhe do teste Último colocado Valor Médio último colocado (MB/s) Primeiro colocado Valor médio primeiro colocado (MB/s) Crystal Disk Mark - Leitura 4K HD 5400 0,3 ramdrive 1.216,4 SEQ Cloud SSD 25,2 ramdrive 5.778,6 4K Q32T1 HD 5400 0,5 ramdrive 1.079,1 SEQ Q32T1 Cloud SSD 25,2 ramdrive 3.905,8 Crystal Disk Mark - Gravação 4K HD 5400 0,7 ramdrive 937 SEQ Cloud SSD 25,2 ramdrive 6.592,5 4K Q32T1 HD 5400 0,7 ramdrive 910,7 SEQ Q32T1 Cloud SSD 25,2 ramdrive 5.504,1 Restore (leitura) Restore Cloud SSD 3,5 ramdrive 1.024,7 Backup (gravação) Backup Cloud SSD 13 ramdrive 2.332,2 Importação (leitura) BCP HD 5400 5,8 ramdrive 20,4 Bulk insert Cloud SSD 52,3 ramdrive 4.071,5 Exportação (gravação) BCP HD 5400 5,5 ramdrive 11,2 Bulk export Cloud SSD 8,8 ramdrive 115,9 Transações Individual Cloud SSD 37,3s ramdrive 1,7s Agrupado HD 5400 0,6s SSD, HD 7200, ramdrive 0,4s
  28. 28. Globalcode – Open4education Análise dos resultados ramdrive teve melhor desempenho seguido de SSD SSD é mais rápido ou igual que HD 7200 em todos os testes (média de 63% mais rápida) Opções na nuvem deixaram muito a desejar: Em alguns casos, resultados piores que HD 5400 Diferença de preço de Cloud SSD para Cloud HD não possui boa relação custo x benefício Opções na nuvem apresentaram muita variações nos testes (fatores externos?) Memória virtual não foi usada em nenhum dos cenários de testes Críticas: Poucas opções de nuvem testadas Sem uso de RAID e storage específico Ambiente Windows e SQL Server apenas
  29. 29. Globalcode – Open4education Conclusão P: SSD no banco de dados é bom mesmo? R: Sim, mas o quão bom depente da tarefa! Não esqueça de colocar custos na discussão! Há evidências empíricas que sugerem melhor desempenho de opções em memória (ramdrive e SSD) em relação às demais Há evidência que sugerem que opção na nuvem não é a mais “rápida” Muitas técnicas podem ser aplicadas para melhorar taxas de transferências e tempos de execução Não concorda com os resultados? Replique o experimento Me contrate para uma consultoria! 
  30. 30. Globalcode – Open4education Perguntas? Dr. Mauro Pichiliani mauro@pichiliani.com.br @pichiliani @databasecast

×