Answers:
如果您要进行大量的小型读取,则SSD的速度要快得多。 这是有关数据库性能的一些比较比较之一。 请看底部的图形以获取简短答案。
对于原始性能,SSD提供了许多优势,主要优势是查找时间实际上为0,这意味着数据库处理的所有小型HD命中要快得多。
但是,当前一代对写入寿命存在一些担忧,因为在进行了如此多次写入之后,一个块不再可用。他们可以写很多东西,我相信intel会说他们的32GB驱动器大约达到PB字节,然后才开始达到危险的软件级别……随着时间的流逝,这种情况只会越来越好。
为了更好地了解为什么它们的性能要好得多,请阅读Anandtech的SSD文章。他详细介绍了驱动器,什么是好驱动器,什么不是驱动器以及驱动器工作原理的来龙去脉。顶部还有指向后续文章的链接,该文章涵盖了最新的驱动器系列。
我建议您阅读以下论文:将服务器存储迁移到SSD:权衡分析,这是一本不错的书。
我认为服务器区域中的SDD尚无足够的好处。也许几年后他们可能会值得购买,但从现在来看,bot是一个更好的选择。
尼克·克雷弗(Nick Craver)的回答很好。我只想向SSD添加两个警告,我认为人们应该意识到:
a)SSD的写磨损问题不会消失,它们是所用闪存单元的基础。SLC单元具有比MLC高得多的写耐久性,因此OP应该考虑通过MLC获得SLC驱动器。当然,SLC也要昂贵得多。
b)当前驱动器在将数据写出之前在驱动器上缓存数据。因此,如果在写操作期间断电,则存在数据丢失的风险。您可以解决该问题,但是缓存既可以提高性能,又可以减少写放大。
恕我直言,以上都不是破坏交易的人。我今天准备将SSD部署到生产中,但首先要进行一些计划。
要记住的事情。
如果您访问数据库的速度足以使读取速度变慢并且需要SSD,则需要修复索引或考虑向服务器添加更多RAM。
多数数据库服务器一旦进行了充分调优,就不需要SSD即可正常运行。
要考虑的一件事是将事务记录记录在HDD上,将MDF记录在SSD上。寿命也会在很大程度上取决于应用程序类型。OLTP可能会很快烧毁,而在此情况下,合理的静态数据应该没有问题。
我自己的经历在这里是混杂的...
使用SQL Server 2008 Express R2在Windows 7上进行测试。在装有Sandy Bridge和12G RAM的i7桌面上运行(我认为是DDR3)。对不起,安装程序是台式机,在构建服务器之前,我刚知道在i7平台上可以管理多少记录。
我首先在已安装的1.5TB 7200rpm驱动器上进行了这些测试,以获得基本时间。
具有更新过程的10k条记录,优化表以将以前相关的数据存储在平面表中,添加索引,直到我将计时降低到几秒钟为起点,然后我将记录重复到120万并获得了计时的更新时间为0:3:37。3 1/2分钟对于这种非突袭设置来说并不坏。
将记录翻倍至256万,使我获得了0:15:57的时间-几乎增长了5倍。可能主要是由于分页通过了已安装的12G内存。
安装了SSD驱动器并移动了数据库,时间实际上增加到20多分钟。我假设这是因为页面文件是每个硬盘驱动器,并且默认情况下,SSD驱动器上没有页面文件,因为它没有作为操作系统驱动器安装(当我尝试这样做时,蓝屏屏风)。
向SSD驱动器添加了一个页面文件,然后重新测试0:5:52 -m,因此该页面文件似乎已经完成了窍门,但由于上述所有原因,我不确定该页面文件是否适合SSD驱动器,它们会严重影响驱动器,并可能增加驱动器的不适当磨损。
需要说明的是,我还在该驱动器上启用了Smartboost,并且可能也会影响定时,如果没有它,它将重新运行。
我的最佳感觉是,这几天添加内存比较容易,并且出于成本考虑,混合磁盘的0 + 1突袭几乎可以解决所有问题。
编辑:禁用SSD上的页面文件,并让它进行智能增强功能,将256万条记录的时间从5:52分钟改进为4:55分钟,每个记录进行了3次更新。接下来,请尝试在Seagate 750G混合驱动器上尝试8G ssd缓存。然后,如果那还不错,我会在突袭0 + 1中尝试它们。
关于此的最新更新,因为这是一个旧线程-但我想将得到的结果放在那里,以便有人可以找到它们。
将数据库移动到具有8G SSD缓存的Seagate 750G Hybrid上,我进行了几次测试,以便SSD缓存可以学习。它为我提供了5:15 m:s的定时测试时间,更新了256万条记录-足以接近SSD性能(使用Intel Smartboost时为4:55 m:s),让我考虑成本。
混合动力的价格高出约50美元(现在为239美元,而现在为189美元),提供了6倍以上的存储量和几乎相同的性能,而无需运行任何其他软件进行优化。在突袭0 + 1中,我希望计时得到大大改善,并且该驱动器具有5年保修,这里希望我不再需要它。
Microsoft Research文章关注的是每Gb成本,而不是性能增益。它实际上并不能安装和测试驱动器,而是使用基于来自实际服务器的日志文件的回播算法。
SSD和SQL会引起一些注意:
1 /如果您忽略添加正确的索引,则由于随机寻道时间太短,SSD的容忍度会高得多。
2 /与进行这项研究的时间和小型Web应用程序(例如运行电话应用程序的后端而不是企业Exchange服务器的后端)相比,成本要低得多,这种性能可以节省雇用顾问来调整SQL Server的费用。
3 /具有卷影副本的单个SSD驱动器肯定比RAID机柜中的一堆主轴,控制器和连接要便宜。更不用说电源,加热和机架空间。
4 /主轴是最常死在计算机上的零件,因此臭名昭著。SSD没有活动部件,一个小时的停机时间可能会一次性使SSD价格下降。
5 /磨损是一个问题,但是他们有办法进行管理(涉及散射块),这是可能的,因为随机碎片化的数据不会降低SSD的速度。而且,将来大容量磁盘上的小型数据库可能不会及时磨损以购买价格便宜的新数据库。
6 /非关系数据库和在中间层进行联接的趋势。这可能会真正改变事情:将I / O转换为分片上SSD驱动器上的简单未索引表,而不会降低性能,并且具有更简单的扩展方案。还可以节省每个分片的SQL Server许可证。
7 /这都是理论上的。如果有人对主轴进行了真实的性能测试,我很乐意看到。
路加