mongodb sharding 试用(四)

1. config server

  配置服务实例只有一个config库,库中存储的都是数据分片信息。并且数据落地。与config server不同的是,mongos缓存config server中config库的数据,但数据并不落地。mongos按照一定条件不定时的从config server同步数据。

2. mongos 什么时候 从 config server 拉取数据。

  答:(一)新添加的mongos第一次启动时,它必须从config server拉取数据。或者mongos实例重新启动后,之前缓存的数据已经不在了,因此也必须从中拉取数据。

    (二)config server中config库数据发生改变后,mongos必须从中获取最新数据。例如数据发生迁移后。

  注:当mongos从config server同步数据时,config库中的数据是只读的。

3. config库数据什么时候发生改变

  答:(一)当已存在的块大小超过了块默认值时,就会将块一分为二。这时就会更改config库的块所对应的片键范围信息。

    (二)当数据发生迁移时。同理。

4. 只要其中一个config server实例不可用,config库的数据就只读。也因为config库数据无法更改,所以无法分块与数据迁移。但分片集群仍能提供读写请求。当所有的 config server实例都不可用时,只要不重启mongos实例,分片集群也仍能提供数据的读写,只是无法分块与数据迁移。

 

posted @ 2012-12-25 16:39  雪刚  阅读(1043)  评论(7编辑  收藏  举报