首頁 資料庫 mysql教程 mongodb 分布式读写操作(1)

mongodb 分布式读写操作(1)

Jun 07, 2016 pm 04:37 PM
mongodb 分散式 操作 讀寫

mongodb shared cluster 和 replica set 架构应用非常广泛。在生产环境中,这两种架构随着业务量,数据量的增长以及高可用性的需求,日渐提上日程,系统架构从单台慢慢转向集群的架构,所有底层设施集群化。一. 分布式读操作介绍分片集群和副本集如何影响读

mongodb shared cluster 和 replica set 架构应用非常广泛。在生产环境中,这两种架构随着业务量,数据量的增长以及高可用性的需求,日渐提上日程,系统架构从单台慢慢转向集群的架构,所有底层设施集群化。 一. 分布式读操作 介绍分片集群和副本集如何影响读操作的性能。 1.1 分片集群读操作 分片集群允许数据分割到集群内的不同mongod实例上,这对应用程序来说几乎是透明的。 对于分片集群,应用程序发出操作与集群相关的mongos实例。   sharded-cluster 读操作直接定向到一个特定的分片上,集群读操作是最有效的。 查询到分片集合应该包括集合分片片键。?当一个查询包含分片片键,mongos从config ?server使用集群元数据将查询路由到分片。 查询条件包括分片关键。查询路由器mongos将查询直接到定位到相应的分片。 sharded-cluster-targeted-query 如果查询不包含分片片键,mongos将查询广播到集群中的所有分片。 这种分散聚集查询是非常低效的。对于大型集群,这种操作是要命的。 sharded-cluster-scatter-gather-query 1.2 复制集读操作 副本集使用读的优先模式来决定在哪里以及如何路由读操作到副本集的成员。 默认情况下,应用程序读操作在复制集的primary上。从primary读可以保证文档的最新版本,因为复制集是异步复制的。然后,通过分配部分或者全部读操作到复制集的secondary节点上,可以提高读取吞吐量或减少等待时间,对实时性应用程序需要并不高。 可以通过修改读操作的优先模式来更改读的特性。 读操作的模式有:
读模式 描述
primary 默认模式。所有读操作都从primary节点读取。
primaryPreferred 在大多数情况下,读操作从primary节点读取,但如果primary节点不可用,读操作从secondary节点读取。
secondary 所有读操作都从secondary节点读取。
secondaryPreferred 在大多数情况下,读操作从secondary节点读取,但如果secondary节点不可用,读操作从primary节点读取。
nearest 读操作从副本集网络延迟最小的节点读取,无论该节点的类型。
根据应用程序的需求,选择不同的读操作模式。 最大限度的一致性:在任何情况下,避免读取到旧数据,使用primary模式。在没有primary节点,发生在选举阶段,或大部分节点不可用,将阻塞所有的读取操作。 最大限度的高可用性:尽可能的保证读操作,使用?primaryPreferred 模式。当有一个primary节点会得到一致性读,如果没有,仍然可以查询secondary节点。 减少等待时间 :要始终从低延迟的节点读取,使用nearest。驱动和mongos从最少延迟读取。nearest不保证一致性。如果复制延迟,查询可能返回过期数据。nearest只反映网络的延迟,并不能反映I/O和CPU的负载。 replica-set-read-preference 从secondary节点读取,并不能反映primary当前的状态,异步复制下,secondary节点可能落后primary节点一定的时间。通常情况下,应用程序不要求这种严格的一致性,对于高可用性的要求是最多的。 二.?分布式写操作 介绍MongoDB中如何引导的分片集群和副本集的写操作,并且这些写操作的性能特点。具体内容请关注下节内容。
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Astar質押原理、收益拆解、空投項目及策略 & 操作保姆級攻略 Astar質押原理、收益拆解、空投項目及策略 & 操作保姆級攻略 Jun 25, 2024 pm 07:09 PM

目錄Astar Dapp 質押原理質押收益 拆解潛在空投項目:AlgemNeurolancheHealthreeAstar Degens DAOVeryLongSwap 質押策略 & 操作“AstarDapp質押”今年初已升級至V3版本,對質押收益規則做了不少調整。目前首個質押週期已結束,第二質押週期的「投票」子週期剛開始。若要獲得「額外獎勵」收益,需掌握此關鍵階段(預計持續至6月26日,現餘不到5天)。我將細緻拆解Astar質押收益,

