将文件保留为数据源或将所有文件放入数据库

时间:2015-09-29 13:26:28

标签: ruby-on-rails database hadoop bigdata backend

我有一些日志[200Mbytes /每天]。我想要的是使用此日志中的某些数据来构建一些统计信息并通过Web界面显示它。预处理这些文件后,我得到4-5个文件,如下所示:

hadooper@ubuntu:/usr/local/hadoop$ du -h part-r-00000 
4.0K    part-r-00000

hadooper@ubuntu:/usr/local/hadoop$ cat part-r-00000 
201508042015    444335775
201508042020    563
201508042025    320787123
.....

我打算将这一切存储至少一年,甚至更多。还不确定。

我的问题是哪里可以更好地存储和检索数据:文件或数据库?

我打算使用rails作为后端。至于现在看来,将所有内容存储在文件中都是可以的选择。但是长期来看可能存在一些我现在还不知道的缺点。

我确信有很多有经验的人解决了类似的任务。非常感谢您的想法和帮助

1 个答案:

答案 0 :(得分:2)

如果您只是尝试存储文件,请存储为平面/压缩文件或添加到数据库,然后将它们作为备份文件从数据库中导出。从数据库准备备份将确保在您需要数据时更容易导入。

如果您还需要对它们执行查询,请将它们存储在数据库中,因为查询数据库更快(因为索引)而且更容易(因为DDL,DML等的可用性)。

如果您担心安全问题,请加密文件或加密数据库,然后导出。

如果有一些案例我忘了解决,请告诉我。