我在讓用戶上傳圖片到我的應用程序時遇到了困境。我的主機允許無限制的存儲空間,但只允許250K個人文件。我在125K,我計劃發佈一個功能,允許用戶上傳圖片。如果我開始上傳大量圖片,我可以快速填充該配額。我想過把它們存儲在MySQL等數據庫中。這是一個可行的解決方案,還是僅僅是愚蠢的?如果它只是愚蠢的,那麼一些免費/廉價的選擇會是什麼?在數據庫中存儲大量圖像是愚蠢的嗎?
回答
是的,把圖像數據放在一個分貝將是一種愚蠢的。
我會看看使用像Amazon S3存儲的東西。
這是一個CodingHorror帖子,幾年前傑夫在這裏討論它。
使用數據庫顯然比使用文件系統慢。如果你已經有125k,也許使用VPS而不是託管是一個好主意。這是約5-10美元/星期一。
什麼?你可以在哪裏獲得5-10美元/月的VPS? – LordZardeck
http://www.hetzner.de/hosting/produkte_vserver/vq7(我用這個滿足我的小小需求) – Ximik
真是棒極了。我可能最終將其用於某些副項目。 – LordZardeck
我個人不會那麼做。它最終會在以後導致更多問題。 爲什麼不登錄http://www.000webhost.com/(或類似)並創建腳本來上傳圖片而不是服務器?這是我會做的。
或者,您可以開始設置圖片保存期限的限制嗎?並在x天后刪除它們?
您可以選擇將圖像存儲在CDN或s3之類的選項嗎?從服務器上獲取圖像並獲得快速基礎架構的好處。更多這裏:http://aws.amazon.com/cloudfront/
如果您需要保護圖像但更加可行,則會更復雜。
有很多很好的理由將圖像(或任何龐大的媒體文件)存儲在數據庫之外。
將將圖像存儲在數據庫中的原因是如果您需要圖像數據以使用SQL ACID語義。
例如,如果您在數據庫中插入一行但回滾,則您希望圖像數據也被丟棄。如果將圖像數據從外部存儲到數據庫,則必須清理孤立的圖像。 同樣,如果你從數據庫中刪除行,你也必須記得從磁盤或S3或其他東西中刪除它們。 同樣,如果你更新行,你會失去事務隔離,所以你有競爭條件。
如果您將圖像存儲在數據庫之外,還需要創建數據庫備份。不僅因爲現在您的備份是一個多步驟過程(備份數據庫,然後是備份映像收集),而且您也無法創建熱備份。在備份從數據庫複製數據的過程中,您的映像集可能會在分鐘內發生更改。
+1對於一些非常有用的信息。由於這不是一個重要的企業項目,我不認爲我必須擔心需要將圖像存儲在數據庫中。感謝分享! – LordZardeck
- 1. Rails:Heroku中的Postgres數據庫(可能是愚蠢的問題)
- 2. 在數據庫中存儲base64編碼圖像是明智嗎?
- 3. 將大量圖形數據結構存儲在數據庫中
- 4. Android,存儲大量鏈接到數據庫的小圖像
- 5. 愚蠢的WPF數據綁定問題
- 6. 愚蠢的數學問題
- 7. 在數據庫中存儲圖像
- 8. 圖像存儲在mysql數據庫中
- 9. 在mvc數據庫中存儲圖像
- 10. 在數據庫中存儲圖像
- 11. 在數據庫中存儲圖像
- 12. 在數據庫中存儲圖像
- 13. 將圖像存儲在數據庫中
- 14. Intelisense很愚蠢
- 15. 愚蠢的JS FUNC
- 16. 將大量圖像存儲在數據庫中?一個很好的體驗?
- 17. 我應該在SQLite數據庫中存儲圖像嗎?
- 18. 如何在圖庫中存儲SQLite數據庫中的圖像
- 19. 在android中存儲大量圖像
- 20. Android:從URI中存儲的圖像縮略圖庫存儲在數據庫中
- 21. 是否存在從數據存儲庫/數據庫中持久存儲圖像的庫
- 22. 在MySQL數據庫中存儲大量數據的問題
- 23. 沒有WAMP/XAMPP的windows上的php ...這是一個愚蠢的愚蠢?
- 24. 如何處理愚蠢的設計數據庫?
- 25. 存儲大量圖像android
- 26. 存儲大量圖像
- 27. Android存儲大量圖像
- 28. 愚蠢的組件應該如何「愚蠢」?
- 29. Phonegap數據庫問題 - 將圖像存儲在數據庫中
- 30. 顯示作爲圖庫存儲在數據庫中的圖像
這看起來像我最好的選擇。它超級便宜。我認爲帶寬成本不會像我的存儲一樣成爲問題。 :P。非常感謝! – LordZardeck
不客氣! :) – tzaman