MongoDB 2.0之底氣十足的Journaling
哇哈哈,Journaling其實(shí)不能算是新功能了,總在之前的版本中就已經(jīng)出現(xiàn),但官方說法是還在測試中,不能保證穩(wěn)定性,不過在2.0中終于被正名,雖然說服務(wù)器也不是那么容易崩潰,但是更好的補(bǔ)救方法總是讓人興奮的呀,嘿嘿。
簡單地說,mongo的所有數(shù)據(jù)操作會(huì)先放在內(nèi)存中,再一一執(zhí)行,一旦機(jī)子掛掉,那些還在內(nèi)存里來不及執(zhí)行的數(shù)據(jù)就會(huì)丟失,而 Journaling記錄的是每一次操作進(jìn)入內(nèi)存時(shí)的動(dòng)作,比如說插入一條數(shù)據(jù)的過程是:一條插入操作進(jìn)入內(nèi)存->在內(nèi)存中等待完成->在數(shù)據(jù)庫中真正完成,那Journaling就會(huì)在“一條插入操作進(jìn)入內(nèi)存”時(shí)就將其記錄下來,Journaling就像一本真正的日志,它會(huì)產(chǎn)生一個(gè)確實(shí)存在的文件,所以一旦向服務(wù)器發(fā)送了一條請(qǐng)求,就會(huì)立馬被記在這個(gè)文件中,即使當(dāng)機(jī)了,內(nèi)存中的東西都丟失了,這個(gè)文件里還是清清楚楚地記著的,mongo 再按照這本日志來進(jìn)行恢復(fù)就行了。
需要注意的是,開啟了Journaling功能后,操作會(huì)由Journaling來定時(shí)提交到數(shù)據(jù)庫進(jìn)行完成,而這個(gè)定時(shí)的長度可以由用戶自己定義,范圍是2到300毫秒,如果不設(shè)置,則默認(rèn)為100毫秒。
現(xiàn)在手頭沒有l(wèi)inux機(jī)子了,回頭有了再完整地記錄一下嘍:P
原文鏈接:http://www.cnblogs.com/sasafly/archive/2011/10/07/2200639.html
【編輯推薦】