7 回答
TA贡献1752条经验 获得超4个赞
MySQL 在处理大量数据时会变得很捉急,相反 MongoDB 通过集群的话应该会好一些。
其实你完全可以不用数据库,对于爬虫而言这将有可能成为 IO 的瓶颈。
你可以尝试使用 Hadoop 的 HDFS。
TA贡献1788条经验 获得超4个赞
我们现在准备写一个爬虫抓取大量数据(预测后期可能会达到两百万到两千万记录的数量级)
如果只是这点数据, MySQL 或者 MongoDB 都可以. 但是相对来说, MongoDB 会灵活一些.
TA贡献1883条经验 获得超3个赞
200w到2000w的数据量相对来说不是很大,可以考虑这2中自己比较熟悉那个就使用那个。但是基本上数据库达到千万级别都会有查询性能的问题,所以如果数据持续增长的话,可以考虑用mongodb。毕竟mongodb分片集群搭建起来比mysql集群简单多了。而且处理起来更灵活。
TA贡献1834条经验 获得超8个赞
200-2000w的数据量没有必要上hadoop,除非你们团队对hadoop的技术栈很熟悉;
从性能角度看,这个量级的数据对于MySQL和mongoDB都可以胜任,关键看你的数据是结构化的还是非结构化的,相对而言mongo更灵活点
TA贡献1946条经验 获得超3个赞
刚好现在所在公司做过这方面的东西,并且也是本人负责,可以说出来给题主参考一下。
我这边主要做的是日志处理和归档,对每天所生成的访问日志进行冷热统计,生成各种数据报表等等,爬虫实际上最终也差不多。
刚开始考虑过MYSQL,不过MYSQL单表在超过千万级以上性能表现不佳,所以当时还是选择使用mongodb。
其实做的也很简单,无非是用python定时将每日的服务器日志抓取到本地,然后利用pandas库,将数据构造成自己想要的数据结构,需要计算分组聚合的就聚合,最终把每日的数据结果扔到mongodb中。
现在公司mongodb数据大概放了有8KW条左右,进行数据检索效率还是可以的,切记记得加索引。
我们这边除了把数据记录到mongodb之外,还用flask写了个restfulAPI,专门给运营系统调用数据统计结果,运营那边也会在MYSQL上创建一张表,将我mongodb统计出的结果再次统计出一个总数据,放到MYSQL里,这样就不用每次从API那边拿数据调用mongodb中进行重复聚合计算了。
添加回答
举报