初学者的问题。
我使用R和dplyr来分析大量数据,但我无法访问基于服务器的数据库。此外,对于我需要创建的数据库来说,我的计算机内部硬盘太小了。到目前为止,我一直使用monetdblite和RSQLite来存储数据。
Q:如果我将数据库保存在外部硬盘上并通过usb连接到计算机上,monetdblite/RSQLite的速度会降低多少?是什么因素决定了这是否可行?
或者,在我的情况下,是否有更好的替代方法(仍然依赖于dplyr的数据库连接)?
发布于 2017-08-22 11:15:14
很难判断外部驱动器是否较慢。例如,如果内部驱动器是SSD,而外部驱动器是经典的“旋转磁盘”,则性能下降或多或少是预期的,特别是在使用复杂查询时。我建议您只需在两个磁盘上尝试使用大小合理的数据库和查询即可。还有各种各样的磁盘性能检查工具(例如OSX上的XBench ),您可以使用这些工具来检查性能。这里需要寻找的有趣指标是顺序扫描速度和随机访问速度。
发布于 2019-02-04 10:57:28
我使用monetDBLite将大型数据集加载到Rstudio中。出于安全考虑,我有一个带有USB3.0的外部SSD,但是我内置的硬盘驱动器也是一个SSD。我已经使用了几个月,下面的查询总结了我的经验:
从drug_db中选择*,其中atc='L02BX03‘或atc=’L02B04‘;
内置的:<2秒,
外挂: 6-7分钟
该查询通过~15 Gb数据库进行扫描,并返回30 000行14个变量。根据我的经验,与对外部SSD运行查询相比,将文件复制到内置驱动器并在那里运行查询要快得多。
https://stackoverflow.com/questions/45609137
复制相似问题