已解决12.95K 浏览2021/11/12 0 txyh22 2021/10/26 0条评论 mongo分片集群,索引是怎么维护的呢?是统一在某台机器,还是分在多个primary,需要通过分布式事务保证索引和数据的一致性吗?性能上怎么样 txyh 选择最佳答案 2021/11/12 1 答案 活跃已投票最新最老的 0 xiaoxu1.13K 发布 2021/10/29 4 条评论 都是分片底层自己维护自己的数据与索引。 mongos做路由相关操作。 txyh 发表新评论 2021/11/15 txyh 已评论 2021/11/07 哦哦,那就是类似 特定文档落到某个分区,类似 field1_1_field2_1这样的索引,每个分区都会针对分区内的数据维护一颗b+树,此时对索引的修改就只需要修改对应分区。 查询上,假设我查询一个区间,就对所有分区发起一个查询,将数据汇总。 类似这种感觉吗 txyh 已评论 2021/11/07 那就是分片下,有n个分区,每个分区都维护一个b+树索引。 当插入一条数据时,根据shardkey定位到具体分区,此时只需要更新这个分区上的索引。 当查询的时候,比如进行一个范围查询,那就需要去所有分区就执行相同查询,再汇总排序返回。 这种感觉吗 xiaoxu 已评论 2021/11/08 是这样的逻辑 txyh 已评论 2021/11/12 好的,谢谢。 这个回复不知道为啥发的时候看不到,就发了两次 注册 或 登录
哦哦,那就是类似 特定文档落到某个分区,类似 field1_1_field2_1这样的索引,每个分区都会针对分区内的数据维护一颗b+树,此时对索引的修改就只需要修改对应分区。
查询上,假设我查询一个区间,就对所有分区发起一个查询,将数据汇总。 类似这种感觉吗