Craig S. Mullins

Return to Home Page

August 2008





The DBA Corner
by Craig S. Mullins

The 17 Skills Required of a DBA


Implementing database administration appropriately and effectively in your organization requires careful thought and planning. At a primary level, though, you need to be able to describe what a DBA must be able to do. With that in mind, here are the 17 basic skills that make a successful DBA:

  1. Data modeling and database design. The DBA must possess the ability to create an efficient physical database design from a logical data model and application specifications. If the data resource management discipline has not been created, the DBA also must be responsible for data modeling, normalization, and conceptual and logical design.
  2. Metadata management and repository usage. The DBA, or sometimes the Data Architect (DA), must collect, store, manage, and enable the ability to query the organization's metadata. Without metadata, the data stored in databases lacks true meaning.
  3. Database schema creation and management. A DBA must be able to translate a data model or logical database design into an actual physical database implementation and to manage that database once it has been implemented.
  4. Backup and recovery. Implementing robust backup and recovery procedures is the insurance policy of the DBA. The DBA must implement an appropriate database backup and recovery strategy based on data volatility and application availability requirements.
  5. Ensuring data integrity. DBAs must be able to design databases so that only accurate and appropriate data is entered and maintained. To do so, the DBA can deploy multiple types of database integrity including entity integrity, referential integrity, check constraints, and database triggers. Furthermore, the DBA must ensure the structural integrity of the database.
  6. Performance management and tuning. Dealing with performance problems is usually the biggest post-implementation nightmare faced by DBAs. As such, the DBA must be able to proactively monitor the database environment and to make changes to data structures, SQL, application logic or the DBMS subsystem to optimize performance.
  7. Ensuring availability. Applications and data increasingly are required to be up and available 24x7. The DBA must be able to ensure data availability using non-disruptive administration tactics.
  8. SQL code reviews and walk-thrus. Although application programmers usually write SQL, DBAs usually are blamed for poor performance. Therefore, DBAs must possess in-depth SQL knowledge so they can understand and review SQL and host language programs and to recommend changes for optimization.
  9. Procedural skills. Modern databases manage more than merely data. The DBA must possess procedural skills to help design, debug, implement, and maintain stored procedures, triggers, and user-defined functions that are stored in the DBMS.
  10. Data security. The DBA is charged with the responsibility to ensure that only authorized users have access to data. This requires the implementation of a rigorous security infrastructure for production and test databases. And a database auditing capability to document compliance.
  11. Capacity planning. As data consumption and usage continue to grow, the DBA must be prepared to support more data, more users, and more connections. The ability to predict growth based on application and data usage patterns and to implement the necessary database changes to accommodate the growth is a core capability of the DBA.
  12. General database management. The DBA is the central source of database knowledge in the organization. As such he must understand the basic tenets of relational database technology and be able to accurately communicate them to others.
  13. General systems management and networking skills. Because once databases are implemented they are accessed throughout the organization and interact with other technologies, the DBA must be a jack of all trades. Doing so requires the ability to integrate database administration requirements and tasks with general systems management requirements and tasks (like job scheduling, network management, transaction processing, and so on).
  14. ERP and business knowledge. For businesses doing enterprise resource planning (ERP) the DBA must understand the requirements of the application users and be able to administer their databases to avoid interruption of business. Most ERP applications (SAP, PeopleSoft, etc.) use databases differently than homegrown applications. DBAs require an understanding of how the ERP packaged applications impact the business and how the databases used by those packages differ from traditional relational databases.
  15. Extensible data type administration. The functionality of modern DBMSs can be extended using user-defined data types. The DBA must understand how these extended data types are implemented by the DBMS vendor and be able to implement and administer any extended data types implemented in their databases.
  16. Web-specific technology expertise. For e-businesses, DBAs are required to have knowledge of Internet and Web technologies to enable databases to participate in Web-based applications. Examples of this type of technology include XML, CGI, Java, Ruby on Rails, TCP/IP, Web servers, firewalls, SSL, and so on.
  17. Storage management techniques. The data stored in every database resides on disk somewhere (unless it is stored on one of the new main memory DBMS products). DBAs must understand the storage hardware and software, including how it interacts with the DBMS.









From Database Trends and Applications, August 2008.

2008 Craig S. Mullins,  All rights reserved.