Are machines better equipped to do what DBAs do? That’s where the first part of this series on machine learning and autonomous databases left off. Before I answer, let’s first set out some of the tasks DBAs do currently (in no particular order or significance):
- Backup and recovery
- Installs, upgrades, patches
- Address downtime (due to resources, dependencies, bugs, et al.)
- Monitor health and capacity usage versus limits
- Mitigate performance issues, performance tuning
- Data modeling/design (development)
- Access control (security)/password resets
- Architecture (load balancing, high availability, and ?disaster recovery)
- Business intelligence
- Refreshing pre-production environments
What to Automate
Out of that list, I see a lot of tasks that would likely be better performed by a machine—a learning machine, one that makes better decisions based on more information. In fact, I have found that many issues surrounding these tasks in a prior life were caused by the human element. There’s a saying, “Trust but verify,” that I believe applies here. It means that you should trust the automation where it makes sense, but verify that actions being performed by automation are correct and beneficial.
Are machines better at doing some DBA tasks than DBAs? Yes. So, let automation do those tasks. I have intentionally left out which specific tasks I believe can/should be automated. The reason is that until we start to implement the automation of tasks, what may seem low-hanging fruit initially may prove quite difficult and vice versa.
What Not to Automate
Zooming out a bit, what sorts of task and decision making would be better left to humans and not automated? Here are a few where the risk/reward ratio may make them unlikely automation targets:
- Determining the value of the data
- Issues requiring out-of-the-box or more intuitive solutions
- Strategic decision making
- Tasks that could cause DBAs to lose their SQL writing skills
The last one might have gotten you to do a double-take. What I mean is that if you don’t use a skill you currently have, you are likely lose it over time (perhaps not entirely, but effectively). Scripting is not similar to riding a bike, where muscle memory comes into play. Scripting is closer to math. If one doesn’t use their math skills frequently, then they start to get rusty. Try factoring a complex polynomial or the derivative of a tough function. Some things about school are not missed.
Our Continually Changing World
If we can foresee a future where automation plays a more significant role and helps take on the more mundane tasks, that will free up time. How will we fill it? Here we have a few options:
- Support more instances (increase span of responsibility)
- Broaden into other IT areas (network, storage, application development)
- Go into management
- Switch career tracks
- Not have a job and let the robots do everything
I read an interesting post recently that stated 800 million jobs worldwide were at risk due to automation by 2030. The impact will not be equally distributed between job functions. In addition, different job functions will see different percentages of jobs automated. Best guess for database administrators? My guess is that around 80% of our daily/weekly tasks and activities could eventually be automated. This is purely based on personal experience and looking at tasks that would be likely to be automated.
Is that number shocking? If 80% holds true, it will certainly be impacting to the role. Should DBAs be worried? That may depend on where you are in your career and also what you believe to be the rate of change to automation (how quickly it could come to fruition). As humans, we tend to think in linear terms. However, technology tends to work in exponential terms. We may be in store for a surprise.
What impact will automation have on the DBA role? Should we start coming to terms with ML and autonomous databases?
This article is the second installment of a three part series on machine learning and autonomous databases. To access part 1, go here.