Database Administrator (DBA)


 

A Database Administrator (DBA) is the information technician responsible for directing or performing all activities related to maintaining a successful database environment. A DBA makes sure an organization's database and its related applications operate functionally and efficiently.

 

Importance of a DBA

If your organization uses a database management system (DBMS) for mission-critical workloads, it is important to employ one or more database administrators to ensure that applications have ongoing, uninterrupted access to data. Most modern organizations of every size use at least one DBMS, and therefore the need for database administrators is greater today than ever before. The DBA is responsible for understanding and managing the overall database environment. By developing and implementing a strategic blueprint to follow when deploying databases within their organization, DBAs are instrumental to the ongoing efficacy of modern applications that rely on databases for data storage and access. Without the DBA's oversight, it is inevitable that application and system outages, downtime and slowdowns will occur. Problems such as these result in business outages that can negatively affect revenue, customer experience and company reputation. DBAs are the subject matter experts for database management systems and all related topics, including DBMS implementation and configuration; database design; SQL coding; data extraction, transformation and loading (ETL); test data management; problem resolution; data integrity; database security; optimization; and database backup and recovery. Database administration is a vital component of the IT environment for any organization that relies on one or more database management systems.

 

Roles and Responsibilities

A DBA can, and does, assume many different roles and responsibilities within the IT department involving database systems and applications. When adopting a new DBMS, the DBA is responsible for designing, implementing, and maintaining the database system. Often, this includes installing the DBMS and setting up the IT infrastructure to allow applications to access databases.

 

The DBA also must establish policies and procedures pertaining to the management, security, maintenance and use of the database management system. The DBA group creates training materials and instruct employees in the proper usage and access of the database management system. When problems arise, the DBA is the focal point for resolution, including troubleshooting, root cause analysis, fine tuning and optimizing the performance of tasks and programs that access the database. The DBA is responsible for ensuring that databases and data are backed up appropriately and can be recovered correctly and quickly in the event of failure. Furthermore, the DBA ensures that databases are protected and secured. The DBA enacts measures to maintain the database integrity in terms of data accuracy and makes sure that unauthorized users cannot access the data. The DBA frequently gets pulled into other projects as a subject matter expert on the database. Because databases are at the center of most modern application development projects, the DBA participates in the database integration and use in a variety of IT projects. This exposure to many different technologies and experiences can make the DBA a valuable IT technician not just for database-related issues, but for other technologies as well. Additionally, DBAs must be good communicators. They need to be able to converse and work with application programmers, business end users, IT and business managers and other DBAs.

 

Types of DBAs

Many different types of DBAs exist. The most common type of DBA is the general-purpose DBA, who performs all types of administration- and data-related work. However, it is not uncommon for DBAs to focus on specific problem domains. For example, a DBA may focus entirely on database design, perhaps broken into logical design and physical design. Some DBAs may specialize in building systems, whereas other DBAs may focus on maintaining and tuning existing systems or on narrow areas of database management and administration. Within larger organizations, DBA responsibilities typically are split into separate job types. The primary types of DBA, other than general purpose, include system DBA, database architect, database analyst, application DBA, task-oriented DBA, performance analyst, data warehouse administrator and cloud DBA. Their responsibilities include :

 

System DBA. This role focuses on technical, rather than business issues. The system DBA is knowledgeable in the arcane technical details of how the database is installed, configured, and modified. Typical tasks center on the physical installation and performance of the DBMS software and can include :

- Installing new versions and applying fixes;

- Setting and tuning system parameters;

- Tuning the operating system, network and transaction processors to work with the DBMS; and

- Ensuring appropriate storage and memory is available for the DBMS.

System DBAs are rarely involved with the actual database and application implementation. They may get involved in application tuning when operating system parameters or complex DBMS parameters need to be altered.

 

Database Architect. This person primarily works on the design and implementation of new databases. The database architect designs new databases and structures for new or existing applications and is rarely involved in maintenance and tuning of established databases and applications. Typical tasks performed by the database architect include :

- Modeling logical data;

- Translating logical data models into a physical database design;

- Analyzing data access requirements to ensure optimal database design and efficient SQL access;

- Creating backup and recovery strategies for new databases.

 

Database Analyst. Sometimes junior DBAs are referred to as database analysts. A database analyst may perform a role similar to that of the database architect. A database analyst can also be just another term that companies use instead of database administrator.

 

Application DBA. This role focuses on database design and the ongoing database support and administration for a specific application or subset of applications. They are more likely to be an expert at writing and debugging complex SQL and understand the best ways to incorporate database requests into application programs.

 

Not every organization staffs application DBAs. However, when application DBAs exist, general-purpose DBAs are still required to support the overall database environment and infrastructure. When application DBAs do not exist, the organization usually has general-purpose DBAs support specific applications while also maintaining the organization's database environment.

 

Task-oriented DBAs. These are specialized DBAs that focus on a specific administrative task. Task-oriented DBAs are uncommon outside of large IT shops. One example of a task-oriented DBA is a backup-and-recovery DBA who ensures that the organization's databases are recoverable, including creating backup plans; building and testing backup scripts; testing recovery scripts; and driving recovery tasks when required. The backup-and-recovery DBA also participates in building and testing disaster contingency plans for the organization's databases.

 

Performance Analysts. This is another specific type of task-oriented DBA. The performance analyst is the most common of the task-oriented DBAs. This role focuses entirely on monitoring and improving the performance of applications that access databases. A performance analyst is an expert in SQL coding for performance, as well as knowledgeable on designing and building high-performance databases. A performance analyst should have a deep understanding of the DBMS and be able to interact with other DBAs to enact appropriate changes when required. The performance analyst must be able to speak to application developers in their language to facilitate appropriate program changes for performance.

 

