- MongoDB CRUD Operations >
- MongoDB CRUD Concepts >
- Distributed Write Operations
Distributed Write Operations¶
Write Operations on Sharded Clusters¶
For sharded collections in a sharded cluster, the
mongos
directs write operations from applications to the
shards that are responsible for the specific portion of the data
set. The mongos
uses the cluster metadata from the
config database to route the write
operation to the appropriate shards.
MongoDB partitions data in a sharded collection into ranges based on the values of the shard key. Then, MongoDB distributes these chunks to shards. The shard key determines the distribution of chunks to shards. This can affect the performance of write operations in the cluster.
Important
Update operations that affect a single document
must include the shard key or the _id
field. Updates that affect multiple documents are more efficient in
some situations if they have the shard key, but can be
broadcast to all shards.
If the value of the shard key increases or decreases with every insert, all insert operations target a single shard. As a result, the capacity of a single shard becomes the limit for the insert capacity of the sharded cluster.
For more information, see Sharding and Bulk Write Operations.
Write Operations on Replica Sets¶
In replica sets, all write operations go to the set’s primary. The primary applies the write operation and records the operations on the primary’s operation log or oplog. The oplog is a reproducible sequence of operations to the data set. Secondary members of the set continuously replicate the oplog and apply the operations to themselves in an asynchronous process.
For more information on replica sets and write operations, see Replication and Write Concern.