0

I want to build a web application like StackOverflow, and I don't know SO use single or multiple databases.

SO has 2 main applications: Asking application and Chat application

Chat application uses SO account to login and display user's information in the chat room.

So I have some solutions:

  1. Use 3 databases: one for common information, one for asking system and one for chatting system.
  2. Use 2 databases: one for asking system (including common information) and one for chatting system.
  3. Use only one database for both system.

Any body can help me? Thanks!

Community
  • 1
  • 1
Jack Cood
  • 301
  • 3
  • 10
  • Jack, I think rather than worrying about if SO uses 1, 2, or 18 databases, its more important to look at what you are building and your needs and base it on that. – logixologist Nov 21 '13 at 18:05
  • @logixologist: I want to build a web application like SO: asking system and chatting system. Chatting system uses some information of user (name, reputation...) and display them for other users. – Jack Cood Nov 21 '13 at 18:08
  • Are you referring to Tables or an actual database? – logixologist Nov 21 '13 at 18:10
  • I'm referring to database design. In this situation (asking + chatting system), should I separate them out or use only one database? – Jack Cood Nov 21 '13 at 18:13
  • 1
    One database is fine as far as I can think about. Its the same users who are chatting that use the system. Keep it simple. – logixologist Nov 21 '13 at 18:23
  • By "database" do you mean "schema" (mysql calls schemas database) or "catalog" (everyone else calls catalogs datbases)? – Neil McGuigan Nov 21 '13 at 18:53
  • Why re-invent the wheel? http://meta.stackexchange.com/questions/2267/stack-overflow-clones – sam yi Dec 31 '13 at 03:21

1 Answers1

1

You have to ask yourself why you would need to use multiple databases. Why would you need to seperate data?

You seperate out databases when there is a business need: example - they cant be combined because they are both extremely large and they are completely different applications. By separating them out IMHO you are simply making more work for yourself.

logixologist
  • 3,694
  • 4
  • 28
  • 46