我收集了各种金融时间序列。我的大部分分析都是面向列或面向行的,我很少需要执行任何类型的复杂查询。此外,我(到目前为止)几乎在 R 中进行所有分析。
因此,我正在认真考虑不部署任何类型的 RDBMS,而是直接在 R 中管理数据(保存 RDS 文件)。这将节省我安装管理数据库的痛苦,并可能提高数据加载速度。
有什么理由我应该考虑其他吗?你知道有人以这种方式管理他们的数据吗?我知道这很模糊,但我正在寻找意见,而不是答案。
考虑机会成本。学习一门新的语言/生态系统——像 PostgreSQL 这样的东西肯定符合条件——将花费比你想象的更多的时间。这些技能可能很有价值,但它们会产生与您在现有分析上花费额外时间所获得的回报一样高的时间回报吗?
如果它是供个人使用并且没有紧迫的性能问题,请坚持使用 R。鉴于使用文本和 RDS 文件通常比使用成熟的数据库更容易做愚蠢的事情,只需确保备份所有内容。在过去的半年里,我从一个对基于云的存储的巨大怀疑者变成了一个巨大的转变者,除了我最敏感的信息之外,所有的信息现在都存储在那里。我使用 Dropbox,如果你搞砸了,它会保留以前版本的数据。
能够在智能手机角落的咖啡厅查看文档或脚本非常棒。
如果在 R 中工作是您的舒适区。即使您的分析或运行时间更长,我也会将您的数据管理留在那里。
我最近有一个类似的决定:
我是否应该朝着学习和应用新的(语言/方言/系统)的方向前进,以减少几毫秒的执行时间。
或者...
我是否应该继续使用我使用过的陈旧的旧工具,即使它们在执行时运行速度会变慢?
您的跑步产品是否只适合您?如果是这样,我只会坚持在 R 中进行数据管理。即使生产运行速度较慢。
如果您正在为银行、手机服务或类似的交易环境设计某些东西,我建议您找到超级解决方案。
但是,如果您的 R 产品适合您……我会留在 R 中。
在 CRAN 中有一个逐列管理包,colbycol
旨在为大型数据集提供类似 DB 的功能。我想作者一定也做过同样的分析。