Дата обычно является плохим выбором для ключа раздела в многораздельном хранилище данных по трем причинам: эффективность, производительность и хранение.
В рабочих нагрузках с интенсивной записью текущая дата всегда является горячим разделом. Это означает, что вы будете когда-либо использовать лишь часть пропускной способности, которую вы предоставляете. Это неэффективно, потому что у вас будет пропускная способность, которая никогда не используется. Это также неэффективно, потому что вы никогда не сможете использовать всю предоставленную вами пропускную способность. В некоторых сценариях ios это может работать. Но, как правило, они маленькие и всегда будут маленькими. В целом, однако, вы всегда хотите избежать стратегии разделения, которая никогда не сможет масштабироваться, и это не поможет.
Второй вопрос, на который нужно ответить, - это объем данных для каждого логического раздела, чтобы определить степень детализации для этого. значение ключа раздела, выраженное как время. Если у вас есть 20 ГБ данных в день, то использование дня или чего-либо более длинного (неделя, месяц, год и т. Д. c.) Никогда не сработает.
Третий вопрос, на который нужно ответить, - это какие агрегаты вы хотите сделать, и сколько данных вы пытаетесь обработать в запросе. Cosmos DB не является хранилищем аналитических данных. Это основанное на строках хранилище JSON, которое лучше всего работает в качестве хранилища основных данных и обслуживающего слоя для вычисляемых пакетных представлений или представлений в реальном времени. По вашему вопросу это звучит так, как будто вы ищете аналитику, так что вы, вероятно, извлекли бы выгоду из ETL, помещающего эти данные в хранилище столбцов и выполняющего там агрегирование. Затем вы можете записать агрегаты в Космос и служить оттуда. В этой статье описывается лямбда-архитектура , которую я описываю. Я не говорю, что вам придется использовать Spark как часть этого. Но если вы пытаетесь выполнять аналитику и выполнять агрегирование больших наборов данных, которые охватывают разделы, вам необходим пакетный уровень и вычислительная платформа для аналитики.
Надеюсь, это полезно.