片键对操作的影响-MongoDB分片副本级

时间:2024-05-15 13:26:11
【文件属性】:

文件名称:片键对操作的影响-MongoDB分片副本级

文件大小:8.78MB

文件格式:PPT

更新时间:2024-05-15 13:26:11

MongoDB分片 副本级 分布式

片键对操作的影响 最终用户应该无法区分是否分片,但是要了解选择不同片键情况下的查询有何不同. 假设还是那个表示人员的集合,按照"name"分片,有3个片,其名字首字母的范围是A-Z.下面以不同的方式查询: db.people.find({"name":"Refactor"}) mongos会将这个查询直接发送给Q-Z片,获得响应后,直接转发给客户端 db.people.find({"name":{"$lt":"L"}}) mongos会将其先发送给A-F和G-P片,然后将结果转发给客户端. db.people.find().sort({"email":1}) mongos会在所有片上查询,返回结果时还会做归并排序,确保结果顺序正确. mongos用游标从各个服务器上获取数据,所以不必等到全部数据都拿到才向客户端发送批量结果. db.people.find({"email":"refactor@msn.cn"}) mongos并不追踪"email"键,所以也不知道应该将查询发给那个片.所以他就向所有片顺序发送查询. 如果是插入文档,mongos会依据"name"键的值,将其发送到相应的片上. 分片副本集详解操作


网友评论