Hi, I am setting up Discourse for a community of 10000 users.
Which is the best option for database and file storage with discourse for scalability if the numbers of users increases.
Should I use a managed DB service with S3 or or should I use the local DB and file storage.
AI-generated summary
A discussion is underway about the best database and file storage options for a Discourse community of 10,000 users. ranjeet seeks advice on scalability, considering a managed DB service with S3 or local DB and file storage. pfaffman suggests that user activity and traffic patterns, rather than just the number of users, should inform the decision. He recommends using S3 for asset storage and CDNs, and managed DB if budget allows.
ranjeet expects 50% of users to be active, with heavy use of the chat feature. pfaffman clarifies that managed DB is expensive but worthwhile for many use cases, and suggests various backup options, including daily backups to S3 or creating a live database replica.
10000 users doesn’t mean anything. Are any of them going to visit the site?
Do you expect consistent traffic, or big surges when something happens? How many daily or monthy page views do you expect?
You should put assets on S3 as described at Configure an S3 compatible object storage provider for uploads and use CDNs.
If you’re on AWS or GCP or similar and have lots of money, then you should use managed DB.
How do you define “best”?
Hi Jay,
Thanks you for the response.
Our user base is 10K users, we are expecting atleast 50% users using the community and most of them will use the chat feature.
If you are saying the managed DB option is not cost effective then how can I manage the BD backups.
I’m saying it’s expensive, but it’s worthwhile for many use cases.
There are a multitude of ways to back things up. Easiest is to let discourse make a daily backup and push it to S3. At the other end, you could create your own live replica of your database (which is hard, and why a managed database is attractive to so many).