當前位置:全科學識雲 > 行業範文 > 數據庫操作系統 > 三種永遠不要放到mysql數據庫裏的東西
手機版

三種永遠不要放到mysql數據庫裏的東西

來源:全科學識雲 閱讀:2.38W 次

圖片,檔案,二進制數據永遠不要放到mysql數據庫裏。

三種永遠不要放到mysql數據庫裏的東西

很多人會覺得既然數據庫支援BLOB類型的數據,把檔案塞進BLOB字段裏一定沒有錯了!?錯,不是這樣的! 別的先不提,在很多數據庫語言裏,處理大字段都不是很容易。

把檔案存放在數據庫裏有很多問題:

1.對數據庫的讀/寫的速度永遠都趕不上檔案系統處理的速度

2.數據庫備份變的巨大,越來越耗時間

3.對檔案的訪問需要穿越你的應用層和數據庫層

這後兩個是真正的殺手。

那麼把圖片縮略圖存到數據庫裏?結果是,你不能使用nginx或其它類型的輕量級服務器來處理它們了。

給自己行個方便吧,在數據庫裏只簡單的存放一個磁盤上你的檔案的相對路徑,或者使用S3或CDN之類的服務。

生命期數據不要放到mysql數據庫裏

使用情況統計數據,測量數據,GPS定位數據,session數據,任何只是短時間內對你有用,或經常變化的數據。 如果你發現自己正在使用定時任務從某個表裏刪除有效期只有一小時,一天或數週的數據, 那說明你沒有找對正確的做事情的方法。 使用redis,statsd/graphite, Riak,它們都是幹這種事情更合適的`工具。 這建議也適用於對於收集那些短生命期的數據。

當然,用挖土機在後花園裏種土豆也是可行的,但相比起從儲物間裏拿出一把鏟子, 你預約一臺挖土機、等它趕到你的園子裏挖坑,這顯然更慢。 你要選擇合適的工具來處理手頭上的事。

日誌檔案不要放到mysql數據庫裏

把日誌數據存放到數據庫裏,表面上看起來似乎不錯,而且“將來也許我需要對這些數據進行復雜的查詢”, 這樣的話很得人心。這樣做並不是一個特別差的做法, 但如果你把日誌數據和你的產品數據存放到一個數據庫裏就非常不好了。

也許你的日誌記錄做的很保守,每次web請求只產生一條日誌。 對於整個網站的每個事件來說,這仍然會產生大量的數據庫插入操作, 爭奪你用戶需要的數據庫資源。 如果你的日誌級別設定爲verbose或debug,那等着看你的數據庫着火吧。

你應該使用一些比如Splunk Loggly或純文字檔案來存放你的日誌數據。 這樣去檢視它們也許會不方便,但這樣的時候不多,甚至有時候你需要寫出一些代碼來分析出你想要的答案, 但總的來說是值得的。

本文連結:https://www.qkxsy.com/hangyefw/shujuku/ro6gj2.html

Copyright © 2024. 全科學識雲 All right reserved.

文字美圖素材,版權屬於原作者。部分文章內容由網友提供推送時因種種原因未能與原作者聯繫上,若涉及版權問題,敬請原作者聯繫我們,立即處理。