Определение размера документа JSON, хранящегося в DocumentDB

Я разрабатываю стратегию разделения для мультитенантного приложения, работающего на DocumentDB.

Поскольку каждая коллекция позволяет хранить только 10 ГБ, я пытаюсь подсчитать, сколько документов может хранить каждый из моих арендаторов, поэтому я могу придумать количество арендаторов, которые я могу поместить в коллекцию.

У меня есть образец документа Json, который представляет собой общий документ, который может хранить арендатор. Использование проводника документов на портале Azure не сообщает мне, какой размер одного из этих документов на диске (просто общий график использования в процентах).

Я также использую DocumentDB Studio и не могу определить там размеры документа. Я могу использовать Блокнот локально, но в зависимости от настроек кодировки (ANSI и т. Д.) Я получаю разные результаты.

Мои вопросы:

Есть ли точный способ определить размер файла, который файл Json будет храниться в DocumentDB, чтобы я мог правильно рассчитать использование ресурсов моим приложением?

Есть ли способ вернуть размер документа или группы документов с помощью запроса к коллекции?


person INNVTV    schedule 11.05.2015    source источник


Ответы (1)


Да, вы можете рассчитать размер ответа на запрос документа, чтобы в него были включены все системные свойства (например, _rid, _ts). Вы захотите использовать кодировку UTF-8, чтобы получить правильный размер.

Вы также захотите учесть дополнительные ~ 10% на индексирование затрат на хранение.

person Andrew Liu    schedule 11.05.2015
comment
Приятно знать, что я могу это сделать. Мне все еще немного непонятно, как это сделать. Моя локальная ОС показывает размеры файлов как очень большие. 6-8кб для очень простого json-документа. 3-4кб, если убрать пробелы. Существует также свойство размера на диске и размера файла ... Могу ли я предположить, что DocDB использует меньшую сжатую версию? Я бы предпочел, чтобы DocDB мог сказать мне фактический размер файла, когда он хранится ... - person INNVTV; 12.05.2015
comment
Документы хранятся без пробелов. Вы можете рассчитывать на 3-4 КБ для документа с ~ 3000 - 4000 символов. - person Andrew Liu; 12.05.2015
comment
Итак, исходя из этого, я могу хранить около 3,3 миллиона документов в каждой коллекции, исходя из среднего размера документа около 3 КБ на документ. Спасибо! - person INNVTV; 12.05.2015