This tip originally appeared on TechTarget's Expert Answer Center as a post in Craig Mullins' blog. Craig served as the on-demand expert on the Expert Answer Center for two weeks in February, during which he was available to quickly answer questions on EAC topic as well as to write daily blog entries. Keep an eye on the Expert Answer Center for topics that could help your IT shop.
One of the common problems that perplexes DBA groups is how many DBAs are needed to support their environment. One thing is for sure: It is always more than are currently there (from the DBA's point of view), but the management perspective is usually that there are just enough (or even worse, too many already).
Staffing the DBA organization is not a simple matter. There are several non-trivial considerations that must be addressed including the size of the DBA staff and the reporting structure for the DBAs. In my book, Database Administration: The Complete Guide to Practices and Procedures, I discuss the issues that impact DBA staffing levels.
Basically, it boils down to complexity. The more complex your environment, the more DBAs you will need to assure availability, ensure data integrity, optimize performance and basically keep your database systems and applications operational. Of course, it is very difficult to combine all of the mitigating factors into a specific formula that will dictate the optimum number of DBAs to employ.
Some industry analysts have tried. A few years ago analysts at META Group published a loose formula for calculating DBA level of effort. Their formula applied weights to six factors: system complexity, application immaturity, end-user sophistication, software functionality, system availability and staff sophistication. By measuring each of these items as much as possible to indicate high or low rates, you can plug in values to the formula and arrive at a a number that is tranlated into an estimate for the number of DBAs required. Of course, this research is dated and META Group has since been acquired by Gartner Group.
I've heard of DBA groups who use a simple formula like 1 DBA per 10 database instances. But how useful is that, really? A very experienced DBA could easily handle double that if the activity is low and the systems are well tuned. But if activity is high, the databases are not well designed or SQL is coded inefficiently, that DBA might be stretched to his (or her) limits. You just can't put a simple formula on top of a complex problem.