Задержка выделения ключевых диапазонов в appengine - PullRequest
0 голосов
/ 21 января 2012

В моем хранилище данных есть около 1,5 миллионов объектов.Из-за недостатка понимания с моей стороны, некоторые из этих сущностей имеют идентификаторы, которые я сгенерировал самостоятельно в соответствии с написанным мной алгоритмом, а другие имеют идентификаторы, которые автоматически выделяются хранилищем данных.Теперь я понимаю, что это может в конечном итоге вызвать конфликт, так как распределитель идентификаторов не знает о идентификаторах, которые я сгенерировал сам.

Итак.Теперь я хочу сохранить эти сущности с моими идентификаторами от случайного перезаписи позже.Могу ли я просто просмотреть каждую отдельную сущность и использовать allocateKeyRange для ее идентификатора?Я перестал генерировать свои собственные идентификаторы давным-давно - есть только несколько сущностей в опасности - но я не знаю, какие из них.Каков наилучший способ сохранить мои объекты риска?

Редактировать: я должен отметить, что я храню ссылки на идентификаторы в других объектах, поэтому будет трудно изменить идентификатор объектов без большого количества каскадных поисков.

1 Ответ

2 голосов
/ 23 января 2012

Как обсуждалось в комментариях, если диапазон идентификаторов отличается, вы можете использовать DatastoreService.allocateIdRange , чтобы зарезервировать идентификаторы, которые вы уже присвоили своим сущностям вручную.

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