為了擴展主從節點的讀請求能力,云數據庫MongoDB提供具備獨立連接地址的只讀節點,適合獨立系統直連訪問,以減輕大量讀請求給主從節點造成的壓力。
在有大量讀請求的應用場景下,數據庫的主從節點可能難以承受讀取壓力,甚至對業務造成影響。為了分擔主從節點的讀取壓力,您可以根據業務需求創建一個或多個只讀節點,來滿足大量的數據讀取需求,增加應用的吞吐量。
只讀節點架構
只讀節點(ReadOnly)的特點如下:
只讀節點(ReadOnly)通過操作日志(Oplog)從延遲最低的主節點(Primary)或從節點(Secondary)同步數據,應用于有大量讀請求的場景,以減輕主節點(Primary)和從節點(Secondary)的訪問壓力。
只讀節點(ReadOnly)具有獨立的連接地址,適合分析程序(如Analysis Server)直連訪問,與已有主從節點的連接互不干擾。
兩個或以上只讀節點(ReadOnly)可以使用ReadOnly ConnectionStringURI實現讀請求負載均衡。
只讀節點與從節點的區別
節點 | 說明 | 適用場景 |
只讀節點(ReadOnly) |
| 兩個或以上只讀節點可以使用ReadOnly ConnectionStringURI實現讀請求負載均衡,適用于從現有實例中讀取大量數據的業務場景,如BI分析、大數據分析等。 |
從節點(Secondary) |
| 主從節點可以使用ConnectionStringURI實現讀寫分離,適用于讀多寫少的并發場景,從而在性能擴展的同時,避免節點故障對業務帶來的影響。 |
功能優勢
您可以根據業務需求隨時更改只讀節點個數,節省業務成本。
只讀節點具有獨立的連接地址,適合獨立系統及應用直連訪問,與已有主從節點的連接互不干擾。
只讀節點與主從節點采用一致規格,自動從延遲最低的主節點或從節點同步數據,免去維護的煩惱。
獨立的只讀節點提供只讀服務,不占用主節點的資源。增減只讀節點的操作,不會對主從節點的業務構成干擾,也不會中斷主從節點的連接訪問。
云數據庫MongoDB副本集實例提供統一的地址(ReadOnly ConnectionStringURI)連接所有只讀節點,您只需添加只讀節點的個數即可擴展數據庫的處理能力,應用程序無需做任何修改。
說明關于ReadOnly ConnectionStringURI地址的更多信息,請參見副本集實例連接說明。
功能限制
目前僅云數據庫MongoDB副本集實例和分片集群實例支持只讀節點。
只讀節點僅供讀請求訪問,不參與主從節點選舉。
一個副本集實例可以添加最多5個只讀節點。
一個分片集群實例中的每個Shard可以添加最多5個只讀節點。
只讀節點與主節點或從節點之間的數據復制方式為異步復制,正常情況下存在毫秒級的延遲,在主節點寫入壓力大的時候可能出現秒級的延遲。
價格
單個只讀節點的價格等同于副本集實例或者分片集群實例Shard中單個節點的價格。