r语言 - 连接到外部硬盘驱动器上的Monetdblite / RSQLite数据库时的Dplyr速度?



初学者的问题。

我正在使用带有dplyr的 R 来分析大量数据,但我无法访问基于服务器的数据库。此外,我的计算机的内部硬盘驱动器对于我需要创建的数据库来说太小了。到目前为止,我一直在使用monetdbliteRSQLite来存储数据。

:如果我将数据库保存在外部硬盘驱动器上并通过USB将其连接到计算机,monetdblite/RSQLite的速度会降低多少?哪些因素决定了这是否可行?

或者在我的情况下是否有更好的替代方法(仍然依赖于dplyr的数据库连接(?

很难判断外部驱动器是否较慢。例如,如果内部驱动器是 SSD,而外部驱动器是经典的"旋转磁盘",则性能下降或多或少是可以预期的,尤其是在使用复杂查询时。我建议您简单地尝试使用大小合理的数据库和两个磁盘上的查询。还有各种磁盘性能检查工具(例如OSX上的XBench(可用于检查性能。这里要寻找的有趣指标是顺序扫描速度和随机访问速度。

我使用 monetDBLite 将大型数据集加载到 Rstudio 中。出于安全原因,我有一个带有USB 3.0的外部SSD,但我的内置硬盘驱动器也是SSD。我已经使用它几个月了,我的经验总结在以下查询中:

从drug_db中选择 *,其中 ATC ='L02BX03' 或 ATC ='L02BB04';

内置:<2 秒,

外部:6-7 分钟

查询扫描 ~15 Gb 数据库并返回 ~ 30 000 行 14 个变量。根据我的经验,与针对外部 SSD 运行查询相比,将文件复制到内置驱动器并在那里运行查询实际上要快得多。

相关内容

  • 没有找到相关文章

最新更新