One big question for software developers and IT departments in small companies is always “should I hire a DBA?” The fact that one is asking this question demonstrates that there are some symptoms that need a deeper diagnosis than you can handle. This may be a concern about backup procedures, database slowness for users, or errors that seem inexplicable.
DBAs are kind of like doctors; they are highly specialized in the ‘body’ of a database. A DBA can go deep into the internals of a database, looking at metrics and problems, then making suggestions that fix issues. Developers and IT personal are basically the owners of the body, flexing its muscles every day, making changes and hoping for the best. But just like when a person knows that something is going afoul with her/his human body, developers and IT professionals must also be aware and know when it’s time to go see the doctor, a DBA.
Now that you have made the decision that you need the expertise of a DBA, you have a couple choices, inhouse or outsourced. There is a myriad of factors which may influence your decision. Here are some of the more important ones to consider…
When you employ a DBA fulltime, you will have more control of what the DBA is working on and can instantly change priorities if needed. You will also have the full attention of the DBA, so if there is an emergency, your DBA will be onsite (or on call) and can address the issue immediately.
In contrast, an outsourced DBA will not be able to give you the same level of on demand attention. The nature of outsourcing is that the DBA will have multiple clients and will have blocked off time for each. Priority changes and emergency responsiveness are also delayed, as more meetings and planning are required.
One big question is how much work do you have for the DBA? Make no mistake, once you have decided to hire a DBA, you will most likely continue to need their services. Don’t view this as a bad thing, as a DBA will most always provide better user experiences and less stress on you because the database will be well taken care of.
The amount of work to be done to keep the databases running smoothly is an important factor. If you estimate between 60 and 160 hours of work per month, then an inhouse, fulltime DBA may be the correct fit for you. A mid-level fulltime DBA’s annual salary will be around $86,760 in 2018 according to Indeed. You will also need to factor in things like office space, computer needs, benefits, and payroll overhead which can put the inhouse DBA overall cost at around $120,000 annually.
If your estimate is less than 40 hours per month, then an outsourced DBA may be in your future. Hourly rates for outsourced DBAs range from $150 to $300 per hour depending on skill level. For the 40 hours/month workload, using an estimate of $200 per hour times 600 annual hours, your yearly bill will be around $96,000.
If you don’t have enough work to support an inhouse DBA, then outsourcing is a great option. Either way, having a DBA available when you need one can improve the health of your databases and enhance the performance of your applications. Do you have experience with outsourced DBAs? Tell us in the comments.
Enjoyed the topic? Have a relevant anecdote? Disagree with the author? Leave your two cents on this post in the comments below, and our favourite response will win a $50 Amazon gift card. The competition closes two weeks from the date of publication, and the winner will be announced in the next Simple Talk newsletter.