构建财务数据数据库

Structuring database for financial data

我已经收集了一段时间并打算继续收集的 CSV 文件中保存了很多股票价格数据,但现在保存在数据库中而不是 CSV 中。 有 73 个文件(每个资产一个文件),每个文件大约有 200 万行。所有这些数据的格式都相同:

date, timestamp, open, high, low, close, volume

我想为每个 CSV 文件创建一个单独的 table,因为:

这些观点中的任何一个是错误的假设还是错误的做法?是否有令人信服的理由将它们全部保存在一个 table 中?

我读过这个question,虽然类似的问题不认为答案适用于我的情况。

如果不清楚,我对 DB 没有太多经验,因此非常感谢指导和教育答案。

我会将它们存储在一个 table 中,因为我不必维护 73 个 table。 如果你每天或每周甚至每月更新你的数据,你将不得不从 73 个 csv 文件插入到 73 tables,或者为此目的维护一个自动化脚本,我认为这对这个来说有点太多了.

  • 对于我想到的用途,我不会一次需要多个资产。 -> 我不明白这个。
  • 按资产分隔我可以有一个具有唯一约束(如日期或时间戳)的列并防止记录被复制。 -> 如果您将它们存储在单个 table 中,您可以添加一列 asset_id,它将标识哪个资产和日期,时间戳是数据。
  • 我知道 1.4 亿行对于 RDBMS 来说不是一个沉重的负载,但我认为搜索 table 的 2M 记录而不是 140M 的记录会有更好的性能。 -> 您可以根据日期和 asset_id 对 table 进行分区,但这是一个更广泛的讨论,根据您提供的详细信息,我会这样做。