為什麼不用資料庫儲存圖片?

ZHOU_VIP發表於2019-04-18
  • 首先需要知道資料庫如何儲存圖片
    • BLOB 64K;MEDIUMBLOB(最大16M);LONGBLOB型別(4G)三種不同大小的型別。二進位制格式的。
    • 寫入時並無格式之分,只是儲存二進位制資料,讀取後和寫入時的格式一樣。
    • 設計資料庫表時需要考慮圖片的儲存與查詢問題(需要設計一個唯一標識而且這個標識前端知道)。
  • 再說nginx+ftp如何存圖片
    • 後端接收圖片後,將其上傳至ftp伺服器。
    • 資料庫中只存url
  • 兩者比較
    • 資料庫資料型別的限制,不夠靈活。
    • 通過資料庫進行圖片的讀寫操作很耗費資源,會影響資料庫效能。
    • 將圖片的讀寫操作拆分出來,減輕資料庫的壓力。
    • 一個網站架構的演進最基礎的一步就是應用服務和資料服務的分離。
      • 應用伺服器需要更強大的CPU。
      • 而資料服務又可以分為資料庫伺服器和檔案伺服器。
        • 資料庫伺服器需要快速磁碟檢索和資料快取,因此需要更快的磁碟和更大的記憶體。
        • 檔案伺服器需要儲存大量使用者上傳的檔案,需要更大的硬碟。

原因

  • 不靈活
  • 資源浪費
  • 讀寫效率問題,每次讀寫要用程式進行轉換格式,圖片讀寫每次影響其他基本資料型別的讀寫
  • 為了擴充套件性

https://www.jianshu.com/p/a4f7629e7d01

相關文章