This will be the first project of this scale that I have attempted, and the first time I have run a website at all (much less dozens) using an off-site database. In particular, I'd like to know:what sort of optimizations I should read up on to make this run as smoothly as possible?any pitfalls/gotchas wiser, more experienced folk are aware of I should be on the lookout for, andwhat damage-control and preventative measures I should take against the nightmare scenario of the main server (hosting the database) having an outage, grinding over 100 websites to a halt (because they have no access to the product data).
Moving dozens of existing standalone retail sites to one central inventory database: what should I know going in?
database design;content management
You want the DB schema to be mostly normalized and avoid pessimizations like the n+1 query problem or multiple redundant queries during a single operation. And that will be hard enough to do.It would probably be better to have an app server layer with a well-defined API on top of the DB rather than having every site access the DB directly. And you definitely need automated tests both for performance and functionality right from the beginning.Redundancy, of course. If both the app server layer and the DB are clustered, single-server outages won't be a problem and it will help performance as well. Clustered DBs tend to be pretty hard to do and expensive, but this doesn't sound like a project with a tight budget. Make sure to host in a facility that has redundant power supplies and network connections. If outages must be prevented at any cost, consider redundant locations.