mongodb будет пытаться адаптировать документы адаптивно, поскольку он узнает, как вы обновляете документы в течение определенного периода времени. Более подробную информацию можно найти на http://www.mongodb.org/display/DOCS/Padding+Factor
Если вы обнаружите, что mongodb все еще перемещает документы через некоторое время, вы можете попробовать заполнить документ вручную, так что вам не придется беспокоиться о необходимости перемещения документов.
В вашем случае кажется, что вы должны быть в состоянии сделать это, учитывая тот факт, что число выборок в день является постоянным (для вашего 5-минутного интервала.) Можете ли вы напечатать вывод из db. {Yourcollectionname}. stats ()?
Относительно пункта № 4: Вы можете распределить расходы, как вы упомянули, но я бы попробовал вставить документы, когда они вам понадобятся в первый раз, чтобы посмотреть, как они работают, а затем попробовать другие вещи.
Вы, возможно, можете обойти эту конкретную проблему, исследуя другие схемы, но я не уверен, что все, что вы пробовали. Сохраняете ли вы пары ключ-значение в массиве с ключом времени?
пример модификации будет переход к чему-то вроде:
{
id: 1,
метрики:
{
"00:05": {"metric1": "value1"},
"00:10": {"metric2": "value2"}
}
} * +1010 *