我目前正在构建一个scrapy项目,可以抓取任何网站从第一个深度到最后一个深度。我不提取很多数据,但是我将所有页面HTML(response.body
)存储在数据库中。
我目前正在使用 Elasticsearch 和批量API 来存储我的原始HTML。
我看了 Cassandra ,但我找不到 Elasticsearch批量的等价物,它会影响我蜘蛛的表现。
我对性能感兴趣,并且想知道Elasticsearch是否是一个不错的选择,如果有更合适的 NoSQL数据库。
答案 0 :(得分:2)
这在很大程度上取决于您计划在以后使用抓取的数据做什么。
Elasticsearch在插入时会执行一些复杂的索引操作,这会使数据库中的后续搜索速度非常快......但这也会花费处理时间并引入延迟。
那么回答你的问题是否Elasticsearch是一个不错的选择:
如果您计划稍后构建某种搜索引擎,Elasticsearch是一个不错的选择(顾名思义)。但是您应该仔细查看Elasticsearch的索引选项等的配置,以确保它以您需要的方式工作。
另一方面,如果您只想存储数据并在以后对其执行处理任务,Elasticsearch是一个糟糕的选择,您最好使用Cassandra或其他NoSQL数据库。
哪种NoSQL数据库最适合您的需求,取决于实际使用情况。