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 關注
- 1368 瀏覽
添加回答
舉報
0/150
提交
取消