Вариант 1, вероятно, в порядке. Если я вас правильно понимаю, каждый клиент может принадлежать к группе, клиент может принадлежать только к одной группе за раз, и вы хотите иметь возможность запрашивать всех клиентов, принадлежащих к группе. Ваш групповой запрос является просто фильтром равенства для одного свойства типа Customer.
Существуют и другие соображения относительно ваших потребностей в гарантиях согласованности и запросов. Предполагая, что две сущности Customer должны быть в отдельных группах сущностей, индекс свойства идентификатора группы будет обновляться с возможной согласованностью, поэтому новый Customer или изменение идентификатора группы могут не появиться в результате запроса группы, пока вскоре после обновления , Если это не в порядке, вариант 2 или набор отдельных объектов сопряжения клиентов с группами в одной группе объектов приведут к тому, что групповой запрос (с фильтром предков) будет строго соответствовать обновлениям. Вариант 1 может быть сделан строго согласованным, если поместить все объекты Customer в одну группу, но это имеет потенциальные недостатки в зависимости от потребностей вашего приложения.