【发布时间】:2012-04-06 14:21:41
【问题描述】:
我有一个数据集,包含自 1998 年以来 1000 只股票的 1 分钟数据,总计约为 (2012-1998)*(365*24*60)*1000 = 7.3 Billion 行。
大部分时间(99.9%)我只会执行读取请求。
将这些数据存储在数据库中的最佳方式是什么?
- 1 个 7.3B 行的大表?
- 1000 个表(每个股票代码一个),每个表有 730 万行?
- 有什么推荐的数据库引擎吗? (我打算使用 Amazon RDS 的 MySQL)
我不习惯处理这么大的数据集,所以这对我来说是一个很好的学习机会。非常感谢您的帮助和建议。
编辑:
这是一个示例行:
'XX', 20041208, 938, 43.7444, 43.7541, 43.735, 43.7444, 35116.7, 1, 0, 0
第 1 列是股票代码,第 2 列是日期,第 3 列是分钟,其余为开盘价、高低收盘价、成交量和 3 个整数列。
大多数查询会像“给我 2012 年 4 月 12 日 12:15 和 2012 年 4 月 13 日 12:52 之间 AAPL 的价格”
关于硬件:我计划使用 Amazon RDS,所以我很灵活
【问题讨论】:
-
描述预期的典型查询
-
“我认为你应该使用 MongoDB,因为它是网络规模的。”
-
你可能想要一张大表,按股票代码分区。
-
数据集很大!您可能想四处搜索数据挖掘和分析,看看您能找到什么。
-
单表的“标准 RDBMS”还不够吗? (我只处理数百万但“为我工作”。不妨试试看。记得根据需要索引/集群/分区。)
标签: database