如何管理数以百万计的小HTML文件

时间:2014-12-03 10:00:59

标签: ruby-on-rails database file

我接手了一个项目,这是一个Ruby on Rails应用程序,它基本上可以抓取互联网(在cronjobs中)。它会抓取选定的网站,以便随着时间的推移建立有关其主题的历史统计信息。

目前,它找到的所有原始HTML都会保留供将来使用。 HTML保存在Postgres数据库表中,目前大约有1,200万条记录占用16 GB并且还在不断增长。

应用程序当前读取HTML一次以提取(当前)相关数据,然后将该行标记为已处理。但是,将来可能需要重新处理一个作业中的所有文件以生成新信息。

由于我的管道中的任务包括设置备份,我真的不想对这些不断增长的数据进行日常备份,因为他们知道99.9%的备份只是静态记录而且具有几乎不可变的列。原始HTML。

我希望将这个HTML从PostgreSQL数据库中导出到一些存储中。存储必须易于管理(插入,读取,备份)并且相对较快。我(目前)没有要求搜索/查询内容,只是通过密钥来解决它。

理想的解决方案应该允许我非常快速地插入和获取数据,可以逐步地进行备份,也许可以支持批量读取和写入以提高性能。

目前,我正在测试一个解决方案,我将所有这些HTML文件(每个大约15-20 KB)推送到Rackspace Cloudfiles,但这需要永远,访问时间有点慢且相对不一致(在100毫秒到几秒之间) )。我估计从rackspace顺序访问所有文件可能需要数周时间。这不是设计新统计数据的理想基础。

我不相信Rackspace的CDN是最佳解决方案,并希望得到一些如何以优雅的方式解决这个问题的想法。

我知道这个问题没有代码,更多的是关于体系结构和数据库/存储解决方案的问题,所以它可能正处于SO范围的边缘。如果这个问题有一个更合适的社区,我很乐意移动它。

0 个答案:

没有答案