天天看點

MongoDB 配置 replication.enableMajorityReadConcern 分析1. 支援版本:2. 關閉後的影響3. 開啟後的影響參考文檔

1. 支援版本:

  • 3.2

    版本開始支援該選項(

    Read Concern

    特性也是從該版本開始支援) ( https://docs.mongodb.com/v3.2/reference/configuration-options/#replication.enableMajorityReadConcern )。
  • 3.2

    3.4

    中 預設值為

    false

    ,即預設不支援

    majority

    級别的

    read concern

    (或稱之為

    committed reads

    ,通過

    serverStatus

    輸出中的

    storageEngine.supportsCommittedReads

    可判斷該能力是否開啟)。
  • 3.6

    及以後版本預設值為

    true

  • 修改該參數需要更改配置檔案并重新開機mongod

2. 關閉後的影響

2.1 Change Streams 能力

4.0 及之前版本會失去該能力,4.2版本不受影響

2.2 事務能力

2.2.1 副本集:

  • 事務能力不受影響(無論是哪個版本)

2.2.2 分片叢集

3. 開啟後的影響

read concern 實作原理見@林青(linqing.zyd) 這篇文章:

https://yq.aliyun.com/articles/60553

.

通過引擎層的snapshot來實作,snapshot在記憶體中,增加了cache維護的壓力,對性能有影響,目前看關閉之後,點查場景,性能有 30%左右的提升,如下 ,

MongoDB 配置 replication.enableMajorityReadConcern 分析1. 支援版本:2. 關閉後的影響3. 開啟後的影響參考文檔

參考文檔