三種永遠不要放到mysql數據庫裏的東西
圖片,文件,二進制數據永遠不要放到mysql數據庫裏。
很多人會覺得既然數據庫支持BLOB類型的數據,把文件塞進BLOB字段裏一定沒有錯了!?錯,不是這樣的! 別的先不提,在很多數據庫語言裏,處理大字段都不是很容易。
把文件存放在數據庫裏有很多問題:
1.對數據庫的讀/寫的速度永遠都趕不上文件系統處理的速度
2.數據庫備份變的巨大,越來越耗時間
3.對文件的訪問需要穿越你的應用層和數據庫層
這後兩個是真正的殺手。
那麼把圖片縮略圖存到數據庫裏?結果是,你不能使用nginx或其它類型的輕量級服務器來處理它們了。
給自己行個方便吧,在數據庫裏只簡單的存放一個磁盤上你的文件的相對路徑,或者使用S3或CDN之類的服務。
短生命期數據不要放到mysql數據庫裏
使用情況統計數據,測量數據,GPS定位數據,session數據,任何只是短時間內對你有用,或經常變化的數據。 如果你發現自己正在使用定時任務從某個表裏刪除有效期只有一小時,一天或數週的數據, 那説明你沒有找對正確的做事情的方法。 使用redis,statsd/graphite, Riak,它們都是幹這種事情更合適的`工具。 這建議也適用於對於收集那些短生命期的數據。
當然,用挖土機在後花園裏種土豆也是可行的,但相比起從儲物間裏拿出一把鏟子, 你預約一台挖土機、等它趕到你的園子裏挖坑,這顯然更慢。 你要選擇合適的工具來處理手頭上的事。
日誌文件不要放到mysql數據庫裏
把日誌數據存放到數據庫裏,表面上看起來似乎不錯,而且“將來也許我需要對這些數據進行復雜的查詢”, 這樣的話很得人心。這樣做並不是一個特別差的做法, 但如果你把日誌數據和你的產品數據存放到一個數據庫裏就非常不好了。
也許你的日誌記錄做的很保守,每次web請求只產生一條日誌。 對於整個網站的每個事件來説,這仍然會產生大量的數據庫插入操作, 爭奪你用户需要的數據庫資源。 如果你的日誌級別設置為verbose或debug,那等着看你的數據庫着火吧。
你應該使用一些比如Splunk Loggly或純文本文件來存放你的日誌數據。 這樣去查看它們也許會不方便,但這樣的時候不多,甚至有時候你需要寫出一些代碼來分析出你想要的答案, 但總的來説是值得的。
-
數據庫期末考試答案
下面是小編整理的數據庫期末考試答案,希望能幫助到大家!一、選擇題(每題1分,共20分)1.在數據管理技術的發展過程中,經歷了人工管理階段、文件系統階段和數據庫系統階段。在這幾個階段中,數據獨立性最高的是(A)階段。A.數據庫系統B.文件系統C.人工管理D.數據項管理2.數據庫...
-
自考互聯網數據庫易考點
一、數據字典及其構成數據字典是系統中各類數據描述的集合,是進行詳細的數據收集和數據分析所獲得的主要成果。數據字典通常包括數據項,數據結構,數據流,數據存儲和處理過程五個部分。其中數據項是數據的最小組成單位,若干個數據項可以組成一個數據結構,數據字典通過...
-
MySQL數據庫備份守則和方法
在數據庫表丟失或損壞的情況下,備份你的數據庫是很重要的。如果發生系統崩潰,你肯定想能夠將你的表儘可能丟失最少的數據恢復到崩潰發生時的狀態。有時,正是MySQL管理員造成破壞。管理員已經知道表已破壞,用諸如vi或Emacs等編輯器試圖直接編輯它們,這對錶絕對不是件...
-
U盤重裝系統步驟圖解
現在,好多小夥伴都有一台心愛的筆記本電腦,但卻苦於當前的系統太卡,或者系統不能正常使用了。沒關係,下面小編教你U盤重裝系統win7步驟圖文教程!希望能夠對你有所幫助!一、製作U極速U盤啟動盤1.下載並安裝U盤啟動盤製作軟件,本教程以”U極速“為例。2.打開“U極速”U...