What is a database administrator?
Every day, we create an estimated 2.5 quintillion (that’s a 1 with 18 zeros, just FYI) bytes of data, and this amount is accelerating at an exponential rate. More data has been collected in the past two years than in the entire human history. So where does all this data go? One of the foundational locations is a database. Without the database and ability to query the database, it would be nearly impossible to analyze any of that data in a meaningful way. It’s a truly exciting time in the data world with new approaches to data collection, manipulation and types of databases. With this, we need gatekeepers and maintainers for all these treasure chests of information. A group most commonly called database administrators.
The database administrator – or simply DBA – is a critically important role in many of today’s IT departments, and by extension, their organizations overall. The DBA is the person who manages, backs up and ensures the availability of the mountains of data produced and consumed by today’s organizations via their IT systems.
For example, consider a commercial bank: the DBA is the person who ensures that the bank teller has easy, fast access to your information, and can quickly access your bank balance and transaction history. In this example, the DBA is a system or application-database administrator—a general DBA role responsible for most aspects of the organization’s databases. However, this is not the only kind of DBA.
A database administrator's responsibilities may include:
- Installing and upgrading the database server and/or application tools.
- Planning for and allocating the database system’s physical requirements, such as memory, disk space, network requirements, etc.
- Modifying the database structure using information provided by application developers.
- Creating users profiles, and ensuring system security by careful allocation of user permissions.
- Ensuring compliance with database vendor license agreement, including number of installations, and taking care of licensing renewals.
- Creating a backup and recovery strategy for the database, and regularly testing the backups to ensure usability.
- Monitoring technical support for both database systems and related applications.
- Creating reports by querying from database (as per need). These reports can be in the form of pre-formatted reports using the application frontend, or custom-made ad hoc reports by the database administrator.
- Monitoring and optimizing the database’s performance using either manual or automated tools. This may be a DBA’s most important tasks.
- Migrating database instances to new hardware and new versions of software from on premise to cloud based databases and vice versa.
Database administrator specializations
Just as the term ‘doctor’ can refer to a wide range of specializations, there is also a wide range of sub-specializations for the database administrator role. The DBA we described previously is the most common—one who works in-house or on contract for an organization to keep their internal databases chugging along optimally.
There are also database administrators who create and design databases in the first place. They usually work as part of a team, often in a more specialized software development company. And that database is likely to be part of a larger application for some specific business need. In the commercial bank example we used earlier, the bank most likely purchases or leases the software to run its banking operations from an Information Communication and Technology (ICT) company that specializes in banking software. This banking software is underpinned by a database, which is the backend storage for all the data, and that was designed and built by a team of specialist DBAs (more properly called ‘database designers’). They likely work with business analysts and others who are intimately familiar with banking operations to design the various application’s functions and modules. This is to ensure that all bank functions (loans, cash transactions, automated payments, ATM management, etc.) are created and reflected in the database structure.
Yet, another type of database administrator is the Performance Database Administrator or Tuning Database Administrator. This administrator specializes in optimizing and improving the performance of various databases. Databases are complex pieces of software. Simply put, a database’s internal structure consists of data stored within tables. Data access can then be optimized by use of indexes, which read like a book’s table of contents. DBAs help to ensure that the database is optimized to take advantage of the physical or virtual hardware on which it is hosted. This means it’s necessary to be able to split data across different disks, set up the database to better use the memory or RAM and optimize the network traffic of remote databases. Some databases are even split among multiple servers in so-called ‘distributed setups.’ Some databases can get so complex that they need a DBA who focuses solely on performance improvement. However, for smaller, single-company databases a non-specialist DBA is usually sufficient.
A third type of database administrator is the Application DBA. This role focuses specifically on integrating databases into the applications that use them. Navigating most databases usually requires knowledge of a specific type of query language. The most common is the Structured Query Language, or SQL. Most users will not learn how to use and navigate SQL; instead they will use a front end application to carry out the tasks required of them. In a commercial bank, this application is the banking software itself (the users are only able to access the database via an application, which ensures data security). It is the work of the application DBA to ensure that the database and the application using it communicate properly, and that accurate results are communicated between the two. For instance, when a user enters a customer name and clicks to display their bank account balance, the database returns the correct amount and not, say, the loan balance.
Employment outlook for database administrators
Being a database administrator or database manager is a rewarding, challenging career path. It also means handling significant responsibility as the custodian of an organization’s data, in addition to being responsible for turning the raw data into actionable intelligence. Let’s turn back to the commercial bank example: Bank staff enter thousands, perhaps millions of pieces of data about their customers every day, including bank balances, loan applications, loan repayments, new account openings, account closures, new checkbook requests, etc. These pieces of discrete data held within the database are not really useful as is. What is very useful is extracting information from them, by analyzing trends and patterns. For example, you may run a report and notice that a certain type of client is the one at the highest risk of defaulting on their loans, or that 65% of clients order new checkbooks in November and December. This is the real value proposition of databases, and by extension, database administrators—the ability to transform raw data into real business intelligence.
The ubiquitous nature of computing, coupled with the self-evident advantages of databases, means that demand for good DBAs in today’s workplace is quite high. Pay for DBAs is of course tied directly to level of seniority, years of experience and the specific database system specialization. The ‘traditional’ database platforms are the so-called relational databases, such as the Oracle DB, Microsoft SQL Server and IBM’s DB2. There is a newer breed of database called non-relational databases designed mainly to handle very large volumes of data (called Big Data), typically from large websites such as Google, Amazon, Ebay and Facebook. You can check out more on the rise of non-relational databases here.
According to remuneration-tracker Payscale, the median base database administrator salary across the U.S. was $67,733 in 2015, or a base hourly rate of $22. However, this is simply a rough average, ranging from a starting salary in the low 40ks for an entry-level DBA position, to the high $200ks for an expert, senior database administrator in charge of multi-terabyte distributed databases for large corporations. These senior-level positions are far less likely to be concerned with the technical day-to-day aspects of database management. Instead, they are strategic-level senior management positions within the ICT department, and often head large, multi-site teams of DBAs. Nevertheless, most senior database managers begin their careers as techie DBAs, tinkering with and learning the various aspects of databases and database management.
Another remuneration tracker website, ITcareerfinder, lists a median DBA salary of $58,000. However, SQLMag conducted a 2015 survey to track database professionals’ salaries, and concluded that they range from ~$70,000– $160,000, showing increases of 5–9% over the previous year, depending on specific job description. Demand for database administrators is projected to grow at 15% annually for the next 10 years, so DBA job-growth is also more or less assured. In fact, the magazine US News ranked database administrator sixth in its top 10 list of Best Technology Jobs.
Of course, experience level and specific training in specific database software could mean significant deviation from this mean. Other factors affecting DBA remuneration are:
- Location: DBA jobs in large cities and technology hubs such as San Francisco generally pay 10–40% better than similar database administrator jobs elsewhere.
- Job specialization: Different specializations within the DBA field also pay very differently. The best-paying positions are in the newer sub-fields for which there are still not many people, such as Big Data engineers ($140k median) and data scientists ($130k median), as well as senior-level positions such as database manager ($140k median) and data architects/developers ($120k median).
- Specialist skills: This means a specialization in specific database software, such as Oracle, SQL Server or MySQL. Being certified in one of these softwares generally adds 7-15% to a base database administrator salary, since they demonstrate an ability to manage the specific system that a company’s database is hosted on. Think of it as the difference between having a general pilot’s license and some flying hours, versus having the training and certification to fly a Boeing 737—an airline with a large number of 737s in its fleet is probably going to be more interested in someone with that kind of specific certification.
- Industry sector: Database admins in the tech sector command premium salaries—think Google, Facebook, Amazon, etc. Note that these are all companies that generate and manage huge volumes of data. Other excellent job prospects for DBAs are in the financial and healthcare sectors. These are also industries in which the players typically have many clients, and each can generate a large amount of data.
Pathways to a successful database administrator career
There are two main paths to become a database administrator: Focusing on being a DBA from the beginning of an IT career, or (more commonly) starting in a general ICT field, such as helpdesk support or development, and gradually becoming more proficient in database administration.
Either way, being a proficient database administrator will not occur overnight; one first needs to develop certain proficiencies that are also necessary in most ICT careers:
- Excellent troubleshooting skills: When presented with a problem, especially one you have not encountered before, the ability to think through the possible causes and then eliminate or follow them logically to the end is absolutely crucial. A good DBA is one who can see an error, and then quickly determine potential causes and construct possible solutions.
- Logical thinking, common sense and above-average memory: The natural ability to think methodically using an elimination-based approach, coupled with a good memory, is also important. This includes the ability to recall technical facts about various systems and platforms relevant to your setup, such as how to increase a table’s size in your SQL Server database, how to add a new disk on your Linux server, and how to delete a user in your PostgreSQL database. Likewise, keeping in mind several specific facts about your particular environment (Do you operate in a LAN or WAN? What are the administrator passwords to the databases? How many users do you have? When is your next database audit? Where are your backups stored?) is crucial.
- Curiosity and a strong desire to learn: Curiosity and drive will help ensure that you do not stagnate in your database administrator career. The IT field is ever-changing—only the ability and hunger to keep learning new things will keep you from being left behind.
The qualities that will turn novices into good DBAs are discussed and explored in various discussions here.
ETA to become a database administrator
So, how long will it take you to become a good DBA—someone who can reasonably be left in charge of at least a mid-sized company’s databases? When considering the most common type of database administrator – a production DBA who looks after a company’s databases – there are a number of variables to consider.