I have created a forum in bubble on my site. Where based on the selected forum topic that topic is sent to a dynamic page. A search is then performed on the new page to find the comments of that forum topic. How do you prevent this from using a tremendous workload if you have over 1000 users. Do I need to use an external database like TinyBird and cache the searched information (and only run the API when a new comment is created)?
There doesn’t seem to be any information regarding someone creating a forum on bubble with a large amount of users. Forums seem to require many searches such as topics in a forum, to comments within a topic, to the amount of views, or latest post time within a forum.
Bubble itself uses Discourse, and it appears that quite a few other apps built on bubble do as well. Maybe do some digging into this integration to see if there is potential there
There are so many ways of doing what you’ve described. For example, you could use Bubble for listing/managing the main forum posts/content but you could use Algolia for fast relevance searching, Supabase for your comments and Tinybird for analytics/likes.
You could definitely build it all in Bubble too.
If you are worried about WU’s or cost then you’ll probably be best doing some testing and plug in some assumptions. This is the beauty of Bubble - it’s rapid to spin something up to do this.
Run some numbers; how many WU does loading a post with comments consume? How many page views are you likely to have? What’s the cost of a typical search based on your listing page? Model that with x number of users and you’ll get a rough idea.
Then you can look at what the most inefficient aspects are and make a decision based on that. That being said, I’d say straight away to keep your page views / analytics / likes off Bubble however.
TL;DR do a bit of planning and testing before choosing your stack.
If the objective is to keep WUs to a minimum then API calls consume less than reading from the Bubble db and performing aggregate functions etc. I’d wager TinyBird for analytics is significantly faster at those operations too.
For a view count on a post, you may just want to acknowledge that someone read/viewed the page so maybe you’d push that up on its own, maybe you could just increment a counter in Bubble…
But do you want to do more with this data than simply a count? You might also include the user that read it so you can track their activity and the date/time to maintain a history. You could then chart analytics with it to see things like the total number of posts/hours read at the most popular times. This could quickly become a very large dataset… consider 1,000 users viewing 100 posts in a single month and Bubble trying to aggregate this in a dashboard. It might be unnecessarily slow.
TinyBird (and others!) could probably handle these types of operations for in a fraction of the time vs Bubble.
For likes that might be different but the volume is likely to be significantly different to views on a page. You may want to store who liked it against the post so they can only like it once.
It all depends on your use case and what you want to do with the data.