#mongodb #sharding
#mongodb #сегментирование
Вопрос:
У меня есть база данных с 3 сегментами и коллекцией под названием SearchTargets. У меня есть индекс SearchTargetId, который не является уникальным и имеет 500 тыс. записей с SearchTargetId: 1 и еще 500 тыс. с SearchtargetId: 25 и несколько сотен тысяч с разными идентификаторами. После того, как я вставляю данные с помощью mongo restore, все данные хранятся на shard0002, хотя у меня есть еще два сегмента shard0000 и shard0001. SearchTargetId — это ключ сегментирования. Та же конфигурация / настройка с Mongo 4.0.12 распределила данные между несколькими сегментами (3 сегмента)
Есть идеи?
Комментарии:
1. Почему вы ожидаете другого поведения?
2. Звучит как плохой выбор ключа сегментирования. Посмотрите на выбор ключа сегментирования
3. Я не ожидаю другого поведения, но ожидаю того же поведения, что и в версии 4.0.12. Тот, который с 4.0.12 распределил 45%, 30% и 25% в каждом сегменте, но в версии 4.4 100% записей в shard0002, которые я не понимаю.
4. Как вы определили распределение?
5. Можете ли вы опубликовать индекс, который у вас есть в коллекции?