Google Could Datastore - родительская сущность или свойство массива - PullRequest
0 голосов
/ 28 апреля 2018

Я пытаюсь разобраться с NoSQL и Google Cloud Datastore, и я не знаю, как выбрать один из двух вариантов хранения данных.

У меня есть список заказов, и каждый заказ на неопределенное количество товаров. Каковы плюсы / минусы сохранения списка продуктов в качестве свойства массива для объекта заказа по сравнению с наличием дочерних объектов продукта для каждого родителя заказа?

1 Ответ

0 голосов
/ 28 апреля 2018

Во-первых, хорошо осознайте различие между двумя возможными подходами реализации отношений между сущностями:

  • одна сущность может содержать свойство типа Key , указывающее на другую сущность (которая может существовать или не существовать!) - это только функциональные отношения, а не одна на уровне хранилища данных
  • наличие двух сущностей хранилища данных в отношении родитель-потомок ( родословная ) внутри одной и той же группы сущностей хранилища данных.

Использование 2-го имеет последствия для масштабируемости, см. Также:

Что касается хранения списка в виде свойства массива по сравнению с отдельными сущностями, см. Создание собственной регистрации активности в GAE / P (где повторяющиеся свойства - это просто вызов свойств массива в контексте ndb клиентской библиотеки).

...