Кажется, я припоминаю, что старые свойства хранилища данных имеют что-то вроде 2 операций записи хранилища данных (DWO) на хранилище и, возможно, еще несколько в зависимости от того, как они индексируются.
В старом хранилище данных я часто сохранял все, что мне не нужно было индексировать, в строке JSON и сохранял это как TextProperty, чтобы сэкономить на нескольких операциях записи.
Привыкнув сохранять и работать со всем в JSON прямо из хранилища данных, при переходе на NDB для нового приложения я, естественно, использовал NDB JsonProperty.
Как обычно, я стал параноиком по поводу оптимизации, когда впервые проверил лимиты квоты (типичный пользовательский опыт с ограничением квот?) и заметил, что все операции записи в хранилище данных (которые полностью состояли из моделей только с JsonProperties) набирали обороты. много квоты DWO.
Сразу же я задался вопросом: делает ли GAE DataStore несколько операций записи в зависимости от структуры JsonProperty? Или он просто сохраняет весь большой двоичный объект свойств в хранилище данных в таком количестве DWO, которое требуется для хранилища «больших двоичных объектов»?
Я думал, что последнее, и вспомнил, что читал об этом в документации, но массовое потребление квот (типичная паранойя пользователей с ограничением свободных квот?) заставило меня задуматься, может быть, использование JsonProperty было не так эффективно, как использование старого хранилища данных и сохранение JSON строки как TextProperty, которые, безусловно, являются неструктурированными каплями.
Было бы хорошо, если бы это можно было окончательно прояснить, чтобы я мог вернуться к «обещанию appengine» сосредоточиться только на приложении. :)