I have a system around one million users (community based). It has around 6000 groups ( fixedfixed , no change) . But there is no discussion board for these groups yet.
We are building a discussion forum for the above groups .Each Each group has 12 categories ( fixedfixed,never never change ) . The discussion forum is like face bookFacebook wall . We will have 12 facebookFacebook walls for each group ( oneone wall for one category ).
For the above mentioned features I have 12 main tables ( forfor each category) and 12 comments tables ( forfor each category) . Total 24 tables.
All the tables have similar structure ( mainmain and comments table ).
I am going to use MYSQLMySQL 5.5 and InnoDB
1) Since the data growth is 60 Million per table ( per month), Can I better create separate database for each group (6000 databases) having all the 12 tables, so in feature I don’t have to go for any partitioning or sharding . It will be straight forward in reading and writing if my code handles all the database connections well. Even for future growth (max 15 million users), I will not have any problems. But having 6000 databases, do you think any issues like for back up and for replication …?
2) For main tables and comments table is it OK to have int as ID or Can I change it to BigInt or any other suggestions?
3) Do you think my hardware is good for initial one million users for an average use? Or Am I renting too much, if so best hardware for my case, at least for first 1 years.
Thanks for Your time in reading these questions and for your answers .
Since the data growth is 60 Million per table (per month), should I create a separate database for each group (6000 databases) having all the 12 tables, so in future I don't have to go for any partitioning or sharding? It will be straight forward in reading and writing if my code handles all the database connections well. Even for future growth (max 15 million users), I will not have any problems. But having 6000 databases, do you think any issues like for back up and for replication?
For the main tables and comments table, is it OK to have
intas an ID or can I change it toBigIntor any other suggestions?Do you think my hardware is good for initial one million users for an average use? Or am I renting too much? If so, what is the best hardware for my case, at least for first year?