在SQLite中存储比RAM大得多的数据

时间:2018-06-09 23:51:53

标签: sql database sqlite

我有大约100 GB的股票市场数据,格式如下:

$ ./bin/struct_find_str
Name: Alfred
t[1].name == Alfred
t[1].name == Alfred
t[i].name == name!
string found at index '1'.

每个股票代码都有自己的上述格式的CSV数据文件,所以我想将每个股票代码的数据存储在自己的表中。将有大约10,000个代码,所以10,000个表。

我的问题是我是否应该拥有所有这些表的单个数据库,或者每个自动收报机都有一个单独的数据库。我的首要任务是访问数据的速度。

我只会进行简单的查询(即datetime open high low close volume 2014-10-02 15:34:00 18.39 18.50 18.32 18.41 5100 2014-10-02 15:35:00 18.41 18.49 18.41 18.49 200 2014-10-02 15:36:00 18.45 18.50 18.45 18.46 600 )将数据拉入Pandas,并且一次只使用来自一个股票代码的数据(我在一个代码清单上循环并进行一些分析在他们个人)。所有这些都将在具有8 GB RAM的计算机上本地完成。

1 个答案:

答案 0 :(得分:1)

您可以将所有内容存储在一个表中。对于每个自动收报机使用单独的表格会产生比您想象的更多的开销 - 查询和维护成为一场噩梦。您可以使用索引排列数据,以便更快地访问。

如果即使是稍微复杂的查询的性能也是一个问题,您可能需要考虑使用其他数据库。