The Changing Database Landscape

When you’ve been involved in data management as long as I have, things are definitely bound to change. And things have changed, quite a lot, in fact. Back when I started in IT, IMS was the primary database system used at most big enterprises and most of the computing was done on mainframe systems. Then Db2 rose up and became the dominant mainframe database sys­tem, and it still is today. But enterprise computing has grown to encompass much more than the mainframe.

Things are much more heterogeneous today. Due to the advent of client/server computing in the 1990s, then internet and web-connectivity driving development, and the more recent growth of NoSQL databases, we are now manag­ing more types of data on more platforms than we ever have before. And that means that managing data is a lot more complex.

Cross-Platform Administration

This also means that DBAs need to possess exper­tise in cross-platform management and administra­tion. “Cross-platform” implies both the computing environment, which can span the spectrum from mainframe to Linux to Windows to the cloud but also the DBMS in use, which can be RDBMSs such as Oracle, SQL Server, Db2, and PostgreSQL, as well as NoSQL knowledge and skills for platforms such as MongoDB, Cassandra, Neo4j, and many others.

To do that successfully requires automated solutions for change management, performance, and data movement, organization—and really all DBA tasks. Automation will be key as we move forward for many reasons. As the amount of data we must manage grows—and it is growing by leaps and bounds—we must be able to expand our capability to administer that data. Organizations are also not adding to their DBA staffs. This means that we need to automate or fail.

And speaking of automation, I’d be remiss if I did not men­tion the impact of DevOps on data management and DBAs. The processes performed by DBAs are part of the Ops in DevOps. It is my observation that Dev gets emphasized more than Ops when DevOps is implemented, but you can’t omit the Ops … at least not if you want to have functional, performing applications.

When DevOps is embraced by an organization it should mean that DBAs get aligned more closely with development and appli­cations than in the past. By deploying agile development, with DBAs participating in teams along with the developers, you get increased cooperation and communication between the folks coding the application (that’s Dev) and the folks developing and managing the database (that’s Ops, or the DBAs).

So another overarching change has been that DBAs are work­ing in teams with developers instead of in teams of other DBAs, at least for periods of time when development projects are very active. For some applications, a permanent DBA, or team of DBAs, may be assigned. For others, the DBA may rotate back and forth between the development team and a centralized DBA team.

Regardless of the pattern, DBAs are becoming more appli­cation-savvy. That’s a good thing because with improved appli­cation knowledge the DBA will be better able to administer the database for an application’s needs as the app moves from devel­opment to test to production.

Tooling and Automation

So far, so good, right? But I have to mention tooling and automation. DevOps works for developing code because of all the integrated DevOps tooling that auto­mates and simplifies the development pipeline. By this I mean approaches such as Jenkins for coordinating and orchestrating the SDLC, Ansible for configuration and resource management, GitHub for source control, Docker to containerize the platform, and many more.

DBAs need the same type of tools to automate and integrate data management tasks into the DevOps pipeline. And no, it isn’t just using GitHub for Data Definition Language! It is more com­plex than that.

We need to automate and integrate change management, database and SQL performance, backup and recovery, data move­ment, and all the things that DBAs do, to succeed with DevOps for applications that require database access. And in today’s mod­ern environment, that is most applications.

Summing It Up

To adapt to the changing database landscape, and ensure we have modern data management practices and procedures, DBAs must be flexible, adaptable, and resilient as they work in an inte­grated way with a team. Today’s data professionals have to move faster and more nimbly than ever before.

A modern DBA cannot be one of those “curmudgeons in the corner” that all the developers avoided. Today’s modern DBA par­ticipates in development teams and integrates DBA tasks and pro­cedures into the DevOps pipeline. DBAs need to understand the organization’s databases inside-and-out but they also need appli­cation knowledge, management and communication skills, and a diverse set of tools to automate DBA and system administration processes and procedures.