The value of _id is a string concatenation of namespace and minkey values. Reads/updates can instead by done directly on the ns and min, for which there is an index.
We wish to eventually change the schema of the config.chunks collection, because it is not optimized. The first step is to stop using (reading) the _id field so that it can more easily (less backwards compatibility issues) be changed in future releases. It is currently used to identify documents in updates, which can be found by grepping for instances of ChunkType::name.
For future reference, a first sketch of a more ideal schema is:
{_id: {ns : " ", min: keystring}, shard: "string", ....}
Schema changes should be revisited after the collection UUID project (PM-297) is designed because that project could require config.chunks schema changes.
- is related to
-
SERVER-8829 String representation for chunk id is not unique
- Closed