我使用了大量的数十个数据集,通常分成几个文件。 对这些文件执行任何types的数据范围操作(grep,sed,search,读/写数据库和Hadoop)当然是非常慢和耗时的。 到目前为止,我一直在使用我可以获得的任何高清 – 通常是希捷在5400转或7200转。
现在是我升级HD的时候了。 我所描述的工作types应该考虑哪些参数? 主轴转速? 接口? 寻找时间和吞吐量? 我读过各种各样的东西,其中一些不重要,所以我很困惑。
如果这还不够,我可以提供更多信息。
如果可以的话,可以使用多个磁盘 – 在操作系统级别对其进行分条,或者让Hadoop将数据分配到多个驱动器上 – 寻求多个主轴将大大提高性能,并且比SSD便宜。
主轴速度当然是重要的,因为是寻找时间。 但处理海量数据库文件最重要的是随机读取/写入的能力(也就是说,从磁盘的所有不同区域获取大量数据,而不是顺序读取/写入,所有数据都在在磁盘上订购)
这是SAS绝对擅长的地方。 对于普通的IDE或SATA磁盘,如果有四个数据是非顺序的,并且请求是按照一定的顺序接收的,那么驱动器必须进行一整轮的拾取每个单独的数据。
使用SAS时,控制器将按照最佳服务顺序排列请求,然后按顺序排列,以便在可能的情况下可以在一次革命中拾取多个数据。 所以,仅仅因为请求以ABCDforms出现,SAS驱动器可能会在ADCB中为它们服务,因为这是它们在物理磁盘上的顺序。 一个普通的SATA / IDE驱动器只能为它们提供ABCD,即使这不是最佳的顺序。
寻找时间对于整个数据扫描/分析操作来说并不重要(假设你使用平面文件或Hypertable等现代可扩展数据库,而不是传统的基于B-Tree *的数据库,这需要大量的随机search来扫描大型表。在硬盘的随机I / O处理大数据集时,你肯定会做错了。
这种types的工作最重要的因素是原始持续(未caching)的顺序读取/写入吞吐量和同时处理多个扫描的能力,而不降级到随机的I / O模式。 对于1 + TB SATA驱动器,这些基准站点有一个很好的基准。 这表明希捷和西方数字驱动器在处理多个扫描方面非常出色,而在进行多个扫描时,三星驱动器会显着降低性能。
固态硬盘真的可以帮到你,如果你买得起的话。