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

php大数据更新,增量处理

php大数据更新,增量处理

HUWWW 2018-07-30 10:21:43
1.背景:公司是做域名的,目前要对接Godaddy的一口价域名,对方一口价域名数据量较大,只给一个全部数据的接口,且产品要求定时更新域名数据(新增新寄售的域名,去除状态异常的域名)2.问题:导入完整数据后,要如何更新数据,目前采用的方法是:清空表中Godaddy的所有数据,然后重新调接口导入所有数据,有没有什么好办法,可以实现数据的增量更新处理(数据量差不多有600W左右)有没有哪位大神指点一下,多谢!!!
查看完整描述

3 回答

?
幕布斯7119047

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

你是怎么对接口导入的 php cli , 还是用了第三方swoole 什么扩展导入的?

数据库瓶颈在哪里你就是开100个进程也没有,数据库插不进去,需要的时间也差不多。

可不可以每50万条数据 分一张表导入?


查看完整回答
反对 回复 2018-08-02
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

个人觉得,先清空,然后再填入的办法还是有点问题,在清空数据后数据填充前就会有一段时间的真空期。

那个分批次的接口有没有排序的功能,能够使用offset 去获取新的域名,然后, 还需要一个查询域名的接口,这种接口应该会有提供的吧,不然你们系统,做域名感觉没发做呀。 
在用户查询域名的时候再去判断这个域名的更新时间,如果大于某一个阈值,就重新去单独查询这个域名然后更新到你们的系统。 
当然只是一种思路,如果条件不满足再想其他办法。


查看完整回答
反对 回复 2018-08-02
?
胡子哥哥

TA贡献1825条经验 获得超6个赞

“清空数据表再重新导入全部数据”这种方法对数据库的压力太大了。你在调接口获取到新的全量数据后,做一次遍历,逐条逐条的跟已有的数据做对比,如果不一样,就说明这条数据已经发生了变更,这时候update一下数据库对应的记录即可。

其实这种情况最好的解决方法是,让Godaddy那边提供一个增量接口。


查看完整回答
反对 回复 2018-08-02
  • 3 回答
  • 0 关注
  • 1311 浏览
慕课专栏
更多

添加回答

举报

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