Будет ли MongoDB хорошей идеей для сайта социальной сети (разработанного на Ruby on Rails)?

Мой проект (в Ruby on Rails 3) заключается в разработке сайта "социальной сети" со следующими функциями:

  • Пользователи могут быть друзьями. Это взаимная дружба; не асимметричный, как Twitter.
  • Пользователи могут публиковать ссылки, чтобы делиться ими. Друзья пользователя могут видеть, чем поделился этот пользователь.
  • Друзья могут комментировать эти общие ссылки.

Итак, в основном у нас есть пользователи, ссылки и комментарии, и все, что связано. В социальных сетях интересно то, что таблица User имеет отношение «многие ко многим» сама с собой.

Я думаю, что могу справиться с таким уровнем сложности с помощью SQL и RoR.

Мой вопрос: а Было бы неплохо использовать MongoDB (или CouchDB) для такого сайта?

Если честно, я думаю, что ответ отрицательный. MongoDB, похоже, не очень хорошо подходит для отношений «многие ко многим». Я могу' Я не думаю о хорошем способе MongoDB для реализации дружеских отношений. И я читал, что Diaspora начала с MongoDB, но затем вернулась к классическому SQL.

Но некоторые статьи в Интернете защищают MongoDB для социальных сетей, и, прежде всего, я хочу принять хорошо обоснованное решение и не пропустить действительно крутой аспект MongoDB, который изменит мою жизнь.

Кроме того, я слышал о графических БД, которые, вероятно, великолепны, но они действительно кажутся мне слишком молодыми, и я не знаю, как они подходят RoR (не говоря уже о героку).

Так что, я что-то упустил?

21
задан Arthur 31 August 2019 в 05:01
поделиться