为了账号安全,请及时绑定邮箱和手机立即绑定

对爬虫抓取的数据进行分析该用MySQL还是mogodb?

对爬虫抓取的数据进行分析该用MySQL还是mogodb?

拉丁的传说 2019-02-23 18:59:08
我们现在准备写一个爬虫抓取大量数据(预测后期可能会达到两百万到两千万记录的数量级),然后对这些数据进行一些数据分析(主要是各种聚合函数计算,生成统计图,以及排序计算排行榜,还有横向比较生成走势折线图),请问使用mysql作为存储抓取到的数据还是用mogondb存储呢? 我看这两个数据库都有提供一些聚合函数,但是综合从效率,可用性,安全性等方面上来说哪个比较快?
查看完整描述

7 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

MySQL 在处理大量数据时会变得很捉急,相反 MongoDB 通过集群的话应该会好一些。

其实你完全可以不用数据库,对于爬虫而言这将有可能成为 IO 的瓶颈。

你可以尝试使用 Hadoop 的 HDFS。

查看完整回答
反对 回复 2019-03-04
?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

我们现在准备写一个爬虫抓取大量数据(预测后期可能会达到两百万到两千万记录的数量级)

如果只是这点数据, MySQL 或者 MongoDB 都可以. 但是相对来说, MongoDB 会灵活一些.

查看完整回答
反对 回复 2019-03-04
?
白板的微信

TA贡献1883条经验 获得超3个赞

200w到2000w的数据量相对来说不是很大,可以考虑这2中自己比较熟悉那个就使用那个。但是基本上数据库达到千万级别都会有查询性能的问题,所以如果数据持续增长的话,可以考虑用mongodb。毕竟mongodb分片集群搭建起来比mysql集群简单多了。而且处理起来更灵活。

查看完整回答
反对 回复 2019-03-04
?
MMMHUHU

TA贡献1834条经验 获得超8个赞

  1. 200-2000w的数据量没有必要上hadoop,除非你们团队对hadoop的技术栈很熟悉;

  2. 从性能角度看,这个量级的数据对于MySQL和mongoDB都可以胜任,关键看你的数据是结构化的还是非结构化的,相对而言mongo更灵活点

查看完整回答
反对 回复 2019-03-04
?
智慧大石

TA贡献1946条经验 获得超3个赞

刚好现在所在公司做过这方面的东西,并且也是本人负责,可以说出来给题主参考一下。
我这边主要做的是日志处理和归档,对每天所生成的访问日志进行冷热统计,生成各种数据报表等等,爬虫实际上最终也差不多。
刚开始考虑过MYSQL,不过MYSQL单表在超过千万级以上性能表现不佳,所以当时还是选择使用mongodb。
其实做的也很简单,无非是用python定时将每日的服务器日志抓取到本地,然后利用pandas库,将数据构造成自己想要的数据结构,需要计算分组聚合的就聚合,最终把每日的数据结果扔到mongodb中。
现在公司mongodb数据大概放了有8KW条左右,进行数据检索效率还是可以的,切记记得加索引。
我们这边除了把数据记录到mongodb之外,还用flask写了个restfulAPI,专门给运营系统调用数据统计结果,运营那边也会在MYSQL上创建一张表,将我mongodb统计出的结果再次统计出一个总数据,放到MYSQL里,这样就不用每次从API那边拿数据调用mongodb中进行重复聚合计算了。

查看完整回答
反对 回复 2019-03-04
  • 7 回答
  • 0 关注
  • 1316 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信