Sets • Can also be used to scale reads • Sharding – Read and write scalability • Collections are sharded • Each shard is served by its own replica set • Shard key ranges are automatically balanced
a primary (master) • Failure of the primary is detected, and a new one is elected • Application writes get an error if there is no quorum to elect a new master • Reads can continue
and then replicated • Replication can provide read scalability • Writing becomes a bottleneck • Physical limitations (seek time) • Throughput of a single I/O subsystem
• Set up a duplicate system for each shard • The write-rate limitation now applies to each shard • Can the data be re-sharded on a live system? • Can shards be re-balanced on a live system?
index • Find points near a given point • Find points within a polygon/sphere • Built-in Map-Reduce • The caller provides map and reduce functions written in JavaScript