看完上面的問題後,似乎對圖像存儲與數據庫的首選方法是存儲在數據庫中唯一的文件路徑。但是,這些答案中的大部分似乎都集中在Web服務器上。
就我而言,我正在開發一個桌面應用程序,該應用程序將在Intranet中的多臺計算機上使用。專用服務器將託管數據庫,其中包含與在各種設備上執行測試有關的信息。
圖像需要以某種方式存儲在服務器上。在這種情況下,將圖像存儲在數據庫中是否是正確的方法,甚至是唯一的方法?
優點:
- 備份僅限於數據庫中。
- 無需打開服務器的文件系統到網絡。
- 用於服務器信息訪問的單一協議。
- 受保護的文件訪問。 (用戶不能進去,並刪除所有圖像)
缺點
- 性能問題在未來如果有太多的圖像。
編輯:如標籤中所述,應用程序正在使用C#/ .NET編寫。如果在這種情況下將圖像寫入文件系統是一個選項,我可以使用一些幫助瞭解如何完成此操作。在下面的評論中詳細闡述了一些內容,現在我假定一個MySQL數據庫,儘管SQL Server 2008的FileStream功能可能會改變這種情況。
同樣在我的情況下,圖像會經常被添加,並且在此之後可以被認爲是隻讀的,因爲它們不應該被改變,並且將在需要時被讀出。圖像可能會很小(每個〜70K),而且我還在考慮服務器上的其他二進制格式存儲,每個文件大約20K,我可能會應用相同的方法進行存儲和檢索。
爲了簡化應用程序,我同意這一點。我絕對不會有超過1GB的文件......對於這個問題,任何超過25kb的文件的可能性很小(灰度超聲圖像壓縮很好)。他們不可能在一年內使用1GB的數據。除此之外,性能不是一個大問題,因爲會有很少的查詢,其中大部分將在後臺進行。 – 2009-12-15 21:57:43
如果我可以選擇多個答案,我會,但這可能是我要去的。應用程序的簡單性與任何數據的小尺寸相結合似乎並不能證明Web /圖像服務器是合理的。如果表現是必要的,或者我有更多的數據,我可能會用pcampbell的方法去做,但Mark Ewer的經驗似乎也指出這對我們的需求來說已經足夠了。感謝大家。 – 2009-12-16 18:47:53