В приложении потока, где данные делятся на ведра по идентификатору владельца, следует ли использовать одно хранилище, которое внутренне разделяет данные в ведрах или один экземпляр хранилища на каждый ведро?
Например, у нас есть пользователь приложения, который является тренером для нескольких спортсменов. У каждого тренируемого спортсмена есть ноль или более тренировок, и тренер может одновременно наблюдать за одной или несколькими тренировками спортсменов.
У нас может быть один магазин для тренировок для всех спортсменов; магазин должен обеспечить, чтобы все данные были разделены на ведра атлета, и для каждого метода хранения требуется параметр athleteId.
Или, у нас может быть один экземпляр магазина для идентификатора спортсмена. Это упрощает логику и логику хранилища, но тогда нам нужно управлять большим количеством экземпляров хранилища.
Есть ли у кого-нибудь опыт такого подхода? Любые плюсы или минусы делают это так или иначе? Или, каким образом это "поток потока" и почему?