无论数据还是索引都存放在硬盘中。到要使用的时候才交换到内存中。
- 对于读密集型应用,规划好服务器大小以保证在内存中能支撑整个工作集并且进行复制以得到更高的可用性。
- 如果你服务器的内存(RAM)不能够保证在内存中容纳工作集,进行分片以从多个复本集群中整合内存(RAM)。
- 使用与部署相同的服务器硬件创建一个概念验证系统。通过这个方法,你可以在你的概念验证系统中配置和测试一个服务器。接着,你可以根据需要,在扩展一个复制集或者增加一个分片进行拓展时,直接将其放入部署系统中。
Mongodb 的无规则 schema 使其在高并发,大数据量的环境时很容易进行分布式拓展,shard 是MongoDb 拓展负载的方式,shard 是将 collection 划分成小的片段 chunks,chunks 有路由进程 mongd 负责存在哪个 shard 上,客户端只需要调用路由进程 mongod,便可以自主进行负载均衡,每个 shard 都有或者多个副本集,当前 shard 出故障时,副本集则立刻替代故障 shard,实现故障的无缝转移[14]。