use*_*912 31 raid performance memory sql hard-drive
人们一直告诉我,为了提高 SQL 服务器的性能,购买尽可能快的 RAID 5 硬盘等。
所以我在想,与其把所有的钱都花在 RAID 5 和超级快速的硬盘上(顺便说一句,这并不便宜),为什么不直接获得大量 RAM?我们知道 SQL 服务器将数据库加载到内存中。内存比任何硬盘都快。
为什么不在服务器上塞入 100 GB 的内存?那么就使用带有RAID 1 的普通SCSI 硬盘。那不是更便宜和更快吗?
Dan*_*man 51
你的分析很好——在某种程度上——因为它绝对会让事情变得更快。不过,您仍然需要考虑其他几个问题:
不是每个人都能负担得起足够的内存;当您有数 TB 的数据时,您必须将其放在磁盘上一段时间。如果你没有太多数据,任何东西都足够快。
数据库的写入性能仍将受到磁盘的限制,因此您可以兑现数据实际存储的承诺。
如果您的数据集很小,或者不需要将其保存在磁盘上,那么您的想法没有错。像VoltDB这样的工具正在努力减少 RDBMS 实现中的旧假设所产生的开销,这些开销限制了纯内存中的性能。
(顺便说一句,人们告诉你使用 RAID-5 来提高数据库性能可能不是很好听的人,因为它几乎从来都不是最好的选择——它具有良好的读取性能,但写入性能很差,并且写入几乎总是生产约束 - 因为您可以将 RAM 放入缓存中以解决大多数读取端性能问题。)
Mar*_*cin 11
简短版本:考虑工作集大小。长版:你的数据有多大?如果它可以放入现代服务器的内存中,是的,您是绝对正确的。不幸的是,最大的 Xeon 现在可以处理 2TB 的 RAM,而且这不再是那么大的数据集了。如果您无法购买足够大的机器来将您的整个工作集放置在 RAM 中,那么您将不得不用大脑而非钱包来解决问题。
如果你想要速度:
遵循这些步骤,SQL Server 就会飞起来。
然后,如果您愿意,可以添加更多 RAM...但首先执行上述操作,您很可能会发现您已经完成了。
| 归档时间: |
|
| 查看次数: |
18059 次 |
| 最近记录: |