TSQL Tuesday #12: Why Are DBA Skills Necessary? Fido, Please Turn Your Head And Cough.
It’s sort of like Daylight Savings time for #TSQL2sday. Since PASS is next week and we’ll all be busy tweeting from the convention center instead of talking to one another face to face (or the opposite, take your pick), we’re blogging a week early.
Quick, A Metaphor!
Having a DBA around is like having a veterinarian on staff. When you are managing enough animals and their health really matters, you make sure you have a specialist on staff who can respond to them and give you advice on their care and feeding. (In this metaphor, the animal is the application. SQL Server supports its combination of organs and gooey living-systems.)
The main areas that are covered by vets and DBAs are all the same:
- prevention of illness (food, grooming, cleaning, habits, etc)
- prescription and administration of medicine
- force feeding and purging as required, and other REALLY gross things
Even if your developers know a lot about animals and are splicing together genes to make a new hypo-allergenic bunny, you still want a veterinarian. Mad scientists are great for creating new things: keeping them alive is a different skillset.
Not Just Everyone Keeps A Veterinarian At Home
True enough. For most purposes, calling in a specialist for advice periodically works well enough. And for the most part, the specialist can help you do all the gross and difficult and tricky things yourself pretty well.
You can be your own at-home veterinarian just as well as you can be your own at-home DBA.
Fido, please turn your head and cough.
Be Careful Who You Trust
If you want to keep your animal or your business alive, it’s important to make sure you have the right level of care. And that you’re taking care of things properly as you go along, and have the right level of attention for your particular issues.
Remember: you’re not going to just ask anyone for help, and if you’re in a tight situation, you’re going to pay through the nose. Or Fido’s nose.
Do You Need A DBA if You Don’t Have a Traditional RDBMS?
If you rely on data heavily and actively develop products that have scale considerations, my answer is yes: you want someone to have an operational perspective and focus on DBA type issues. I think this holds true even if you no longer need to run older style data integrity and backups (if that is automagically handled for you).
In that world, I think it’s all just a little more automated and high tech: but you still want someone to operationally understand your performance, your data structures, how application changes affect data, and to understand and develop your story for scalability, availability, and recovery.
Even if the animals get fancier, you still need someone to keep them healthy. And breathing. For the most part.