2013-04-04 88 views
0

我的問題是面向方法。我目前正在處理一些項目。所有的項目都將面臨大量的數據提取和維護。我的一個項目是在網絡爬蟲系統上。由於它定義了網頁爬行將存儲大量的數據。我現在正在維護mysql數據庫中的數據。但是我懷疑如果數據庫會很大,會發生什麼。我不想妥協與系統的速度。 我有2個問題,文件系統v/s數據庫

1)將DB時那張臉MySQL的速度問題很大?
2)如果我爲每個網站創建單獨的文件並將其數據存儲在該文件中,該怎麼辦?它會在速度問題上有所幫助嗎?

+0

你看着備用數據庫的喜歡的MongoDB或其他文件DB的?我必須對這些問題進行評論的人可能會被一些人的答案徹底淹沒,但我會深入研究這些問題,看看你的應用程序的需求是否能夠滿足這些需求。另外,Mongo有他們自己的「Map-Reduce」功能,我注意到了很棒的查詢時間。 – 2013-04-04 17:30:54

+0

嗨Ricky,我還沒有使用過這些數據庫。他們是否支持PHP?如果你能爲Mongo提供任何文檔鏈接,它將會非常有幫助。謝謝。 – 2013-04-05 10:40:09

回答

1
  1. 只要你正確地優化你的表和查詢,你的MYSQL服務器應該能夠擴展,只要它被賦予適當的資源,例如RAM/CPU。你也可以考慮使用像memcached這樣的工具來緩存你的查詢。
  2. 將數據存儲在平面文件中會減慢您的web應用程序,並堅持使用數據庫。
+1

添加到您的答案,在某些情況下,可能是一個NoSQL數據庫(如MongoDB)可能是一個不錯的選擇。這完全取決於具體的需求和數據的使用情況。不過,平面文件是最糟糕的選擇 – Barranka 2013-04-04 17:34:03

0

一般數據庫是建立在性能和與大數據量完全正常。他們甚至對數據進行索引以快速訪問,並且對於快速獲取數據非常聰明(查詢優化)。

因此IMO,如果您不必對數據庫執行查詢昂貴(很多很多連接)或不得不這樣做並不受SQL你是一個關係型數據庫完全正常查詢。如果你擔心磁盤空間,你可以嘗試使用PostgreSQL還設有壓縮,(讓更多的數據可以被保存在內存中有更好的表現)