以下是个人对此的理解:希望老师可以在下节课把这节课的答案公布。
分成两部分分别阐述个人对此的理解
一.机械硬盘
机械硬盘的好处是寿命:不过机械硬盘的问题在于速度,不同的机械硬盘有不一样的特性,即使用机械硬盘也要选择缓存偏大且读性能较好的蓝盘。由于kafka是充分利用缓存,毕竟kafka只是消息队列-只是中间件,我们不可能把数据放在kafka中,还是会使用的NOSQL数据库,故而其实际需求是对读性能要求较高的存储设备。
二.SSD
SSD读写性能比其实是相对固定的:无论是哪个厂商,其实最终发现这是一个定值;有能力其实SSD确实是一个不错的选择。不过我们在讨论SSD的寿命时其实忽略了一个问题,什么操作影响SSD的寿命?SSD存在的硬件条件和场景是什么?
1.SSD的寿命问题:其实这个问题就像早期说液晶屏一样,额定寿命大概是3年左右,其实大多数实际情况都在5年左右;真正影响SSD寿命的不是读,而是写,这个问题其实机械硬盘同样有。
2.SSD存在的硬件条件是什么:服务器、PC;现在一台PC或者服务器基本上5-6年就各种硬件出现问题,SSD如果使用场景和HDD类似其实寿命是几乎一样的;我们不太可能在服务器都出问题的情况下还去使用使用吧。我自己笔记本电脑是单双硬盘:不过由于市场提供的尺寸不一样,大小略有区别,使用场景几乎完全一样,都各自有一个300G的空间跑虚机做测试,目前已经使用了4年多了,性能和4年前没区别,唯一的区别是当时HDD的代价是SSD的一半左右;现实中服务器的使用也就不超过5-6年,此时其实主板、电源、CPU的散热系统已经基本出问题且厂家和市场都没有相应可换的硬件配件了。
综上所述:故而个人觉得Kafka场景其实资金允许的情况下还是SSD,因为它的坏处其实传统硬盘同样有,这是我们不能回避HDD的硬件问题去说SSD的问题。即使使用HDD其实我们还是要选取读性能强于写性能且缓存偏大的硬盘,况且其实SSD的读写速度方面同样是读方面更好。严重写>读的场景下其实HDD的损坏速度同样非常快,只不过硬件代价低一些而已,但是耗时同样高许多。
期待老师的下节课:谢谢老师的教诲。
展开
作者回复: 小小的一个纠错,从原理的角度,HDD并不存在反复读写会导致寿命的问题。
不过在实际使用中,其实HDD的损坏率也并不低,而且损坏出现的情况随机性比较大。
实战中核心考虑的因素其实是成本,需要根据实际的应用场景,核算一下总体的成本。而且需要考虑到对应配置了CPU,比如用PCI-E接口,SSD硬盘的顺序读写能到2Gb/s,但是总的带宽有限可能又装不了10块盘。然后CPU和内存在单个机器中的价格占比也需要考虑,最后会是一个总和硬件拥有和维护成本的评估。这个问题并没有一个标准答案。