要求:
- 每个块最多10亿个文档(单个分片键)
- 成千上万的大块(30k)
- 查询仅在块范围内运行 - 按分片键过滤
- 3个索引 - 单个:散列分片键,复合:分片键+ _id,复合:分片键+3个字段
- 所有访问路径都是写入 - 插入,查找和更新,查找和删除
我应该为MongoDb选择什么样的分片策略?
- 使用分片键(String)进行Mongo基于散列的分片
- 应用程序级伪分片,每个块进入其单独的集合
醇>
对MongoDb的担忧:
- 索引不适合数十亿份文件的内存
- 所有查询都是写的,Mongo是Master-Slave
选项1是个好主意吗?
使用选项2,是否可以在Mongo集群中随机分发集合?