What is the role of the Database Administrator (DBA) in the rapidly evolving world of NoSQL? A majority of the early NoSQL adoption is in the fast-growing world of small and medium companies based on public clouds. In most of these companies, the DBA role does not exist which has led a lot of people to proclaim the end of the DBA. Is the DBA going down the road of the dinosaur? I think the answer is more nuanced than that. First, let’s examine a few trends we’re seeing in the marketplace that are going to have a great downstream impact on the technology workplace.
Teams today are smaller and more agile. There are very few teams that use a year-long waterfall model with a month at the end for production deployment and configuration – teams just don’t work like this any more. They’re mostly developer driven, and iterate quickly with a very small or non-existent operations team. All the workflows, including database deployment and management are automated by the developers. Unlike traditional relational databases, with NoSQL, all the code is in the application server – no stored procedures or triggers to deploy and test on the database server. This makes the whole deployment process cleaner, automatable, and easily testable.
Public and Private Clouds
Clouds mean a lot of things – but one of the most important impacts of the cloud is on “IT automation”. In the cloud world, everything to do with machines, network and storage is automated. There’s little room for an IT admin clicking buttons and deploying servers and storage on-demand. Self-service consoles are going to be more and more prevalent, enabling users to deploy infrastructure on-demand and get billed for it.
Database-as-a-service is currently mostly popular on the public cloud. It essentially means that all aspects of the DB provisioning and management (availability, backup, scale, compacting, etc) are all taken care of by the software . You’re able to start using the database having to worry about machines or any other infrastructure. As a organization, once you go DBaaS, there’s no going back. The benefits are that huge! As private clouds become more widely deployed, the DBaaS model is going to be more and more prevalent for on-premise as well.
Databases are more specialized now, and you typically see a more than one database type used in a single application. For example, you might use MongoDB as your application store, but use ElasticSearch for your search and analytics. It’s now important for DBA’s to be experts in multiple database and how they interact with each other.
Currently, DBA’s spend a lot of lot of time setting up the database, monitoring the database, setting up scripts for backups, so on and so forth. Those days are pretty much done. If you’re a button clicker, your job is toast. With the advent of the cloud and DBaaS, all the mundane database tasks are going to be automated right out of the gate. Where does it leave the DBA? The DBA needs to retool and move higher up into the database stack. There are still several database-related tasks that are difficult to automate and need human skill and intuition, such as performance analysis, query analysis, etc.
So, to finally get to my answer – what do I see as the future of the DBA? In the smaller teams, the DBA will be a developer who “specializes” in the database and uses a DBaaS. In a larger organization, I see the DBA as a “consultant” who becomes a resource to help teams choose, architect and manage their databases. Either way, it is going to be considerably different from the way it was before today.