Hi all. I came across Elixir and Phoenix a couple months ago and it looked intriguing, but I didn’t really have any chance to use it. I do have the chance now, so I’m wondering if my project would be a good use case for it.
I’m building out a web app where the main functionality will be searching and filtering a database of initially thousands and eventually potentially hundreds of thousands of records. The search can be customized to filter by several categories, and doing so would require several joins across multiple tables. Maybe a partial text search on title fields, but mostly filtering based on predefined values.
It’s very possible a user would apply a filter, receive their results, and then immediately apply another filter (against unfiltered data). Kind of like they’re just exploring the data to find something appealing. So the faster the better since this part’s crucial to a good user experience.
Given the search requirements and that the goal is to have thousands of users simultaneously (the more the better), would it be worth looking into Elixir/Phoenix for performance reasons? I’m coming from a Python/Django and JS/Node background and I’m worried about potential performance issues. Haven’t built something to this scale before, so I’m also wondering if this is just premature optimization, but I’d hate for the wrong choice to be a bottleneck. Only things set in stone so far is PostgreSQL for the DB and I’d to have the back end decoupled from the front end.
Thanks!