Discos: Tamanho é documento?
Ouvi recentemente o comentário: “comprei um computador novo com 1TB de disco, agora sim vai ficar rápido”. A questão é como podemos dizer se o disco é rápido ou lento?
Resolvi escrever esse post para explorar um pouco mais esse assunto. Por exemplo: qual desses discos abaixo traria melhor desempenho ao banco de dados?
Na primeira foto, são vários discos Serial SCSI de 15k RPM com capacidade de 72GB. Enquanto que na segunda foto, os discos são Fiber Channel de 15k RPM e com capacidade de 300 GB.
Qual possui melhor desempenho?
Sem olhar a especificação do disco é difícil determinar qual deles é melhor. Normalmente o banco de dados requer baixa latência de acesso, que normalmente se traduz em maior velocidade de rotação. Logo, a primeira consideração de desempenho é verificar quantas rotações por segundo que eles fazem: 7200, 10000 ou 15000 (quanto maior, melhor). Existem outras condições que afetam a latência de disco: desde o tamanho do disco ou o tempo de deslocamento do cabeçote, assim como a densidade dos setores e diferença na localização dos dados. Poderíamos ficar discutindo por dias aqui, por isso, prefiro resumir esse tópico aos RPM’s que cada disco apresenta. No caso ambos são de 15000 RPM, ou seja, a latência é igual.
Um segundo ponto é verificar a taxa de transferência medida em MB/s. Em geral, esse comportamento é desejável para operações sequenciais e normalmente utilizadas para as operações de scan em índices e tabelas, assim como em backup dos dados. Nesse momento entra em questão a decisão da interface Fiber Channel ou Serial attached SCSI (SAS) – são tecnologias diferentes e que estão evoluindo em paralelo.
Na linguagem popular, seria perguntar qual o melhor “cabeamento” entre o disco e o PC?
Já houve o tempo que o Fiber Channel era claramente superior ao SCSI, mas já não sei se podemos dizer isso. Vamos a um comparativo do Wikipedia:
Wikipedia - SCSI
https://en.wikipedia.org/wiki/SCSI
Veja que as taxas de transferências variam de 200MB/s a 1600MB/s, embora um disco dificilmente ultrapassa 300 MB/s. Podemos ignorar a questão de FC ou SAS? Quando falamos de apenas 1 disco sim. O cenário muda quando estamos falando de JBOD ou RAID, que conectam vários discos simultaneamente a uma máquina.
Por fim, observamos uma diferença entre os discos apresentados: um deles possui 72GB e outro, 300GB. Nessa questão, o número não influencia no desempenho de forma direta. Um disco maior não é necessariamente mais rápido que um disco menor.
A conclusão curiosa desse post é que o desempenho do disco está diretamente associado a velocidade de rotação. Muitos vão discordar disso e com razão! Há uma série de pontos não cobertos e simplificações aqui… Por exemplo, a primeira coisa que me vem a cabeça é que 288GB (formados por 4 discos de 72GB) é 4x mais rápido que um disco de 300GB.
Enfim, o objetivo é mostrar que tamanho (capacidade) de disco não representa melhor desempenho.
Comments
Anonymous
April 30, 2014
Valeu pelo post concordo plenamente mas tenho um pergunta se eu usar vários discos externos, hdd, pendrive, sd, ou se dividir o disco interno, por exemplo de um de 500gb por mais dois ou 3 virtuais, isso aumenta o desempenho ou a segurança dos dados?Anonymous
May 02, 2014
Olá Santos, você poderia dar mais detalhes sobre como faria o uso de vários discos? Por exemplo, como que você estaria usando eles ao mesmo tempo? Usando arquivos distribuídos no disco ou virtualizando através do Storage Pools ou Volume Managers? Faz diferença em relação a desempenho sim, mas depende de como está agrupando. Sobre a segurança, isso depende do tipo de dado que está armazenando: arquivo, banco de dados, chaves? Abraços, FabricioAnonymous
January 21, 2016
Ótimo post!