当服务器存储空间不足时,开发人员开始抱怨,“我可以花100美元在沃尔玛买到1 TB的硬盘,这是什么问题”。
如何向开发人员说明存储的复杂性,以便他们理解为什么沃尔玛的1 TB驱动器将无法工作。
ps我是开发人员,也想知道:)
当服务器存储空间不足时,开发人员开始抱怨,“我可以花100美元在沃尔玛买到1 TB的硬盘,这是什么问题”。
如何向开发人员说明存储的复杂性,以便他们理解为什么沃尔玛的1 TB驱动器将无法工作。
ps我是开发人员,也想知道:)
Answers:
消费类硬盘提供大量空间,因此,即使是*咳嗽*流媒体*咳嗽*的最挑剔用户也可以购买足够存储几TB数据的存储空间。实际上,几十年来,磁盘容量的增长速度已经超过了晶体管在硅片上的数量。
“企业”存储是一个稍微复杂的问题,因为数据具有对性能和完整性的要求,这决定了采用更重的方法。如果发生硬件故障,数据必须具有一定的可用性保证,并且可能必须与大量用户共享,这将比单个用户生成更多的读/写请求。
该问题的技术解决方案每GB的成本可能比消费者存储解决方案高很多倍。他们还需要物理维护;必须进行备份并经常将其存储在异地,以免发生火灾不会破坏数据。此过程增加了持续的成本。
性能
在您的1TB消费者甚至企业近线驱动器上,您只有一个磁头。磁盘以7200 RPM或每秒120转的速度旋转。这意味着理论上*每秒最多可以进行120次随机访问I / O操作,而在实践中则更少。因此,在单个1TB的卷上复制大文件相对较慢。
在具有14个72GB磁盘的磁盘阵列上,磁盘具有14个磁头,其运行速度为(例如)15,000 RPM或每秒约250转。理论上,您每秒最多可以进行3500次随机I / O操作*(同样,实际操作中要少一些)。等同于文件副本的所有其他条件将快很多倍。
*
如果读取的几何形状允许驱动器移动磁头并读取磁盘旋转一圈内可用的扇区,则磁盘每旋转一圈,您可能会获得多个随机访问权限。如果磁盘访问分散,则平均访问次数可能少于一。在大多数情况下,以条带化(请参见下文)格式格式化的磁盘阵列,每转一圈最多可获得一个条带读取,并且(取决于RAID控制器)平均可能少于一个。
7200 RPM 1TB驱动器在顺序I / O上可能会相当快。通常,以条带化格式(RAID-0,RAID-5,RAID-10等)格式化的磁盘阵列每转一圈最多只能读取一个条带。使用64K条带,我们可以从15,000 RPM磁盘上每秒读取64Kx250 = 16MB左右的数据。在14个磁盘阵列上,这提供了大约220MB /秒的连续吞吐量,这在纸上没有比现代1TB SATA磁盘所引用的150MB /秒快得多。
对于视频流(例如),RAID-0中带大条带大小的4个SATA磁盘阵列(某些RAID控制器将支持最大1MB的条带大小)具有相当大的顺序吞吐量。从理论上讲,此示例的流速度约为480MB /秒,足以进行实时未压缩的高清视频编辑。因此,Mac Pro和类似硬件的所有者可以执行高清视频合成任务,而几年前就需要一台具有直接连接光纤阵列的机器。
磁盘阵列的真正好处在于数据库工作,其特点是有大量小的分散的I / O请求。在这种类型的工作负载上,性能受磁盘中金属位的物理延迟的影响。此度量标准称为IOPS(每秒I / O操作)。从理论上讲,您拥有的物理磁盘越多(无论容量如何),IOPS越多。更高的IOPS意味着每秒更多的事务。
数据的完整性
另外,大多数RAID配置为您提供了一些数据冗余-从定义上讲,它需要多个物理磁盘。具有这种冗余的存储方案和大量驱动器的组合使系统能够可靠地服务于大笔交易工作量。
磁盘阵列(在更极端的情况下为SAN)的基础架构并非完全适合大众市场。另外,它是真的,真的不能失败的部分之一。构建标准和较小的市场量的结合并不便宜。
包括备份在内的总存储成本
实际上,维护1TB数据的最大成本可能是备份和恢复。磁带驱动器和34套SDLT或ultrium磁带(用于完整的备份和恢复周期)的成本可能会比1TB磁盘阵列高。加上异地存储的成本以及什至只有一盘磁带猴子的薪水,突然之间您的1TB数据并不是那么便宜。
磁盘成本通常是降低主要存储成本层次结构的合理方法。在一家银行,我有机会为SAN存储工作,开发系统的成本为900英镑/ GB,生产服务器上的磁盘的成本为5,000英镑/ GB。即使以企业供应商的价格计算,磁盘的物理成本也只是其中的一小部分。我知道的另一个示例是(相对)适度配置的IBM Shark SAN,它们的花费超过100万英镑。仅此上的物理存储的费用约为每GB 9英镑,或者相当于1TB消费者HDD的空间约为9000英镑。
只需说:“是的,我可以每小时5美元的价格让Java程序员离岸。”
一个简单的单行答案:1TB驱动器通常是SATA,但是您的服务器是SCSI。(即使服务器不是SCSI,这也可能暂时停止查询。)
300GB SCSI驱动器的价格通常是价格的4倍,然后需要备份现有数据,安排停机时间,进行安装,可能会出现问题,超时等。总而言之,简单的存储升级可以带来很多好处。各种痛苦-开发人员不直接负责。说您可以购买满足当前需求的现成驱动器简直是无可救药的。
但是您知道,当您购买这些服务器时,应该在该死的服务器中放置更大的驱动器,并且现在自己踢自己!但是您想要安装服务器,它们将增加前期成本,并且可能不得不经过一轮额外的批准...欢迎系统管理员的痛苦...