Я пытаюсь узнать больше о масштабируемости для RoR. У меня есть базовое приложение для социальных сетей, которое в настоящее время использует MySQL для хранения всего (отношения пользователя, обновления состояния, личные сообщения).
Базы данных NoSQL звучат идеально, но способны ли они искать/поддерживать отношения так же эффективно, как RDBS? Или гибридное решение будет более идеальным (сохранить только обновления статуса и личные сообщения в базе данных NoSQL)
Что касается обновлений статуса, как бы адаптироваться решение AMQP? Будет ли у меня процесс чтения из очереди обновления статуса и выталкивания его (XMPP?) Всем подписчикам/друзьям? Кажется, он может превратиться в узкое место, если я не буду продолжать увеличивать поток/процессы, просматривающие очередь.
Или я должен просто взять маршрут Twitter и придерживаться MySQL? Любые мысли/предложения были бы полезными.
Спасибо.
Если кто-то другой блуждает по тому же пути, есть проект с открытым исходным кодом Ruby on Rails, Insoshi, который уже был адресован большинство из этих проблем.
Кроме того, если ваше приложение в значительной степени основано на обновлениях в реальном времени, может быть лучше реализовать реализацию в Node.js или Erlang.