Database Architect: Getting to the Top
IT is an exciting and challenging field. Within IT, there are a number of disciplines that are fields in their own right, and database technology is one such discipline. Database architects hold the top jobs. But what is a database architect, and how does an IT professional become one?
Database architects have overall responsibility for the successful implementation and operation of database systems that support critical corporate systems. This usually includes the company’s ERP systems, including order-processing, payroll, finance, inventory, etc.
The performance, reliability and availability of these critical systems are directly linked to the characteristics of the underlying database management system (DBMS), its architecture, implementation and operation. The DBMS design trade-offs and technology decisions will have an impact over the entire life cycle of a company’s information systems. At a large corporation, these decisions can save or cost millions and affect a company’s operation for more than a decade.
Because of the high stakes involved, a database architect is typically a highly skilled individual with years of experience and in-depth expertise in database technologies, programming, and system analysis and design. Database architects, however, need to be more than talented technologists — they need to have superior communications skills and a keen sense of technology decisions’ impact on the company’s bottom line. They’ll be challenged to communicate proposals to a spectrum of audiences from engineers to senior management.
The Role of the Database Architect
Database technology is at the core of business systems. The database architect must be versed in the technologies, architectures and implementation issues at the database layer. It is also critical to understand how this layer supports the functions that rely on it, and how the hardware layer below can affect it.
Database architects are called on to set the strategy for their enterprise’s database systems and set standards for operations, programming and security. They are also likely to be involved with the design and specification, or at least the review, of the hardware and storage architectures supporting the database platform.
Setting or evolving a company’s database strategy is a key component of this role — it involves analyzing the database requirements of the supported business systems and designing a database infrastructure to support the business objectives. Typically, database architects look at the core business systems and categorize them as Online Transaction Processing (OLTP) or Online Analytical Processing (OLAP) applications.
The separation typically is done to prevent reporting programs from overloading the database system and slowing down the response of transaction-processing applications. In OLTP systems, you will need to consider scalability, uptime, transaction volume, response times and how to do maintenance upgrades and backups. You will need to have strong analytical skills and some experience in developing models that support your recommendations.
On the OLAP side, you need to consider an architecture for reporting and data warehousing: How current does the data have to be? At what point can it be summarized? A database architect needs to consider how to clean the data. Often reporting systems combine data from multiple systems that might have different keys, similar attributes with different meanings, conflicting data, missing data, etc.
Database architects play a key role in setting the standards for physical and logical database schema/table design and programming. They need to understand each of these disciplines to review and make decisions regarding the exceptions that inevitably arise. There will be myriad architectural issues to review or specify: Should clustering or replication be employed? How should database instances be allocated on specific machines? What impact does the architecture have on maintenance, upgrade and disaster-recovery issues? How will application development and testing be performed? Will you want to implement separate test and quality assurance environments?
Different production, development, test and quality-assurance environments likely will have different architectures or hardware. You need to be able to extrapolate results in one environment to predict performance in the other, and part of the job is figuring out a systematic way for handling these issues.
Many factors can affect the performance of database systems — programming standards employed for transactional and reporting systems can play a big part in the success or failure of systems. It is easy for poorly written programs and/or poorly optimized queries to significantly degrade the performance of an otherwise properly designed system. A programming background can help here, but even when lacking one, a database architect needs to understand the interaction of programming models and query optimization on production database systems.
The physical design of database tables can affect performance and access to data. A company’s ERP system dictates most of the physical table design for OLTP systems, but there are always ancillary systems and reporting and data warehouse environments that require physical designs. Each database platform usually has its own Structured Query Language (SQL) extensions and/or programming languages and facilities such as Oracle’s PL/SQL and Triggers. The extent to which extensions, facilities and proprietary languages are used needs to be considered — this can have an impact on the ability to switch DBMS vendors in the future.
Information security is a growing concern in all IT areas, and DBMSs are no exception: There are many security issues. Some of these, such as access and auditing, can be handled by the ERP system. You need to develop standards, however, to ensure the same access and audit requirements are implemented in custom-developed applications and modules. Probably the most problematic area is in securing reporting and data warehousing systems. These systems are built to provide people with access to data for analysis and reporting, but this can present a security problem, if the data are not secured to the same level as the production ERP system.
Whether implementing an environment or managing one, you need to devise a strategy for ensuring the architecture is meeting the needs of the company. System performance and capacity trends need to be monitored to anticipate needed changes before they affect business system performance. The database architect likely will be called upon to make these recommendations and to lead troubleshooting efforts if odd system behaviors or slowdowns occur.
Skills and Experience
To be a strong candidate, you are going to need a combination of credentials, skills and experience that complement one another. A bachelor’s degree will likely be required, and a master’s degree definitely is going to be a plus, particularly if it has a component related to management information systems (MIS) or computer science (CS). If the latter, coursework or a thesis focused on database technology would stand out, and many master’s programs offer such options.
Most companies try to standardize on a platform such as Oracle, IBM DB2 or Microsoft SQL Server. This is obviously going to affect the certifications pursued while working at a given job. Database certifications are vital to complementing your college work and demonstrating a commitment to continued learning and a desire to delve deep into the technology.
Database architect is a senior position, and it’s assumed that a candidate has eight or more years of experience and has probably worked at several companies. It will help you if you have experience on more than one platform at more than one company.
There are many approaches to database and syste