偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

三種東西永遠(yuǎn)不要放到數(shù)據(jù)庫里

數(shù)據(jù)庫
我已經(jīng)在很多演講里說過,改進(jìn)你的系統(tǒng)的最好的方法是先避免做“蠢事”。我并不是說你或你開發(fā)的東西“蠢”,只是有些決定很容易被人們忽略掉其暗含的牽連,認(rèn)識不到這樣做對系統(tǒng)維護(hù)尤其是系統(tǒng)升級帶來多大的麻煩。作為一個(gè)顧問,像這樣的事情我到處都能見到,我還從來沒有見過做出這樣的決定的人有過好的結(jié)果的。

我已經(jīng)在很多演講里說過,改進(jìn)你的系統(tǒng)的最好的方法是先避免做“蠢事”。我并不是說你或你開發(fā)的東西“蠢”,只是有些決定很容易被人們忽略掉其暗含 的牽連,認(rèn)識不到這樣做對系統(tǒng)維護(hù)尤其是系統(tǒng)升級帶來多大的麻煩。作為一個(gè)顧問,像這樣的事情我到處都能見到,我還從來沒有見過做出這樣的決定的人有過好 的結(jié)果的。

圖片,文件,二進(jìn)制數(shù)據(jù)

既然數(shù)據(jù)庫支持BLOB類型的數(shù)據(jù),把文件塞進(jìn)BLOB字段里一定沒有錯(cuò)了???錯(cuò),不是這樣的!別的先不提,在很多數(shù)據(jù)庫語言里,處理大字段都不是很容易。

把文件存放在數(shù)據(jù)庫里有很多問題:

  • 對數(shù)據(jù)庫的讀/寫的速度永遠(yuǎn)都趕不上文件系統(tǒng)處理的速度
  • 數(shù)據(jù)庫備份變的巨大,越來越耗時(shí)間
  • 對文件的訪問需要穿越你的應(yīng)用層和數(shù)據(jù)庫層

這后兩個(gè)是真正的殺手。把圖片縮略圖存到數(shù)據(jù)庫里?很好,那你就不能使用nginx或其它類型的輕量級服務(wù)器來處理它們了。

給自己行個(gè)方便吧,在數(shù)據(jù)庫里只簡單的存放一個(gè)磁盤上你的文件的相對路徑,或者使用S3或CDN之類的服務(wù)。

短生命期數(shù)據(jù)

使用情況統(tǒng)計(jì)數(shù)據(jù),測量數(shù)據(jù),GPS定位數(shù)據(jù),session數(shù)據(jù),任何只是短時(shí)間內(nèi)對你有用,或經(jīng)常變化的數(shù)據(jù)。如果你發(fā)現(xiàn)自己正在使用定時(shí)任務(wù)從某個(gè)表里刪除有效期只有一小時(shí),一天或數(shù)周的數(shù)據(jù),那說明你沒有找對正確的做事情的方法。使用redis, statsd/graphite, Riak,它們都是干這種事情更合適的工具。這建議也適用于對于收集那些短生命期的數(shù)據(jù)。

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

日志文件

把日志數(shù)據(jù)存放到數(shù)據(jù)庫里,表面上看起來似乎不錯(cuò),而且“將來也許我需要對這些數(shù)據(jù)進(jìn)行復(fù)雜的查詢”,這樣的話很得人心。這樣做并不是一個(gè)特別差的做法,但如果你把日志數(shù)據(jù)和你的產(chǎn)品數(shù)據(jù)存放到一個(gè)數(shù)據(jù)庫里就非常不好了。

也許你的日志記錄做的很保守,每次web請求只產(chǎn)生一條日志。對于整個(gè)網(wǎng)站的每個(gè)事件來說,這仍然會產(chǎn)生大量的數(shù)據(jù)庫插入操作,爭奪你用戶需要的數(shù)據(jù)庫資源。如果你的日志級別設(shè)置為verbose或debug,那等著看你的數(shù)據(jù)庫著火吧。

你應(yīng)該使用一些比如Splunk Loggly或純文本文件來存放你的日志數(shù)據(jù)。這樣去查看它們也許會不方便,但這樣的時(shí)候不多,甚至有時(shí)候你需要寫出一些代碼來分析出你想要的答案,但總的來說是值得的。

可是稍等一下,你是那片不一樣的雪花,你遇到的問題會如此的不同,所以,如果你把上面提到的三種東西中的某一種放到了數(shù)據(jù)庫里也不會有問題。不,你錯(cuò)了,不,你不特殊。相信我。

英文原文:Three things you should never put in your database

原文鏈接:http://www.aqee.net/three-things-you-should-never-put-in-your-database/

【編輯推薦】

  1. 一個(gè)小時(shí)內(nèi)學(xué)習(xí)SQLite數(shù)據(jù)庫
  2. 我們該如何設(shè)計(jì)數(shù)據(jù)庫
  3. 11個(gè)重要的數(shù)據(jù)庫設(shè)計(jì)規(guī)則
責(zé)任編輯:林師授 來源: 外刊IT評論
相關(guān)推薦

2012-11-09 13:42:29

數(shù)據(jù)庫數(shù)據(jù)大數(shù)據(jù)

2015-06-03 14:53:34

SQL文件系統(tǒng)備份

2015-09-01 10:29:44

數(shù)據(jù)安全

2010-07-29 09:56:45

Flex數(shù)據(jù)庫

2010-09-26 16:31:13

隨機(jī)查詢語句

2010-11-19 14:51:09

Oracle數(shù)據(jù)庫關(guān)閉

2011-05-26 13:16:37

Oracle數(shù)據(jù)庫備份

2010-08-13 15:08:55

Flex數(shù)據(jù)訪問

2024-10-08 15:31:45

2009-07-22 11:33:14

JDBC連接Sybas

2010-10-26 13:33:08

Oracle自動備份

2011-03-30 14:52:34

備份WordPress博客

2010-04-12 16:35:15

Oracle數(shù)據(jù)庫

2010-08-31 11:14:32

2011-01-18 15:35:59

jQueryJavaScriptweb

2011-07-04 15:14:49

C#

2019-11-23 17:10:58

MySQL數(shù)據(jù)庫default

2010-09-24 19:18:22

SQL索引

2015-01-16 17:41:45

數(shù)據(jù)中心模塊化

2010-09-26 17:09:22

日內(nèi)數(shù)據(jù)保護(hù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號