MongoDB集群时,索引文件是存放在单台计算机的内存中还是多台计算机的内存中?
一个由五台计算机组成的MongoDB集群(一台mongos,四台shard),每台计算机10G内存,300G硬盘。
在这种集群条件下,在一个collection中存储3000w条数据,这些数据是根据hash均匀的分布在四台shard的硬盘上的。
1.此时,该colleciton的索引是如何存储的呢?是根据hash均匀的分布在四台shard的内存中还是仅仅存放在mongos的内存中?
2.假若我对3000w条数据进行多次查询,MongoDB会对查询过得数据进行内存缓存,那么已查询到的数据的缓存是存放在四台shard的内存中还是存放在mongos的内存中呢?
麻烦各位解答,如果有相关的资料能够参阅就更好了,谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
索引是数据在哪它就在哪个片;
数据是在每个片的缓存中,mongos只管转发任务不执行实际的操作;