net4.0有什麼用 net4.0有什麼用 May 10, 2024 am 01:09 AM

.NET 4.0 用於創建各種應用程序,它為應用程式開發人員提供了豐富的功能,包括:物件導向程式設計、靈活性、強大的架構、雲端運算整合、效能最佳化、廣泛的程式庫、安全性、可擴展性、資料存取和行動開發支援。

如何在Debian上配置MongoDB自動擴容 如何在Debian上配置MongoDB自動擴容 Apr 02, 2025 am 07:36 AM

本文介紹如何在Debian系統上配置MongoDB實現自動擴容,主要步驟包括MongoDB副本集的設置和磁盤空間監控。一、MongoDB安裝首先,確保已在Debian系統上安裝MongoDB。使用以下命令安裝:sudoaptupdatesudoaptinstall-ymongodb-org二、配置MongoDB副本集MongoDB副本集確保高可用性和數據冗餘,是實現自動擴容的基礎。啟動MongoDB服務:sudosystemctlstartmongodsudosys

MongoDB在Debian上的高可用性如何保障 MongoDB在Debian上的高可用性如何保障 Apr 02, 2025 am 07:21 AM

本文介紹如何在Debian系統上構建高可用性的MongoDB數據庫。我們將探討多種方法,確保數據安全和服務持續運行。關鍵策略:副本集(ReplicaSet):利用副本集實現數據冗餘和自動故障轉移。當主節點出現故障時,副本集會自動選舉新的主節點,保證服務的持續可用性。數據備份與恢復:定期使用mongodump命令進行數據庫備份,並製定有效的恢復策略,以應對數據丟失風險。監控與報警:部署監控工具(如Prometheus、Grafana)實時監控MongoDB的運行狀態,並

DEKUBE分佈式是什麼意思?萬億DePin賽道的下個新星 DEKUBE分佈式是什麼意思?萬億DePin賽道的下個新星 Jun 14, 2024 pm 10:04 PM

DEKUBE分佈式是什麼意思?萬億DePin賽道的下個新星!身為全球分散式GPU網路的先行者,DEKUBE也是首個100%工作量證明(PoW)的Web3AI專案。透過利用閒置的消費級GPU,並將其轉化為企業級運算能力,DEKUBE為訓練大型語言模型提供了一個高效且成本效果的解決方案,推動了AI創新的界限,使每個人都可以從中獲益。今天本站小編跟大家分享的是DEKUBE分散式是什麼意思的詳細解讀了,希望大家喜歡!使命:用科技和願景讓AI創新普及,造福大眾開放,民主,公平-DEKUBE

Navicat查看MongoDB數據庫密碼的方法 Navicat查看MongoDB數據庫密碼的方法 Apr 08, 2025 pm 09:39 PM

直接通過 Navicat 查看 MongoDB 密碼是不可能的,因為它以哈希值形式存儲。取回丟失密碼的方法:1. 重置密碼;2. 檢查配置文件(可能包含哈希值);3. 檢查代碼(可能硬編碼密碼)。

使用 Composer 解決推薦系統的困境:andres-montanez/recommendations-bundle 的實踐 使用 Composer 解決推薦系統的困境:andres-montanez/recommendations-bundle 的實踐 Apr 18, 2025 am 11:48 AM

在開發一個電商網站時,我遇到了一個棘手的問題:如何為用戶提供個性化的商品推薦。最初,我嘗試了一些簡單的推薦算法,但效果並不理想,用戶的滿意度也因此受到影響。為了提升推薦系統的精度和效率,我決定採用更專業的解決方案。最終,我通過Composer安裝了andres-montanez/recommendations-bundle,這不僅解決了我的問題,還大大提升了推薦系統的性能。可以通過一下地址學習composer:學習地址

CentOS MongoDB備份策略是什麼 CentOS MongoDB備份策略是什麼 Apr 14, 2025 pm 04:51 PM

CentOS系統下MongoDB高效備份策略詳解本文將詳細介紹在CentOS系統上實施MongoDB備份的多種策略,以確保數據安全和業務連續性。我們將涵蓋手動備份、定時備份、自動化腳本備份以及Docker容器環境下的備份方法,並提供備份文件管理的最佳實踐。手動備份:利用mongodump命令進行手動全量備份,例如:mongodump-hlocalhost:27017-u用戶名-p密碼-d數據庫名稱-o/備份目錄此命令會將指定數據庫的數據及元數據導出到指定的備份目錄。

See all articles