2011-07-12 31 views
3

我的抓取工具正在抓取所有網站並從中獲取元數據信息。 然後,我將運行腳本來清理URL並將其存儲在Amazon RDS中。我應該使用什麼數據存儲來存儲抓取工具的臨時數據?

我的問題是我應該使用什麼數據存儲來存儲用於消毒目的的數據(刪除不需要的URL)。我不希望抓取工具擊中亞馬遜RDS,這會降低速度。

我應該使用Amazon SimpleDB嗎?然後我可以從SimpleDB讀取,清理URL並將其移至Amazon RDS。

回答

1

您可以隨時使用數據庫,但問題是與磁盤訪問。每當你做一個磁盤訪問來讀取一堆URL時,都要對它們進行清理,然後再將它們寫入另一個磁盤訪問的數據庫。如果你不關心性能,這個過程是確定的。

一個解決方案是你可以像列表一樣簡單地使用任何數據結構,存儲一堆或URL有一個線程,當列表達到閾值時醒來清理URL,然後你可以將這些URL寫入Amazon RDS。

+0

問題是我可以將它存儲在列表中,但清理程序腳本可能是駐留在另一臺機器上的獨立工作人員。我不認爲磁盤訪問simpledb會有問題。主要關注的是RDS,因爲這也是前端面臨的問題。我打算分批定期清理數據。這聽起來不錯嗎? – Sarvesh

+0

當清潔器腳本從簡單數據庫中讀取URL時,它如何跟蹤它從數據庫中讀取的URL數量,以及您打算如何刪除已閱讀的髒URL? – Drew

+0

我可能會使用一個列表來從simpledb中獲取URL,清理並只將有效的URL移動到RDS中。我將更新每個記錄的simpledb中的標誌,無論它是否有效或更新到RDS。 – Sarvesh

相關問題