Friday, November 16, 2012

DB2 for i Database Engineer – A Description of the Job

For a number of years now, a few enlightened folks have been raving about sharing the importance of having someone in (or close to) your organization that focuses on DB2 for i.

Back in 2000, Kent Milligan posed the question: To DBA or Not to DBA? here

Back in 2009, I made the case for a DBA on IBM i here

Two months ago, Jon Paris and Susan Gantner asked: Who Needs a DBA? here

Last month at the Fall 2012 RPG & DB2 Summit conference I led my audience to the answer in a session entitled: To DBA or Not to DBA?

I’m getting dizzy from revisiting this topic over and over again. Let me regain my balance and say once again, it is important AND advantageous to have someone who is knowledgeable, skilled and focused on DB2 for i.

What I tell IT executives every chance I get:

It is a critical success factor to have a DB2 for i database engineer  PERIOD

The Position

The database engineer (DBE) is a person who can bridge the gaps and interact with the other factions found in a typical IT organization. A DBE is someone who can communicate on both a technical level and a business level. This means talking smart and meaningful about SQL and data centric technology within IBM i. It means partnering with the infrastructure team, the application development team and the information management team. Of course it must also include teaming with business leaders on solving business problems and getting more value out of data.

For those who prefer a diagram (like me)…

I must admit that many folks have gotten the DBE message and are embracing the idea. In response to a few requests (thanks Deb!), I am providing a list of responsibilities for the DB2 for i database engineer. You can think of this as the basis for a job description, or at least a starting point for setting expectations.

The Responsibilities

Database Architecture, Design and Implementation

The DBE is responsible for the architecture, design and implementation of database systems and components in support of information management goals. This includes the database and data life cycle. It includes understanding and applying the science and art of data modeling practiced via modern methods, tools and interfaces. The DBE is involved in gathering business requirements, logical modeling, physical modeling, implementing the model and maintaining the model.  For environments where the data model is delivered as part of an acquired software package, a good understanding and appreciation of the data model is required.

Data Availability, Control, Governance and Integrity

The DBE, in partnership with the data owner, is responsible for the accessibility, availability and integrity of the database and data. The DBE is responsible for defining and implementing the appropriate strategy and methods to maintain control and governance of the database and the data, as defined and mandated by the owner. This includes understanding and accounting for all the potential data access interfaces and methods, and ensuring proper security and auditing measures are in place. A critical success factor is identifying, understanding and reconciling the associated business and technical requirements for data and information management.

Data Centric Application Design and Programming

The DBE is responsible for ensuring proper and adequate data centric techniques are used in the design, development and implementation of applications. This includes taking advantage of built in database management system features and functions such as constraints, functions and triggers. The DBE is responsible for understanding and applying the science and art of coding and implementing SQL (DDL, DML and PSM) via modern methods, tools and interfaces. Leading, guiding and reviewing data centric application development is a fundamental task. As appropriate, the DBE is also involved in all aspects of maintaining, modernizing and enhancing existing database applications that are based on DDS, high level language record level access and other non-SQL interfaces.

Database Performance and Scalability

The DBE is responsible for identifying, understanding, reconciling and meeting the data serving performance and scalability requirements. This includes applying the best practices of indexing, work management and set-at-a-time SQL requests. The DBE is responsible for understanding and applying the science and art of monitoring, analyzing and tuning data access and data processing via modern methods, tools and interfaces. The DBE is involved in planning, sizing and configuring database systems to meet business and technical requirements. This should include the set up and use of prototypes, proofs of concept, proofs of technology and realistic benchmarks.


There you have it – a starter set of focus items and responsibilities for the DB2 for i Database Engineer. Whether this is a full time job or part time job is dependent upon your organization and environment. For some companies, this might be a team of people focusing on different aspects or even different lines of business.

If you need more information on building a DBE for IBM i, or need someone to help explain the advantages to business leaders, please let me know. If you need some or all of these responsibilities met by someone outside of your organization, we can help.


  1. Very good points, excellent article.

  2. So we have decided we need a DBE for the iSeries where is the training/educational material for a person taking this position?

    1. Feel free to contact me directly via email and I will provide recommendations on how to educate, enable and energize your DBE. Thanks!