Qual é o melhor disco rígido para blocos pequenos de leitura aleatória?

4

Precisamos fazer leituras aleatórias (buscas) em blocos de 5 KB de um arquivo enorme (150 gigabytes). Qual disco rígido é o mais adequado para esse tipo? Qual é o desempenho esperado de um SSD neste cenário?

Ouvi dizer que o SSD é excelente em leituras aleatórias, mas talvez não quando o tamanho dos blocos é tão pequeno.

    
por ripper234 24.02.2010 / 11:32

4 respostas

8

Dave Cheney deu uma ótima resposta, com ênfase nas penalidades de gravação dos SSDs.

Se a unidade for usada quase exclusivamente para leituras, então os SSDs governam absolutamente. Os "melhores" são os que estão em equilíbrio, com uma olhada no controller & maturidade do firmware, desempenho consistente e preço, são o Intel X25-M (ainstream) G2 e o X25-E (xtreme).

O X25-E usa o SLC flash e destina-se ao uso do servidor. No entanto, se a carga de gravação for muito leve, você também poderá considerar o X25-M para uso mais pesado. O principal benefício do flash SLC da E é uma resistência à gravação muito melhorada.

Você pode ver o desempenho bloco de 4kb aleatório lido ambas as unidades aqui . Observe a unidade mecânica de 10k RPM na parte inferior do gráfico. Vou resumir rapidamente os resultados da Anantech:

  • Random 4 KB lê taxa de transferência agregada: HD mecânico Western Digital Raptor ~ 0,7 MBytes / s, SSD Intel SATA ~ 50 MBytes / s.
  • Aleatório de 4 kb lê a latência média: WD Raptor ~ 17,3 milissegundos, Intel SSD ~ 0,21 milissegundos.

Existem vários drives SSD interessantes no caminho para o mercado, mas ainda não estão prontos. A Intel não vai realmente atualizar seus SSDs antes do quarto trimestre deste ano. Então eu iria para a linha atual da Intel, possivelmente ligada a um controlador RAID (rápido e moderno).

O Fusion I / O é o disco mais rápido disponível no momento. No futuro, acho que os SSDs de desempenho usarão o barramento PCI-Express, como o Fusion I / O já faz. No momento, o Fusion I / O é muito caro, mas vale a pena considerar se sua carga de trabalho é transacional com muitas gravações.

    
por 24.02.2010 / 12:06
4

Eu ficaria tentado a usar uma unidade FusionIO ( CLICKY ), nós testamos isso e eles são STUNNING mesmo em comparação com os SSDs mais rápidos, mas não são baratos, o que, além de ser uma unidade de RAM, é o mais rápido possível (> 600MB / seg) irrelevante para o tamanho do bloco. / p>     

por 24.02.2010 / 12:03
2

SSDs estão bem lendo blocos aleatórios de qualquer tamanho (tamanho razoável), onde eles caem é escrever dados. Os tradicionais discos rígidos de ferrugem permitem que você reescreva os dados em um nível de setor (tradicionalmente 512 bytes, embora tamanhos de setor maiores estejam disponíveis agora), ou seja, os dados mínimos que você pode gravar em uma unidade são fisicamente 512 bytes. Mesmo se você alterar 1 byte de um arquivo, o SO reescreverá todo o setor (possivelmente até o bloco inteiro, que é 4096 bytes).

Os SSDs têm a ideia de páginas, que são maiores (em algum lugar acima de centenas de kilobytes). Uma página pode ser escrita em um tamanho de setor, mas só pode apagar em um tamanho página . Portanto, se você quiser alterar dados já gravados em um SSD, a unidade precisa ler a página inteira, apagá-la (operação muito lenta) e, em seguida, gravar a página inteira de volta.

Os SSDs superam isso usando uma capacidade adicional de páginas não expostas diretamente ao SO, e usando o nivelamento de desgaste, mas isso apenas atrasa a inevitável operação de apagar páginas, e não evita isso.

    
por 24.02.2010 / 11:48
0

Uma unidade RAM pode, na verdade, ser mais apropriada e econômica do que o SSD, se o seu arquivo tiver apenas alguns shows.

    
por 24.02.2010 / 13:08