经验法则:SATA 用于存储和提供静态内容,SSD/SAS 用于数据库?

经验法则:SATA 用于存储和提供静态内容,SSD/SAS 用于数据库?

这个问题说明了一切。但是,这是真的吗?有人能解释一下这里的区别因素是什么吗(一种类型的磁盘在特定用途上如何比另一种磁盘更好)?

(仅供参考,我尝试搜索,可以发现一篇文章,大约三年前写的。)

答案1

现在不是了。您还可以很好地运行 SATA 磁盘的数据库 - WD Velociraptor 与许多 SAS 驱动器相当,除非您获得真正高性能(因此,数据库 != 数据库)。

较大的步长是 3.5 英寸到 2.5 英寸 - 当您使用大而慢的 3.5 英寸驱动器时,您可以节省很多钱(每 GB)。

差异因素包括:

  • SAS 磁盘通常比 SATA 速度更快并且支持更长的命令队列(限制为 32 个,而 SATA 则多得多)。
  • SSD 又是另外一回事。谈论的是 60,000 IOPS 与 450 IOPS。

一般来说,当数据库负载变重时,其使用率就会很高,并且 IO 完全是随机的,因此您不能计算千兆字节或 RPM,而是计算 IOPS(每秒 IO 操作数)。

答案2

虽然我不能说听说过这个规则,但是静态内容具有数据库服务器无法轻松提供的优势。

SATA 驱动器通常平均故障时间较短,速度较慢,随机 I/O 性能较差。结果是每 GB 成本较低。

当您存储诸如静态内容之类的媒体时,系统通常会缓存该内容,因此通常不会从磁盘读取太多内容,从而无需使用高速磁盘。

对于 90% 的数据占请求数的 99% 的网站来说尤其如此。

另一方面,数据库的 IO 配置文件通常更加随机。数据库通常也不依赖内核的缓存子系统来管理其内容,因此使用更快的磁盘会更好。它们还倾向于执行比静态内容更多的写入操作,而这正是 SAS 驱动器真正能提供帮助的地方。

请记住,灰色地带有很多种,所以它并不那么简单或直接。

  • 也许你的数据库使用得不多?
  • 也许您确切地知道将读取哪些表以及数据被使用的概率?
  • 也许数据库写入几乎从未完成?
  • 也许,您所期待的响应时间和并发数可以通过 SATA 有效地实现?

我不会说存在“经验法则”。相反,为什么不现在就对您的应用程序进行一些 I/O 测量,以及您预计 2 年后的需求。您认为 SATA 那时合适吗?SAS 呢?也许 SSD 更好?如果您说 SAS 的检索时间快 30 毫秒,那么花更多钱真的值得吗?您的客户是否要求 30 毫秒的额外速度?

对于我所做的大部分工作,我们操作产生的数字并不真正保证 SAS 的可靠性。而且 - 无论如何,您获得的性能与每 GB 成本之间的差距对我来说并不那么有吸引力。现在市场上有 SSD,我对 SAS 产品印象更差了。

并不意味着我说的是 SAS 不适合你。但你要弄清楚每 GB 的成本,弄清楚你现在的性能需求可能是什么,然后在几年后将结果与客户的特定需求进行比较。

相关内容