The app I’ve been working on has seemed to have hit a MongoDB bottleneck. It’s a fantasy sports website providing real time drafts, but when 100 drafts are going on at the same time with around 1000 concurrent users, it seems like the database can no longer handle this load.
Ideally we’d like to be able to handle 1000s of concurrent drafts in the future, but I don’t think the current Mongo/Meteor setup could ever handle it.
Would it make sense to just scale part of our application to use another database such as RethinkDB. Does it become a mess to use two different databases for one website. What are people’s experience with this? And is it worth switching over the entire application to use RethinkDB? (I don’t even know what sort of scale Rethink can handle and what issues we might face with that).
This whole process should be made a lot easier with the switch to Apollo, but I do wonder about having to keep the databases in sync with each other (or if that’s even necessary).
Another idea I’ve had is to use Elixir and Phoenix framework for the drafting part of the site. Has anyone tried this? The idea would really be to use Elixir as the backend for drafting instead of Meteor. I don’t know if that would solve the Mongo problems although it may.
Anyway, interested to hear what people think.