php大数据更新,增量处理

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

阅读 4k
4 个回答

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

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

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

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

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

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

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

新手上路,请多包涵

另做一套备用程序,用新的全量数据比对现有的数据,自己给正式站点提供增量接口呢?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题