回答
這裏沒有一個正確的答案,但一個考慮因素是數據量是否會成爲問題。如果它不是太大,我更喜歡將它們保留在數據庫中,這是出於同樣的原因,我希望擁有一個具有備份,數據一致性和可恢復性的數據庫。如果您使用文件系統,甚至是文件流,在備份數據庫時不備份PDF,並且如果您還原到另一臺服務器或回滾到以前的時間點,則可能會導致您的PDF和數據處於不一致的狀態。當然,它會表現得更好,你應該牢記這一點,但如果性能不是問題,那麼確實很高興能夠將數據庫恢復到另一臺服務器,即使在開發或測試中也知道你擁有所有數據,並非所有的數據除了你的pdf。
更新:馬丁是正確的,文件流數據備份與您的常規備份,您可以使用WITH MOVE選項時恢復如果需要恢復到不同的位置的數據。因此,爲了澄清一下,如果您將普通舊指針用於磁盤上某處的文件,則在備份數據庫時不會備份您的PDF,但如果使用文件流,則會出現這種情況。您仍然需要小心,因爲數據庫不再能夠保證記錄的完整性,例如用戶可以將文件從文件流指向的文件系統中刪除,或者防病毒可以如果文件配置不正確,則隔離該文件。有一點規劃文件流看起來像很多情況下的一個很好的選擇。
[「您可以將所有備份和恢復模型與FILESTREAM數據一起使用,並將FILESTREAM數據與數據庫中的結構化數據一起備份」(http://technet.microsoft.com/zh-cn/library/bb933993)。 ASPX) – 2011-03-09 22:03:32
如果你打算你的數據庫會很大,那麼最好存儲。由於性能問題,數據磁盤上(和僅數據庫路徑)上的pdf文件。但是,如果你的數據庫不會很大 - 在DB中保存.pdf文件是可以的。
好的,我懷疑這個數據庫,即使pdf存儲將超過30GB。我想我會把它們作爲斑點存儲起來。謝謝! – korrowan 2011-03-09 19:41:04
如果您只在DB中存儲路徑,請確保您考慮歸檔。 PDF文件會永久保存在磁盤上嗎?如果空間不足會發生什麼?在這些情況下數據庫將如何更新?
不是反對存儲在磁盤上的論據,只是需要記住一些事情。
如果將它們存儲在數據庫中,您的性能將下降,並且您將無法使用第三方工具查看數據。
如果文件大小小於1Mb和/或文件很少編輯,則應該將文件存儲在SQL Server中,因爲性能。如果文件將被大量編輯和/或大於1Mb,則應將文件存儲到文件系統中。
有關更多信息,請參見該問題:Save documents as BLOB in SQL or on file system
- 1. 存儲路徑
- 2. 哪個更好?在DB中存儲文件或在DB中存儲其路徑?
- 3. JSON存儲路徑
- 4. 閱讀pdf存儲在內部存儲器(文件路徑是無效的)
- 5. 如何打開存儲在getFilesDir()PDF文件的getPath()路徑
- 6. 要在SQL表中存儲什麼?文件的路徑或其他
- 7. 在sql server中存儲pdf文件
- 8. 在NSDictionary中存儲索引路徑
- 9. 在android中存儲圖像路徑
- 10. 在屬性文件中存儲路徑
- 11. 在NSURL中存儲本地路徑
- 12. 在Android中查找存儲路徑
- 13. 存儲在SQL中的文件的網絡路徑?
- 14. 我們如何在sql中存儲imges路徑
- 15. 使用PHP在SQL數據庫中存儲文件的路徑
- 16. 在sql存儲過程中只留下根路徑
- 17. 模板存儲路徑無效。請確保它存在或可以創建:意想不到的路徑[路徑]
- 18. 在SQL中保存整個路徑?
- 19. 在數據庫中保存路徑/或\
- 20. C#OpenFileDialog存儲路徑
- 21. 存儲文件路徑
- 22. Android路徑內部存儲
- 23. ZipArchives存儲絕對路徑
- 24. SQL Server -SP執行路徑存儲在Stack?
- 25. travis中存儲庫的路徑
- 26. 更改Laravel中的存儲路徑
- 27. 從Azure存儲中刪除「子路徑」
- 28. 路徑中的多個git存儲庫
- 29. 路徑存儲在配置文件?
- 30. PHP的SimpleXML路徑存儲在變量
什麼大小的PDF文件?你使用的是什麼RDBMS?例如,SQL Server 2008具有'Filestream',它將它們存儲在數據庫文件之外,但是以一種集成的方式[(但仍然是關於是使用此還是blob的建議取決於文件大小)](http://research.microsoft。 com/research/pubs/view.aspx?msr_tr_id = MSR-TR-2006-45) – 2011-03-09 19:31:40
此問題已被多次詢問。搜索「在數據庫vs文件系統中存儲文件」 – 2011-03-09 19:32:16
請參閱我的答案是這樣的:http://stackoverflow.com/questions/2467774/working-with-images-in-wcf - 微軟研究院有一個很棒的白皮書[去Blob或不去Blob](http://research.microsoft。 com/apps/pubs/default.aspx?id = 64525)這個問題的答案很詳細 – 2011-03-09 19:45:48