我应该在文件或数据库中存储大量推文数据吗?

时间:2019-05-14 01:11:27

标签: database twitter filesystems

我正在考虑是否应该为具有〜1TB Twitter tweet信息的客户端设计数据库,还是将其数据存储在磁盘上。客户端当前具有1TB的推文数据存储在具有自己结构的文件中。例如,如果我是Twitter用户'1234',那么他的文件结构将有一个名为'1234'的文件夹,其中包含许多.txt文件,其中包含我的tweet数据。

我已经做过一些研究,以下是我认为可以帮助解决我的问题的主要考虑因素:

1)数据是静态的-没有插入/修改/删除元素

2)客户端将执行许多潜在的查询/访问

3)数据不是分层的-除了具有相同用户的推文之外,推文之间几乎没有关系

4)数据集巨大-约1 TB

5)没有严格的架构-有些tweet包含一些信息,而另一些则没有。这使我相信,如果我要使用数据库,则应该使用NoSQL。

6)机器内存仅为4 GB,因此相对于数据集大小,我建立的任何缓存都将非常小。另外,可能会有许多潜在的不同查询,因此我认为缓存不会大大提高效率。

7)当前文件结构的每个目录中都有许多.txt文件-没有嵌套结构。

8)这是供单个客户的私人研究使用的-我不必太担心安全性或损害用户数据。

这留下两个问题:

1)我应该将数据传输到数据库吗?在这种情况下,数据库会更快吗?

2)我应该使用哪些特定的技术来加快数据访问速度?

我对此进行了一些研究,我非常乐意接受那些对我有帮助的文献链接。另外,我在咨询我的问题的同时访问了这些网站:

Storing large amounts of data in a database

Is it faster to access data from files or a database server?

谢谢! :)

0 个答案:

没有答案
相关问题