成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

MongoDB - Write Concern Reference

ARGUS / 3339人閱讀

摘要:版本中的修改在主從部署中,把視作與是等效的。這會確保如果意外關(guān)閉了,數(shù)據(jù)也不會丟失。當(dāng)這些寫操作返回時,不會撤銷在寫關(guān)注超過時限之前已經(jīng)成功執(zhí)行的數(shù)據(jù)修改。

Write Concern Reference
  

本文翻譯自 write concern reference。
注意,本文內(nèi)容適用于MongoDB Manual 3.0.2及以上版本。

寫關(guān)注就是當(dāng)向客戶端報告寫操作的成功執(zhí)行時,MongoDB提供的保證。這個保證包含兩個方面:

要求收到指定數(shù)量的mongo節(jié)點對寫操作的收到確認(rèn)。

是否要將數(shù)據(jù)變更寫入磁盤上的日志文件(journal)。

版本2.6中的修改:一個針對寫操作的新協(xié)議將寫關(guān)注與寫操作集成在一起,這就消除了調(diào)用getLastError命令的需要。以前的版本需要在寫操作之后立即調(diào)用getLastError命令,以指定寫關(guān)注級別。

Available Write Concern

write concern可以包含w選項,以指定返回前要求的確認(rèn)數(shù)量;包含j選項,以要求返回前需將數(shù)據(jù)寫入日志(journal);包含wtimeout選項指定一個時間限制,以防止寫操作無窮盡地阻塞。

在分片集群中,mongos實例會將寫關(guān)注傳遞給分片。(注:什么是mongos呢,請看mongos 與 mongod)

w Option

w選項提供了既可以為副本集指定寫關(guān)注,還可以完全關(guān)閉寫關(guān)注的能力。

MongoDB使用w: 1作為默認(rèn)寫關(guān)注,w: 1提供了基本的收到確認(rèn)。

w選項接受如下值:

Value Description
1 提供在單機(jī)模式的mongod或副本集主節(jié)點上的寫操作確認(rèn)。

這是MongoDB默認(rèn)的寫操作。
0 關(guān)閉基本的寫操作確認(rèn),但返回socket異常和網(wǎng)絡(luò)錯誤信息給應(yīng)用。

如果你關(guān)閉了基本的寫操作確認(rèn),但卻要求日志提交確認(rèn)(journal commit acknowledgement),那么日志提交會占優(yōu)勢,進(jìn)而服務(wù)器會要求mongod對寫操作進(jìn)行確認(rèn)。
保證寫操作已成功傳播至指定數(shù)量的副本集成員(包括主節(jié)點)。

例如,w: 2表示要求主節(jié)點和至少一個從節(jié)點的確認(rèn)。

如果你將w設(shè)置為一個比持有數(shù)據(jù)的副本集成員數(shù)更大的數(shù)值,MongoDB會等待那些不存在的成員變得可用,這意味著MongoDB會無窮盡地阻塞。
"majority" 確保寫操作已成功傳播至大部分投票節(jié)點副本集投票成員中的大部分必須在寫操作成功返回前對寫操作進(jìn)行確認(rèn)。這可以讓你避免在應(yīng)用中對副本集大小做硬編碼的假設(shè)。

3.0版本中的修改:在以前的版本中,w: "majority"指的是副本集成員的大部分

2.6版本中的修改:在主從(Master/Slave)部署中,MongoDB把w: "majority"視作與w: 1是等效的。在更早的版本中,在主從部署中w: "majority"會產(chǎn)生一個錯誤。
通過指定標(biāo)簽集,你可以擁有對 哪些副本集成員必須對寫操作進(jìn)行確認(rèn) 細(xì)粒度的控制,以滿足需要的寫關(guān)注級別。
j Option

j選項確保mongod實例已將數(shù)據(jù)寫入磁盤上的日志文件。這會確保如果mongod意外關(guān)閉了,數(shù)據(jù)也不會丟失。設(shè)置為true即啟用journaling。

2.6版本中的修改:對 帶有--nojournal選項運行著的mongod或者mongos指定包含j: true的寫關(guān)注現(xiàn)在會報錯。以前的版本會忽略j: true。

