我會建議你使用MongoDB,我目前有幾個它運行存儲數百萬文件的實例。與通常的關係模式相反,您可以使用MongoDB對子文檔的支持。
MongoDB是一個NoSQL數據庫,但它非常易於使用,並且如果您熟悉數據庫和日常OO,就可以開始使用。
MongoDB中有最流行的語言,包括Ruby,所以你可以安裝Ruby的驅動程序(假設這是你想用什麼)通過使用寶石運行以下命令司機:
gem install mongo
如果運行Debian/Ubuntu簡單isntall mongodb與以下內容:
apt-get install mongodb
這應該讓你開始。
根據每個記錄的大小,可以採用各種不同的設計,MongoDB目前每個文檔有16MB的限制,所以這是您需要注意的事情。
我想有一個集合命名的網站,用於存儲有關您正在監視網站的基本信息(名稱,網址,參考客戶端,...)
然後有將被用來存儲其他集合你的統計數據,可以稱爲「統計數據」,我會將每個子文檔(每分鐘的統計數據)存儲在另一個文檔中,這些文檔將保存一天的數據。
所以在統計每個文件將是這樣的:
{
_id : X,
website_id : STORE_THE_ID_HERE,
timestamp_start : PUT_THE_TIMESTAMP_WHEN_YOU_START_MONITORING_HERE,
timestamp_end : SAME_AS_ABOVE_REALLY,
stats_count : A_DENORMALIZED_COUNT_OF_STATS
stats : [ { views : X, clicks : X2, ... },
...
]
}
希望,讓你開始,我想如果你願意試一試的MongoDB完全符合您的要求。
這個答案對我來說聽起來很棒。我會試一下! – Arti 2012-02-09 18:46:15