Как получить время последнего обновления каждого раздела в таблице в Azure Cosmos DB - PullRequest
0 голосов
/ 21 июня 2020

Я храню таблицу в Azure cosmos DB, в которой много разделов. Я хочу запрашивать контент только для тех разделов, которые обновлялись за последние X минут. Есть ли способ эффективно запросить список ключей разделов, которые были обновлены за последние X минут? - Поскольку межсекционные запросы могут оказаться очень дорогими.

1 Ответ

1 голос
/ 22 июня 2020

Один из способов сделать это эффективно - сохранить время последнего обновления в собственном контейнере с одним логическим разделом и составным индексом с des c sort в вашем свойстве lastUpdated.

{
   "id": "xxxx",
   "pk": "0000",
   "pkValue": "pk value from other container",
   "lastUpdated": "2020-06-21T23:14:25.7251173Z"
}

Убедитесь, что вы используете стандарт ISO 8601 UT C для строк даты и времени, см. DateTime в Cosmos DB . Также см. Документацию по Составным индексам

Вопрос, на который нужно ответить, заключается в том, является ли это более экономичным, чем выполнение запросов между разделами. Если, как вы говорите, на многих физических разделах хранится много данных, скорее всего, так и есть. Однако вам придется это определить.

Надеюсь, это будет полезно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...