Я создаю строковые идентификаторы хранилища данных для объекта «A» из автоматически генерируемых идентификаторов объекта «B.» Должен ли я префикс A ID «A-PREFIX» -B.IntID() или перейти с B.IntID() + «A-PREFIX?»?Compound Key Performance для App Engine Datastore
Предполагаю, что я должен начать с идентификатора B, потому что они равномерно распределены, чтобы предотвратить горячие точки?
Anti-Pattern # 1: Последовательная нумерация сущностей Ключи
Спасибо, Andrew
Хорошая точка! Хотя, если у меня также был C, который имел тот же тип, что и A, и я хотел связать C с B, тогда мне нужно будет использовать строковый префикс, правильно? – Andrew
Нет, вы можете просто ссылаться на B в сущности C как на свойство ('userEntity.setProperty (« users_relative », otherUserEntity.getKey(). GetId())) или сделать C дочерним объектом B. Я не могу думать любого прецедента, где необходим префикс. –
Вы правы. Я мог просто хранить ключ B на C или наоборот, в зависимости от того, как мне нужно идти. Спасибо за совет. – Andrew