Data Warehouse Administrator. This is a fully capable DBA, but with specific knowledge and skills for monitoring and supporting the data warehouse environment. Data warehouse administrators must understand the differences between a database that supports OLTP and a data warehouse. Data warehouse administration requires experience with the following :

- Business intelligence (BI) and query tools;

- Specialized database design for data warehousing;

- Knowledge of data warehousing technologies, such as OLAP and star schema; and

- ETL skills.

 

Cloud DBA. This role has become more popular as organizations migrate workloads to the cloud. A cloud DBA performs many of the same tasks as a general-purpose DBA, but for cloud database implementations such as on AWS and Microsoft Azure. The cloud DBA must understand the services the cloud provider offers, such as backup and security, to implement databases in the cloud. Cloud DBAs need to be aware of latency, fault tolerance and cost management. The latter issues are important because adding data or workload to a cloud implementation can cause costs to rise significantly. This is not necessarily an exhaustive list of all the types of DBAs. There is not a single, simple job out there with the title DBA that fits all IT professionals working with DBA in their title. It's also important to note that not every organization has each of these separate DBA types.

 

Data, database and system administrators

Although similar, the roles and responsibilities for a data administrator, a system administrator (SA) and a database administrator are different.

 

Data Administration. This separates the business aspects of data management from the technology. When the DA function exists in an organization, it is aligned with the business more than IT. The DA is responsible for understanding the business lexicon and translating it into a logical data model. The DA works with DBA to translate models into actual databases.

 

System Administrators. They are responsible for the DBMS installation, configuration and setup. The SA typically has no responsibility for database design and support. The SA ensures that the IT infrastructure is conducive for database development by setting up the DBMS appropriately, applying ongoing maintenance from the DBMS vendor and coordinating migration to new DBMS releases and versions. Some organizations do not deploy separate DA and SA roles, in which case their duties fall to the DBA.

 

Functions of database administrators

The primary function of a DBA is to implement, maintain, optimize and manage database structures for the organization. Basically, the DBA keeps databases and applications running up to PAR, or performance, availability, and recoverability. However, a DBA must undertake some additional functions. The DBA is the central point of contact for information about the database management systems the organization uses. This means keeping up to date on the latest versions and capabilities of each DBMS they manage. It also involves educating and informing application developers and other users about how to use the DBMS and its facilities. DBAs also work with application developers to ensure accurate and efficient application design for database access. Tasks the DBA get involved with include interfacing SQL with traditional programming languages; deciding on the type of SQL to use; using middleware and APIs (such as REST, ODBC, JDBC, and SQLJ) effectively; defining transactions; and determining the appropriate use of frameworks (such as Java EE and .NET). At times, DBAs may be called upon to modify or write application code to help development projects. Ensuring efficient performance of the database and applications that access it is a core function of database administration. Database performance is the optimization of resource usage to increase throughput and minimize contention, enabling the largest possible workload to be processed. When confronted with performance problems, the DBA must be capable of performing root cause analysis, which is identifying cause of the problem so that it can be resolved. This requires the ability to identify bottlenecks and points of contention; monitor workload and throughput; review SQL performance and optimization; monitor storage space and fragmentation; and view and manage the system and DBMS resource use. Administering a DBMS usually requires additional tools than those provided with the DBMS itself. The DBA must understand the strengths and weaknesses of any native DBA tools and develop a strategy for addressing the weaknesses. This means that DBAs must be able to implement and use tools that improve the performance, availability, administration and recovery of the databases they manage.

 

Educational requirements

The DBA is expected to stay abreast of emerging technologies and new design approaches.

Typically, a DBA has a bachelor's degree in computer science or information science from an accredited university or college, as well as some on-the-job training with a particular database product. In some cases, a DBA may not be required to have a bachelor's degree if they have extensive IT experience. Many DBAs have prior experience as application programmers where they learned to excel at accessing databases using SQL embedded in COBOL, Java, C or other popular programming languages. A DBA is usually expected to have experience with one or more of the major database management products, such as :

- IBM DB2

- Microsoft SQL Server

- MongoDB

- Oracle

- PostgreSQL

- MySQL

DBAs may also possess in-depth technical skills in related technologies such as ERP packages (e.g., SAP), operating systems (e.g., Linux and z/OS) and storage software. Certification programs are available for most of the popular DBMS platforms and many organizations expect DBAs to be certified as a DBA in the database systems they manage. Although not as important as on-the-job experience, DBAs who have kept up to date with their certification will have relevant skills and knowledge about the features, functions and capabilities of the DBMS they are certified in.

 

Salary

A database administrator career can be rewarding and well-paid. According to the U.S. Bureau of Labor Statistics, the median annual wage for a DBA is $90,070 but it can range from a low of $50,340 to a high of $138,320 depending upon factors such as experience, geographical location and industry. Another consideration that perhaps is as important as compensation is employability. According to the U.S. Bureau of Labor Statistics Occupational Outlook Handbook, “Employment of database administrators is projected to grow 9 percent from 2018 to 2028, faster than the average for all occupations.” In their career and jobs study, U.S. News and World Report indicates that DBA is the 48th best job overall and the 5th best technology job. Furthermore, it reports that DBAs have a small unemployment rate (1.1%); above-average opportunities for advancement; and salary and average job flexibility and life balance, albeit with an above-average level of stress associated with the job. The job of DBA is technically challenging but can be a rewarding career path.

 

Source : Margaret Rouse

https://searchsqlserver.techtarget.com/

 

Comments

  1. Thanks a lot for sharing this amazing knowledge with us. This site is fantastic. I always find great knowledge from it.  Microsoft Certified: Data Analyst Associate

    ReplyDelete

Post a Comment