Я хотел бы услышать ваше мнение об эффективной реализации связи «один ко многим» с Python NDB. (например, человек (один) к задачам (многим))
В моем понимании есть три способа его реализации.
- Использовать «родительский» аргумент
- Использовать «повторяющееся» структурированное свойство
- Использовать повторяющееся свойство ключа
Обычно я выбираю способ, основываясь на приведенной ниже логике, но имеет ли он смысл для вас? Если у вас лучше логика, пожалуйста, научите меня.
Использовать «родительский» аргумент
- Transactional operation is required between these entities
- Между этими объектами требуется двунаправленная ссылка
- Твердое намерение отношений «родитель-ребенок»
Использовать «повторяющееся» структурированное свойство
- Don't need to use 'many' entity individually (Always, used with 'one' entity)
- «многие» сущности ссылаются только на «одну» сущность
- Количество «повторяющихся» меньше 100
Использовать повторяющееся свойство ключа
- Need to use 'many' entity individually
- «многие» объекты могут быть переданы другими объектами
- Количество повторов больше 100
№ 2 увеличивает размер объекта, но мы можем сохранить операции хранилища данных. (Нам нужно использовать проекционный запрос, чтобы сократить время процессора для десериализации). Поэтому я использую этот способ столько, сколько я могу.
Я очень ценю ваше мнение.