Upload
pichiliani
View
1.178
Download
2
Embed Size (px)
Citation preview
Globalcode – Open4education
Trilha banco de dados - SSD no banco de dados é bom mesmo?
Dr. Mauro [email protected]
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
Globalcode – Open4education
Agenda
Subsistema de armazenamento
SSD: opções de mercado
Vale a pena? Show me the money!
Análise dos resultados
Conclusão
Globalcode – Open4education
Subsistema de armazenamento
Possui vários componentes: conheça todos!
Simplificando:Tecnologia de transferênciaHardware/Software
Tecnologias de transferência comuns:USB 2.0: 480 Mbit/sSATA (Seria AT Attachment): 6 Gbit/sSAS (Serial Attached SCSI): 12 Gbit/s
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: notebooks7.200 rpm: desktops15.000 (15k) rpm: servidores
Globalcode – Open4education
Hardware – SSD
SSD (Solid State Drive): “revolução” na áreaTambém chamado de flash driveSem componentes mecânicos: memória flash + memória cache internaMédia quantidade de dados (Gigabytes)Alta taxa de transferência de dadosRequer alguns cuidados especiaisVelocidades variam muito de acordo com cada fabricanteRelação custo x benefícioNota: não se esqueça do tempo de vida!
Globalcode – Open4education
Hardware/Software - Ramdrive
Ramdrive: mapear memória RAM em um driveTecnologia “antiga”, mas com novidadesReserva memória RAM de forma exclusivaReduz memória para processos do SOVolátil, porém pode-se exportar drive (ISO)Alta velocidade (barramento interno)Baixa quantidade de armazenamento (gigabytes)Não é limitado pela tecnologia de transferênciaExemplo: SoftPerfect RAM Disk
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
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 contratoLinhas de produtos específicos para bancos de dadosDica: canais do YouTube contêm muita informação!
Exemplos:
EMC Unity 300F All-flashhttp://bit.ly/299bxHJ
Dell PowerVault MD1220Híbridohttp://dell.to/2989YxX
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 5400HD magnética 7200 rpm SATA (desktop): HD 7200SSD 250 GB SATA (desktop): SSDRamdrive 10 GB (desktop): ramdrive Nuvem fornecedor X com HD normal: Cloud normalNuvem 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
Globalcode – Open4education
Ambiente: Hardware e software
Hardware:Desktop Intel Core i950 (4 cores @ 3.06 GHZ), 16GB RAM: HD 7200, SSD, ramdriveNotebook Dell Inspiron 14 (i3, 2 cores @ 1.7Ghz), 4 GB RAM: HD 5400CPU virtual (Intel Xeon 2 cores @ 2.6 Ghz): Cloud normal e Cloud SSD
Software:Crystal Disk Mark 64 bits (baseline)SQL Server 2014 StandardWindows Server 2008Sistema 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
Globalcode – Open4education
Ambiente: Dados
Arquivos/Tabela com 11 colunas: 1 int + 10 floatColuna 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.000Quantidade de transações (N) variando de 10.000 a 100.000Medição da taxa de transferência em Megabytes por segundo (MB/s):
Crystal Disk Mark: informado pela ferramentaBackup/Restore: informado pelo comandoImportação/Exportação: tamanho do arquivo dividido pelo tempo
Medição de transações pelo tempo total gasto em segundosCada teste foi realizado 10 vezes e obtida a médiaArquivos de dados, transaction log e arquivos CSV no mesmo driveEspaço em disco alocado previamente para arquivos de dados e logSem configurações de cache, lock e parâmetros específicosRecovery model: bulk-logged
Globalcode – Open4education
Baseline: Crystal Disk Mark
Testes com o Crystal Disk Mark mediram taxa de transferência de dados em MB/s: quanto maior, melhor4 testes internos para leitura e gravação:
Seq Q32T1: Leitura/Gravação sequencial (tam. bloco = 128KB) com múltiplas filas (queues) e threads4K Q32T1: Leitura/Gravação randômica (tam. do bloco = 4KB) com múltiplas filas (queues) e threadsSeq: Leitura/Gravação sequencial (tam. do bloco = 1MB) com uma única thread4K: Leitura/Gravação randômica (tam. do bloco = 4KB) com uma thread e uma fila (queue)
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 em MB/s: quanto maior, melhorBackup 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
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ência de dados em MB/s: quanto maior, melhorTestes 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 bcpImportação BULK: SELECT com função OPENROWSET()
Exportação BCP: utilitário de linha de comando bcpExportação BULK: utilitário de linha de comando bcp com parâmetro -c
A cada operação de importação/exportação:Limpeza do cacheBackup de transaction log
Globalcode – Open4education
Testes de importação BCP (leitura)
Na média geral SSD e HD 7200 foram praticamente iguais no teste
Globalcode – Open4education
Testes de exportação BCP (gravação)
Na média geral SSD e HD 7200 foram praticamente iguais no teste
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, 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 cacheBackup de transaction log
Globalcode – Open4education
Testes de transações individuais
Na média geral SSD e HD 7200 foram praticamente iguais no teste
Globalcode – Open4education
Testes de transações agrupadas
Na média geral RAMDRIVE, SSD, HD 7200, HD 5400 foram praticamente iguais no teste
Globalcode – Open4education
Tabela de resultadosTipo de
testeDetalhe do
testeÚltimo
colocado
ValorMédio último
colocado (MB/s)
Primeirocolocado
Valor médioprimeiro colocado
(MB/s)
Crystal Disk Mark -
Leitura
4K HD 5400 0,3 ramdrive 1.216,4SEQ Cloud SSD 25,2 ramdrive 5.778,6
4K Q32T1 HD 5400 0,5 ramdrive 1.079,1SEQ Q32T1 Cloud SSD 25,2 ramdrive 3.905,8
Crystal Disk Mark -Gravação
4K HD 5400 0,7 ramdrive 937SEQ Cloud SSD 25,2 ramdrive 6.592,5
4K Q32T1 HD 5400 0,7 ramdrive 910,7SEQ 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,4Bulk insert Cloud SSD 52,3 ramdrive 4.071,5
Exportação(gravação)
BCP HD 5400 5,5 ramdrive 11,2Bulk export Cloud SSD 8,8 ramdrive 115,9
Transações Individual Cloud SSD 37,3s ramdrive 1,7s
Agrupado HD 5400 0,6sSSD,
HD 7200,ramdrive
0,4s
Globalcode – Open4education
Análise dos resultados
ramdrive teve melhor desempenho seguido de SSDSSD é 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 5400Diferenç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 testesCríticas:
Poucas opções de nuvem testadasSem uso de RAID e storage específicoAmbiente Windows e SQL Server apenas
Globalcode – Open4education
ConclusãoP: 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 demaisHá 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 experimentoMe contrate para uma consultoria!