1.背景:公司是做域名的,目前要对接Godaddy的一口价域名,对方一口价域名数据量较大,只给一个全部数据的接口,且产品要求定时更新域名数据(新增新寄售的域名,去除状态异常的域名)2.问题:导入完整数据后,要如何更新数据,目前采用的方法是:清空表中Godaddy的所有数据,然后重新调接口导入所有数据,有没有什么好办法,可以实现数据的增量更新处理(数据量差不多有600W左右)有没有哪位大神指点一下,多谢!!!
3 回答
幕布斯7119047
TA贡献1794条经验 获得超8个赞
你是怎么对接口导入的 php cli , 还是用了第三方swoole 什么扩展导入的?
数据库瓶颈在哪里你就是开100个进程也没有,数据库插不进去,需要的时间也差不多。
可不可以每50万条数据 分一张表导入?
慕盖茨4494581
TA贡献1850条经验 获得超11个赞
个人觉得,先清空,然后再填入的办法还是有点问题,在清空数据后数据填充前就会有一段时间的真空期。
那个分批次的接口有没有排序的功能,能够使用offset 去获取新的域名,然后, 还需要一个查询域名的接口,这种接口应该会有提供的吧,不然你们系统,做域名感觉没发做呀。
在用户查询域名的时候再去判断这个域名的更新时间,如果大于某一个阈值,就重新去单独查询这个域名然后更新到你们的系统。
当然只是一种思路,如果条件不满足再想其他办法。
胡子哥哥
TA贡献1825条经验 获得超6个赞
“清空数据表再重新导入全部数据”这种方法对数据库的压力太大了。你在调接口获取到新的全量数据后,做一次遍历,逐条逐条的跟已有的数据做对比,如果不一样,就说明这条数据已经发生了变更,这时候update一下数据库对应的记录即可。
其实这种情况最好的解决方法是,让Godaddy那边提供一个增量接口。
- 3 回答
- 0 关注
- 1319 浏览
添加回答
举报
0/150
提交
取消