2012-02-10 73 views
0

我編寫了一個程序,用於抓取網站,處理html頁面並將結果存儲在MySql數據庫中。 「結果」是指html內容,所有與他們的屬性和各種錯誤的鏈接,以防當抓取工具無法抓取時。我將這個程序用於分析目的。用於存儲/訪問大量數據的正確解決方案

一切正常,但主要問題是數據佔用太多的磁盤空間。對於每個100000個網站(每個網站最多20個網頁),我有5個MySQL表,總共大約60 GB的空間,我需要處理20-30多個網站。

當然,我不能在家用電腦上同時處理那麼多的數據,而且我只能處理它的小塊,這很耗時,效率也不高。

,所以我尋求建議或解決方案來:
1)給關係型數據庫確實
2相同的靈活性訪問數據),允許數據

回答

2

的智能和高效節能我懷疑不同的存儲引擎會比這更有效率 - 如果將所有內容都存儲在一個表中,而沒有任何索引,並且使用自然主鍵,則幾乎不會發生存儲開銷,即使添加了一些結構,它仍然應該保留理智。

我的猜測是你的問題是你收集的數據量很大,所以你可能想在存儲之前刪除你的樣本數據的相當部分:例如,你可能想要將頁面源代碼燒錄到一堆的(標準化)的關鍵字,你可以跳過重內容(圖片等)和東西,你不感興趣(如CSS樣式表,JavaScript等)等

+0

我不存儲圖像,外部js或css內容。而且我無法擺脫HTML內容,因爲分析任務可能會改變 - 今天我正在提取關鍵字,明天我可能不得不做其他任何事情。 – Termos 2012-02-10 16:15:34

相關問題