I'm trying to learn more about scalability for RoR. I have a basic social networking app that is currently using MySQL to store everything (User relationships, Status Updates, Private Messages).
NoSQL databases sound ideal but are they able to lookup/maintain relationships as effectively as a RDBS? Or would a hybrid solution be more ideal (Store just the status updates and private messages in the NoSQL DB)
For the status updates, how would an AMQP solution fit in? Would I have a process reading from the status update queue and pushing it out (XMPP?) to all followers/friends ? This seems like it can turn into the bottleneck unless I keep increasing the threads/processes reading off of the queue.
Or should I just take the twitter route and stick to MySQL? Any thoughts / suggestions would be helpful.
Thanks.