Database administrators, or DBAs, are responsible for the performance, integrity, and security of a database. Their responsibilities include building, tuning, and updating new systems. The growing popularity of DevOps and tools like virtualization, cloud data storage, and microservices, means the role of a DBA is changing. But despite their evolving roles, DevOps has actually made database administrators more relevant than ever before.
Automation has brought an end to many of the mundane and repetitive tasks that DBAs were once responsible for. NoSQL databases provide a mechanism for storage and retrieval of data that does not require a pre-defined schema. The once-lengthy process of adding new servers has been reduced to clicking a few buttons. Even relational database companies are pushing customers toward “desktop-as-a-service” in which the back-end of a virtual desktop infrastructure is hosted by a cloud service provider.
But DaaS has been embraced for a fraction of what companies do and most companies don’t keep their mission-critical information in the cloud. Additionally, not everything can be automated at this point. For example, there aren’t many tools around for finding and fixing slow queries or picking the best shard keys. On top of that, automation has made data environments more complex for anyone without specific administration expertise.
Not only are environments more complex, but the job of maintaining them as a DBA is more difficult than ever, as well. Where once knowledge of Oracle and Microsoft SQL server might have been enough to become a sufficient DBA, today it’s not uncommon to find stacks with fifty different integrated technologies. Frameworks and software like Hadoop, Kafka, and Elasticsearch are vastly different and a DBA must know which one to use — and in which situation to use it.
Databases have become so muddled by their nuances and components that it’s sometimes impossible to characterize exactly what a database is. Apache Kafka, for example, has the properties of a database in that it shuffles real-time data, but it is not a database. DBAs have the flexibility and understanding necessary for keeping up with these specific tools that should not be put in the hands of unqualified workers.
The next generation of DBAs will be less involved in the hardware and software stack. They will still need to be database intensive, but not exclusively. Instead, the DBA will focus on tasks like capacity planning, and they will need to know when to provision more servers and when to retire them.
Just as the definition of what a database is has become less clear, so too has the role of DBA. With the spread of DevOps, more people within an organization have greater knowledge of the database and what makes it tick. Given how much time people are required to spend with their own stacks of data, isn’t everyone becoming something of a DBA at heart?
How has the role of DBA changed in your company? Let me know what you think in the comments!