If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

 
Go Back  dBforums > Database Server Software > MySQL > Divide database into one global and multiple subs?

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 11-30-04, 09:19
trubadur trubadur is offline
Registered User
 
Join Date: Feb 2003
Posts: 2
Divide database into one global and multiple subs?

We have a site where we use MySQL 4.0.21 as database server. The site is a community where we within the community have subcommunities. The subcommunities have nothing to do with each other and will never have any activities in common.

There are a lot of activity on the site and as we are going to release this site globally we will get a whole lot more activity on the site.

The question I have is we would gain performance on splitting the database into one global database and multiple sub databases within the same database server.

My thoughts are that we should have one database with all tables than are used in the "global" community and then have some other databases where we have all tables that are specific for a subcommunity. These tables are only used within a subcommunity. A subcommunity will then have their information in a specific database along with a few other subcommunites but some other subcommunities will have their information in another specific database.

Some tables in the global database would be used quite frequently with the subspecific tables though. For example the userinfo table. This means that we will need to do quite a lot of cross-database queries between the global database and the subspecific database but never between 2 subspecific databases.

Some of tables that are specific for the subcommunities are pretty big and have millions of rows. Therefore we would like to reduce these tables by dividing them into separate databases that only contains the information for a specific subcommunity or at least only for subcommunities in a certain category.

I can say that we have some tables that currently contains about 500000 rows and is very frequenty used in selects, updates and inserts. When we release the site globally we expect this table to contain about 20 million rows. This is a table that has a lot of indexes and need to be sorted and handle in several ways. If this table contains 20 million rows I guess that it will become a performance problem. But if we can divide this table, specific for the subcommunities, into several databases we probably avoid this potenial performance problem.

I would be glad if someone had some thoughts and opinion on this database architecture. Is this something you would recommend or is this something we should avoid.

I hope you understand our problem.
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On