This article is part fourof a six-part series by editors of IOUG SELECT and Big Data Quarterly on 'The Changing Role of the Modern DBA'. This six-part series will be running over the course of the next three months, with three articles appearing on SELECT and three articles appearing on Big Data Quarterly. See end of article for links to all previous parts in this series.
One of the common misconceptions about any cloud-based Relational Database Service is that it is essentially a "DBA-as-a-Service" - all of the database administration tasks are handled by the cloud provider, and there is no need for a DBA to provide her functional expertise. In other words, there is no need for a DBA in any organization's cloud transformation.
Again ...a misconception.
It is true that several Oracle DBaaS options, including those offered by the Oracle Cloud, Amazon Web Services, and Microsoft Azure, handle certain tasks previously covered by the DBA. Many of these tasks are focused at the foundation of the deployment stack. For instance, cloud providers handle installation and upgrades of database software and ensure compliance with Oracle licensing. The providers also contact hardware vendors for technical support issues, and design and implement disaster recovery solutions.
However, there are many operations, and development DBA tasks, which cloud providers simply do not perform. Oracle DBaaS instances are subject to a shared responsibility model - the cloud provider handles a subset of tasks, but those remaining still require DBAs within the organization. These tasks include reactive and proactive performance tuning, archiving of data, and generating ad hoc reports. Cloud providers will also never step in and assist with designing schemas, nor will they help write and optimize queries. These tasks are still reserved for a DBA to perform.
But will this still be true in the near future?
At OpenWorld 2017, Larry Ellison announced the Autonomous Database: a DBaaS that automates many database administration tasks, including provisioning, upgrading, patching, and tuning. Although built on the platform, the Autonomous Database is a completely cloud-based service: merely installing and running Oracle Database 18c will not provide the automated features.
Oracle announced three versions of the Autonomous Database products. A version for Data Warehouses boasts efficiencies gained by minimizing hardware resource consumption, with 99.995% reliability. Provisioning, upgrading, patching, and tuning for data warehouse workloads are all automated via machine learning, eliminating the need for a DBA to perform these operational tasks.
Two of the versions have not yet been released. A version of the Autonomous Database for OLTP and mixed workloads is slated for June 2018. Organizations will be able to provision Mission Critical instances with 99.995% reliability, similar to the offering for data warehouses. For lower environments and non-critical workloads, Oracle will offer a lower cost version that runs on a single server instance in the cloud. In addition, a NoSQL version will also be offered later in 2018, which will bring the autonomous features to sharded key-value workloads.
Automating many of the common operational DBA tasks strengthens Oracle's database offerings in an IT world shifting towards DevOps. One of the cornerstones of a mature operational model in this new world is the Continuous Integration / Continuous Deployment pipeline. Similar to a factory floor, where raw materials enter at one end and manufactured products leave another, the pipeline ensures that all changes occur in one direction and as quickly and frequently as possible. For example, patches are never applied to a Production database instance without first being applied to User Acceptance Testing and QA.
Likewise, automation ensures that developers are never working with an instance that doesn't exactly match Production, which minimizes risks as new code is promoted. The name of the game is eliminating as many delays and inconsistencies caused by human errors as possible. Instances can be spun up quickly, tuned automatically, and destroyed with just a few clicks. There is no need for a DBA to handle these tasks and slow down the pipeline, or worse, unintentionally introduce misconfigurations or other avoidable errors.
Even with the autonomous database, there is still a need for DBAs...but the role is definitely changing. Most of these changes involve the tasks traditionally performed by operational-focused DBAs. Machine learning within the autonomous database will start covering many of these tasks. For instance, as is the case with existing DBaaS platforms, there will be no need for someone to install software, or deploy instances. The technology is also capable of performing many day-to-day reactive tasks, including performance tuning and handling for security breaches - in many cases much faster than a human ever could.
Many DBAs may think that machine learning cannot possibly perform all of these tasks and that all of this just sounds like something out of sci-fi. However, great strides have been made within the field of machine learning, especially within the last few years. Since 2015, researchers have been able to use machine learning to allow a computer system to figure out how to effortlessly and quickly win games, some of which have millions of possible move combinations.
Perhaps the most public and visible example of machine learning in action is self-driving cars, which involves reacting to countless different events within milliseconds. Although not widely deployed, almost all of the accidents involving self-driving cars thus far have been caused either by a human operating another vehicle, or a human taking control of the vehicle from the machine.
Although several types of the autonomous database have yet to be released, it is entirely feasible and likely that the machine learning functionalities will perform all of the tasks of an operational DBA - or will very soon. The machine learning backend will be able to detect and react as an operational DBA traditionally could, but much more quickly, seamlessly, and at times of the day that are not ideal or convenient for a human to be awake.
The autonomous database represents an opportunity for any DBA to shift from tedious and time-consuming operational tasks, and instead focus on application and development database efforts such as schema and query design and debugging, and integrating database services with developed applications and services higher in the deployment stack. These tasks involve human creativity and are unlikely to ever be replaced by machine learning.
So, as a DBA, rejoice! Your expertise still has a place in your organization's cloud transformation. However, the autonomous database is (almost) here. Make sure you are ready for the shift away from operational DBA tasks - or machine learning will guarantee that you are left in the dust.