MongoDB Sharding 请勿复用已删除的 namespace

SERVER-17397: Dropping a Database or Collection in a Sharded Cluster may not fully succeed 是 MongoDB 里老大难的问题,库或集合删除操作如果没有完全执行成功,再新建相同名字的集合,可能导致读到老版本数据的问题。

_2019_08_01_3_20_51

集合分片原理

MongoDB sharding 分片原理参考 MongoDB Sharded cluster架构原理

总的来说,当用户对集合执行开启分片之后,集合分片的元数据会保存在 config server 的 config 集合里

  • config.collections 记录集合分片的元数据,根据哪个 shardKey 分片,集合是否已经被删除等元数据
  • config.chunks,记录各个 chunk(shardKey的某一段范围)

猜你喜欢

转载自yq.aliyun.com/articles/712144