2012-11-30 34 views
2

試圖爲GeoIP查找決定最佳解決方案。GeoIP查找 - 選項和數據持久性

的選項似乎是:
1.下載溢價數據庫,並做查找
2.下載一個免費的數據庫,做查找
3.打一個免費的Web API
4.點擊付費的網絡API 。我們將不得不在用戶登錄時這樣做,所以它會頻繁發生。

IP地址位置是否發生變化以及發生頻率的重要問題。例如,我們可以使用免費的Web API構建我們自己的數據庫,存儲它返回給我們的每個IP位置,但這隻有在它們相對持久時纔可行。

另外,我們正在查看的付費數據庫每月更新一次,這取決於這些更改的頻率/次數可能不夠。

謝謝!

回答

3

無法保證某個位置的永久IP如何。實際上有些公司充當IPv4地址的代理商,因爲我們開始對它們低估了。麻省理工擁有的18.0.0.0/8可能已經在一個地方呆了30年。其他人可能會有更多的動作。

至於維護從某種web API的地址本地緩存我會推薦它。如果你做1:1 IP-> lat/long表,那麼你說的總共是2^32個條目,比如說每個50個字節= 200GB。顯然,這些可以被壓縮成子網等,但現在你開始做GeoIP公司非常擅長的工作,並有重大的開局。 Debian附帶的免費IP->國家數據庫僅在我的機器上安裝了5MB。

從程序員的生產力角度來看,要獲得速度和可靠性,使用客戶端庫來打敗可下載的數據庫將是困難的。

MaxMind擁有IP->國家和IP->城市的免費數據庫,但您必須在您的網站/產品上發佈通知,如「該產品包含由MaxMind創建的GeoLite數據,可從http://www.maxmind.com獲得」這更像是一項業務決定而不是技術。