leemour
@leemour
Ruby on Rails разработчик

Как хранить большие массивы id в базе данных?

Мне нужно хранить большие массивы id (участники групп в соц сетях). И вот я думаю, как лучше это организовать, чтобы можно было не только хранить, но и эффективно получать данные например:
  • найти все группы одного участника
  • получить пересечения участников между группами
  • сравнивать новый массив с тем, что в БД, на наличие новых участников

Я использую PosgreSQL как основную БД и там есть тип поля array, у которого нет лимита и который индексируется. Я думаю создать отдельную таблицу group_memebers с group_id::int, member_ids::array. Насколько это оптимальное решение? Ведь в группе могут быть и 10 миллионов пользователей. Индекс будет гигантским. Возможно ElasticSearch, MongoDB или др. продукты имеют какие-то преимущества перед Postgres в этом случае?
  • Вопрос задан
  • 596 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы