我正在实现一个网络抓取工具,它每天需要抓取和存储大约 15GB+ 的 HTML 文件。每日数据量也可能会增长。
我打算尽可能长时间地存储抓取的数据,但也希望为每个页面存储完整的 HTML 文件至少一个月。
我的第一个实现将 HTML 文件直接写入磁盘,但很快就遇到了 inode 限制问题。
我尝试的下一件事是使用 Couchbase 2.0 作为键/值存储,但在 5-8 小时的网络抓取写入后,Couchbase 服务器将开始返回 Temp_OOM 错误。重新启动 Couchbase 服务器是恢复的唯一途径。
MongoDB 会是一个好的解决方案吗?这篇文章让我很担心,但听起来他们的要求确实超出了我的需要。
我也对 Cassandra 和 HDFS 进行了一些研究,但我不确定这些解决方案是否对我的问题来说太过分了。
至于查询数据,只要能得到一个url和一个日期的具体页面数据就可以了。数据也大多是写入一次,读取一次,然后存储以备将来可能读取。
任何有关存储如此大量 HTML 文件的建议都会有所帮助。