php大数据更新,增量处理

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

HUWWW
浏览 1276回答 3
3回答

幕布斯7119047

你是怎么对接口导入的 php cli , 还是用了第三方swoole 什么扩展导入的?数据库瓶颈在哪里你就是开100个进程也没有,数据库插不进去,需要的时间也差不多。可不可以每50万条数据 分一张表导入?

慕盖茨4494581

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

胡子哥哥

“清空数据表再重新导入全部数据”这种方法对数据库的压力太大了。你在调接口获取到新的全量数据后,做一次遍历,逐条逐条的跟已有的数据做对比,如果不一样,就说明这条数据已经发生了变更,这时候update一下数据库对应的记录即可。其实这种情况最好的解决方法是,让Godaddy那边提供一个增量接口。
打开App,查看更多内容
随时随地看视频慕课网APP