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.