ProjectA - 170,000 visitors/day
ProjectB - 120,000 visitors/day
ProjectC - 30,000 visitors/day
ProjectD - 10,000
ProjectE - 10,000
I have all these projects data in one database. With this amount of traffic should I break these into separate databases or is this nothing for php and mysql? Pretty much each page view will need interaction with the database. There will be very few static pages.
Thanks,
Jim
If data is shared the one db makes more sense. If the data is unique to each individual project then seperate dbs makes sense. It also depends on how much data there is.
Since you say nearly every page view accesses the db I would imagine there is a fair bit of data. If there are multiple tables to each project then multple dbs makes sense but a single table per project may make more sense.
I think you get my drift, it is really difficult to answer with out knowing how much data, structure etc.
The choice should be based on ease of access to data and speed of delivery. I don't think the number of daily visits will be a problem so long as the programming is sound and you don't have too many db calls per page.
As you probably know mySQL "databases" are, on the file system, just directories filled with files; if you break them projects apart into seperate databases (which makes into them separate directories) you can then split those databases among multiple disks, too, to speed up concurrent disk access considerably.
That is, if you think speed will ever become an issue.
ProjectA - 2500 domains
ProjectB - 3000 domains
etc.
Sorry. Should have given more detail.
Currently we use perl to rewrite the html files in each directory every 10 minutes to display a set number of random sponsor links.
Another project just redirects to sponsors page. A list of domains all point to a single index.cgi that based on http_host redirects it to the proper site.
We thought we would change to php and a database so title and sponsor info for each page is read from the database.
Each project has it's own table
domain, title, domain_words, search_term, projectid, nicheid
Another table has all the projects
Another table for all the niches
Another table has all the sponsors information
We have so many scripts and domains lists that administration has become overwhelming.
Thanks,
Jim