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/
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