如何制作一个巨大的ram驱动器?

Bra*_*ore -2 performance memory sql

在我的旧工作中,当需要报告时,我可以与某人坐下来提取结果并立即获得反馈,然后优化我的查询并最终在 30-90 分钟内以我们需要的格式获得我们需要的数据。

我刚开始在一家新公司工作,该公司的数据库包含数百万条记录,我花了整整 8 个小时制作一份报告,如果不是查询的大量数据,我觉得我可以在不到 2 小时内完成以及我无法要求需要数据的人与我坐下来并在我像往常一样提取结果时给我反馈的事实。

所以我正在考虑如何让服务器更快……更快,这样我就可以拥有与习惯相同的生产力水平。刚刚想到的一个想法是,现在内存太便宜了,根据我的计算,我可以花 1000 美元购买 10 个 8gig 内存条。我从未听说过一种设备可以让我将它们组合成一个巨大的 ram 驱动器。

所以我想知道是否存在任何这样的设备,如果没有,我可以实际制造的最大内存驱动器是什么,我将如何去做?

编辑:对于那些说需要分析数据库 shema 的人......你不能通过规范化或索引表来使诸如“从 SomeTable 中选择 f1、f2、f3 等”之类的查询运行得更快。我在谈论的是绝对需要在硬件级别提高性能。

我习惯于在几秒钟内得到结果,而不是几分钟或更短的半小时。也许这就是你们习惯于拥有 1000 亿个记录表的情况,并且您觉得这很快,但我正在寻找从包含大约 1000 万条记录的表中返回的结果,以在不到半分钟的时间里返回给我。

Tom*_*Tom 6

刚刚想到的一个想法是,现在内存太便宜了,根据我的计算,我可以花 1000 美元购买 10 个 8gig 内存条。我从未听说过一种设备可以让我将它们组合成一个巨大的 ram 驱动器。

如果您不知道自己在做什么并且当您仔细考虑时就会崩溃,这是一种看起来不错的想法。

看,问题是 - 您谈论制作 80GB RAM 驱动器,但为什么不将 RAM 插入服务器并让 SQL Server 缓存使用内存?如今,80GB 对于服务器来说不算什么。

绝对不需要使用 RAM 驱动器,因为 SQL Server 只需要足够的 RAM 来缓存所有需要的数据。

否则,一个不错的基于 SSD 的磁盘系统也有帮助 - 速度非常快,而且非常划算。

顺便提一句:

一个包含数百万条记录的数据库

那是微小的。这些天当你说数千亿时回来吧。


Sve*_*ven 6

正如 TomTom 已经说过的,RAM 驱动器无济于事,但更多的 RAM 和/或更快的数据库驱动器可能会有所帮助。

但是除了在这个问题上投入更多的硬件之外,可能是你的问题真的存在于其他地方(更多的硬件会比你预期的少很多):

  • 您确定您的索引和一般数据库设计良好吗?它们可以产生巨大的性能影响。
  • 您的查询也是如此。它们可以针对您的特定数据结构进行优化吗?使用您的数据库分析工具来帮助您解决这两个问题。
  • 在创建报告查询时,您似乎采用了反复试验的方法,我认为这有点奇怪。这是因为您没有从需要报告的人那里得到很好的要求,还是因为您没有完全理解数据结构和/或查询语言?这两个问题都应该得到解决,但如果这不可能,也许您可​​以使用生产数据的一小部分来制定查询,并仅在您对它们感到满意时才针对完整数据集运行它们。