我正在考虑编写一个只收集网页网址的网络抓取工具(仅用于存档项目),但我在找到存储结果的正确方法时遇到了问题。
要求是无论使用何种存储引擎,都可以处理数十万个项目(最好能够为每个条目添加元数据,尽管不是必需的),并且可以忽略现有项目(以避免重复) )没有显着的性能影响。
我看过的引擎:
您对MongoDB的适用性有何看法(因为我没有使用MongoDB中的大型数据集的经验),您是否知道为此目的存在任何更好的(免费)存储引擎?
答案 0 :(得分:1)
如果使用传统的RDBMS,则可以根据数据的哈希值创建唯一键(例如:使用md5或sha1对URL进行哈希)。这将使唯一键保持小(ish),并且应该有助于提高性能。
我喜欢PostgreSQL - 你可能想用它做一些测试。
编辑:(见评论)好的,也许在这个时代避免使用md5(:
答案 1 :(得分:0)
听起来像NoSQL解决方案很适合你。
特别是因为您只想在某处以URL的“id”转储各种灵活数据。
我使用过lucene,但mongo也是一个不错的选择。