注意:
如果在副本集中需要journaled寫關(guān)注,只需要寫操作在主節(jié)點上完成日志提交就行了,不用考慮replica acknowledged寫關(guān)注。(journaled寫關(guān)注只是一種邏輯上的寫關(guān)注級別,實際并沒有這個配置項值,組合wj兩個配置項才能實現(xiàn)用戶期望的寫關(guān)注。

wtimeout

這個選項為寫關(guān)注指定一個毫秒數(shù)的時間限制。只有在w大于1時,wtimeout才是可應(yīng)用的。

wtimeout會導(dǎo)致寫操作在指定的時限之后帶著錯誤返回,即使要求的寫關(guān)注最終成功完成。當(dāng)這些寫操作返回時,MongoDB不會撤銷在寫關(guān)注超過wtimeout時限之前已經(jīng)成功執(zhí)行的數(shù)據(jù)修改。

如果你沒有指定wtimeout,而要求的寫關(guān)注又無法實現(xiàn),那寫操作將會無窮盡地阻塞下去。指定wtimeout為0等效于不帶wtimeout選項的寫關(guān)注。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/18731.html

相關(guān)文章

  • MongoDB - write concern concept

    摘要:對于多文檔操作來說,并未提供多文檔事物或隔離。在間隔過期之前,不會回滾或撤消已做出的修改。僅在將數(shù)據(jù)提交到后才告知客戶端。為了降低操作延遲,也增加了它提交數(shù)據(jù)至日志的頻率。 本文翻譯自 write concern。 注意,本文內(nèi)容適用于MongoDB Manual 3.0.2及以上版本。 Whats write concern 所謂的寫關(guān)注就是當(dāng)向客戶端報告寫操作的成功...

    callmewhy 評論0 收藏0
  • 使用mongo shell遠(yuǎn)程連接數(shù)據(jù)庫

    摘要:序本文主要介紹一下如何使用連接遠(yuǎn)程數(shù)據(jù)庫這個里頭的就包含了后面不傳參數(shù)則會在命令行提示輸入查看空間占用所有數(shù)據(jù)的總大小所有數(shù)據(jù)占的磁盤大小以為單位以為單位查看集合查詢 序 本文主要介紹一下如何使用mongo shell連接遠(yuǎn)程數(shù)據(jù)庫 install curl -o mongodb-linux-x86_64-3.2.4.tgz https://fastdl.mongodb.org/lin...

    roundstones 評論0 收藏0
  • mongodb: “invalid character ',' looking

    摘要:我以為是編碼的問題,可能是下的編碼有問題,因為有一個談?wù)撨@個問題的。其中遇到了也是的問題提到的這個做法很不錯,使用這個參數(shù)確定位置。 從群里獲取了一個超大的json(也就800M),需要導(dǎo)入mongodb,然后遇到了一個問題: $ mongoimport --db weibo --collection data --file test.json 2018-05-09T16:10:22....

    Edison 評論0 收藏0
  • mongodb: “invalid character ',' looking

    摘要:我以為是編碼的問題,可能是下的編碼有問題,因為有一個談?wù)撨@個問題的。其中遇到了也是的問題提到的這個做法很不錯,使用這個參數(shù)確定位置。 從群里獲取了一個超大的json(也就800M),需要導(dǎo)入mongodb,然后遇到了一個問題: $ mongoimport --db weibo --collection data --file test.json 2018-05-09T16:10:22....

    Faremax 評論0 收藏0
  • [Carefree MongoDB] Spring Boot MongoDB 自動化配置

    摘要:然而,只提供了最簡單的客戶端選項,且不支持多數(shù)據(jù)源配置。由此而生,除了支持完整的客戶端選項及多數(shù)據(jù)源配置之外,還提供了一些其它的實用功能。配置示例多數(shù)據(jù)源進(jìn)行多數(shù)據(jù)源配置時,需要明確指定各數(shù)據(jù)源的名稱。 最近在制作一個 spring boot 小應(yīng)用時使用了 MongoDB,鑒于官方庫的簡陋配置,決定自己造個輪子,源碼發(fā)布在 GitHub Carefree MongoDB,jar 已在...

    時飛 評論0 收藏0

發(fā)表評論

0條評論

ARGUS

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<