Appengine NDB: размещение 880 строк, превышающее квоту операций записи в хранилище данных. Зачем?
У меня есть приложение, которое импортирует 880 строк в хранилище данных NDB, используя put_async (). Всякий раз, когда я запускаю этот импорт, он превышает дневную квоту в 50 000 операций записи в хранилище данных.
Я пытаюсь понять, почему эта операция настолько дорогая и что можно сделать, чтобы остаться в рамках квоты.
Есть 13 столбцов, например, так:
stringbool = ['true', 'false']
class BeerMenu(ndb.Model):
name = ndb.StringProperty()
brewery = ndb.StringProperty()
origin = ndb.StringProperty()
abv = ndb.FloatProperty()
size = ndb.FloatProperty()
meas = ndb.StringProperty()
price = ndb.FloatProperty()
active = ndb.StringProperty(default="false", choices=stringbool)
url = ndb.StringProperty()
bartender = ndb.StringProperty()
lineno = ndb.IntegerProperty()
purdate = ndb.DateProperty()
costper = ndb.FloatProperty()
мы сократили индексирование до одного:
- kind: BeerMenu
properties:
- name: brewery
- name: name
Согласно средству просмотра хранилища данных SDK, каждая строка имеет 29 операций записи, поэтому генерируется 25520 записей! Я'м, если предположить, что индексы потребляют оставшиеся операции записи, но я нене знаю точно, сколько, потому что AppEngine просто говорит, что ямы превысили квоту.
Каковы лучшие стратегии для уменьшения количества операций записи?