Все эти дни в нашей космической базе данных у нас были однораздельные коллекции, и недавно мы переместили данные нашего приложения в многораздельные коллекции, чтобы преодолеть ограничение в 10 ГБ на одном разделе.
Несколько вещей, которые мы заметили сразу после введения partitions .
ResourceResponse.ContentLocation свойство возвращает значение NULL. (обычно он возвращает путь к коллекции, такой как «dbs / developmentdb / colls / accountmodel», как значение с неразделенными коллекциями)
Для «GetAll» запроса (при условии, что данныеподдерживается как в многораздельных, так и в многораздельных коллекциях)
- RU увеличилось (с 400RU до 750RU)
- Меньшее время отклика
Для справки, включенной ниже, используется код. Цените любые ваши предложения по сокращению количества RU и улучшению времени отклика (ИЛИ). Все это накладные расходы при переходе к многораздельной коллекции? пожалуйста, предложите
Пример используемого кода:
var docClient = await _documentClient;
var docDb = await _documentDatabase;
var docCollection = await _documentCollection;
var queryFeed = new FeedOptions()
{
MaxItemCount = -1,
MaxDegreeOfParallelism = -1,
EnableCrossPartitionQuery = true
};
var documentCollectionUri = UriFactory.CreateDocumentCollectionUri(docDb.Id, docCollection.Id);
IDocumentQuery<T> query = docClient.CreateDocumentQuery<T>(documentCollectionUri, queryFeed).AsDocumentQuery();
while (query.HasMoreResults)
{
var page = await query.ExecuteNextAsync<T>();
result.AddRange(page);
_rULogHelper.LogFromFeedResponse(page, docDb.Id, docCollection.Id, DBOperationType.GET.ToString()); //custom logging related code
}