Jump to content
Larry Ullman's Book Forums

Recommended Posts

Hi. I'm creating a site where users can create different "groups". We're at the point where we're designing the database, and we're not sure how to proceed to maintain security, while not compromising performance. Our current design uses one database with three tables per group: settings, members, and message board/forum. Our concern is that if this site becomes what we hope, we may have hundreds or thousands of "groups" each with three tables in the database, the database would be massive. We were also considering having one table for all groups containing the group settings and then two tables per group (members and message board). Or, do we make each group its own separate database? Our site is not going to sell anything or keep personal information but we want to give our end users the best experience possible.

Link to comment
Share on other sites

This is an interesting question. I will be interested to hear what Larry has to say for this. If you look at the most popular sites online it has taken them at least 10 years to build up a massive community. I guess the best way for this is to start out small and restructure the tables later on if the site is to become so massively popular. Search optimization and marketing takes time a few years to work well, since now there are so many websites, so unless you have large money to invest and possibly get some adds on the TV, i guess this is something that shouldn't be worried about right now. Just keep things as simple as possible.

Link to comment
Share on other sites

It's not clear how settings and message boards/forums play into this, but if members can be in multiple groups, you would do three tables: members, groups, and members_groups. If members can only be in a single group, you'd do two tables: members and groups.

 

Also keep in mind that what you might think of as a large database is probably not really a large database. Database tables can have millions of rows and store terrabytes of data.

Link to comment
Share on other sites

 Share

×
×
  • Create New...