尋找這方面的一些意見,並試圖開始推進我的下一個項目的堅實設計。想象一下500萬張個人照片和相關的lo-res預覽圖像;每套圖片屬於一個畫廊,屬於一個人。有X個人。可以這麼說,Flickr的專門版本。攝影數據庫的存儲方法
這些被安置在一個遠程主機與Web界面查看這些圖片。還有一個桌面應用程序可以將它自動上傳到遠程主機並輸入畫廊的詳細信息。桌面應用程序具有關於每個畫廊和個人的預覽圖像和信息。可以說,與Flickr同步的桌面應用程序。
我需要決定兩件事:遠程主機的後端存儲和桌面應用程序的本地存儲。這是針對Windows環境的,所以我一直認爲SQL Server Express將會是一個不錯的選擇,但是這個項目已經有了很大的發展,並且可能只適用於桌面端。
遠程(網絡)服務器可以是Windows或Linux,PHP或.Net - 只要技術適用,我不在乎。問題在於如何最好地將所有數據存儲在Web服務器上,以便在發生災難時可以輕鬆地對其進行索引,快速訪問,最重要的是可以輕鬆進行備份和恢復。只要數據庫解決方案支持某種雲計算場景,我並不擔心服務器配置或磁盤空間。
我在想沒有SQL後端最有意義,將照片,畫廊和用戶存儲爲「文章」而不是「行」。 No-SQL似乎更有能力通過雲增長。另一方面,Flickr已被廣告爲使用MySQL ...
也許這是一個更存在的問題,一個真正的編碼問題,但我知道沒有更好的羣問!
將照片存儲爲數據庫中的二進制數據,還是將文件系統中的文件與db中引用的路徑一起存儲? – 2011-03-17 01:50:07
當然在文件系統上。它允許您將它們存儲在任何位置,並且不需要每個圖像負載都有一個數據庫連接。這也使得使用CDN更容易。 – 2011-03-17 10:27:52