olly - Fotolia
Could you please explain the differences between a database engineer, a database architect and a database admi...
Great question! It can get pretty confusing as these titles (and many more including database developer, data architect, data analyst, data modeler, database designer, etc.) are often intermixed, used improperly, or redefined by the companies using them. The definition really depends on the actual job descriptions as defined by the various companies posting them. I will do my best, however, to differentiate and simplify them for you.
A database administrator (DBA) is responsible for the daily maintenance of a database. When hiring a DBA, most companies seek candidates with a BA in computer science or a related field like information technology, management information systems, data administration or information security.
Hiring managers also look for candidates with fluency in SQL, OQL, XQuery and SQL/XML. Additionally, prospective DBAs should have experience in automation, IBM Db2, Microsoft SQL Server, Oracle Database, NoSQL databases and Hadoop environments. The role of the DBA is fluid, as it changes to accommodate new updates in database technology.
Without the DBA, databases would go unmonitored and become unkempt. The DBA's primary focus is to keep the database as up-to-date and secure as possible. This is easier said than done, as the DBA must be fluent in the current technology and able to learn how to correctly utilize new technology, often on the fly. As a result, the DBA must be the most versatile member of any team.
Role and responsibility
A DBA's primary responsibility is to ensure that the database is available, is performing properly and is kept safe. DBAs are tasked with securing organizational data, restoring lost data, creating new user permissions, testing modifications, merging old databases and conducting performance tuning support. DBAs must also continually monitor their database systems to ensure that they are efficient and error-free.
DBAs are in charge of keeping sensitive data accessible to users with authorized access. To do this, they work closely with information systems managers to tailor the databases to business needs.
System DBAs oversee the technical aspects of database administration. This includes debugging code and upgrading software.
An application DBA's primary focus is on managing and maintaining a specific app workload with the database.
When hiring a database architect, most companies seek candidates with a BA in computer science. To become a database architect, an in-depth understanding of computer software, database technologies and programming is required. Many employers also look for candidates who are knowledgeable about data structures and algorithms, database design, app development, computer architecture, Oracle database administration, data warehouse design, database backup and SQL programming.
Database architects assess the needs of a company's current data infrastructure in order to determine where alterations in the database need to be made. Once a list of changes has been made, the database architect assembles a team to implement these changes.
Role and responsibility
The role of the database architect can vary from company to company. In general, database architects understand the data-related requirements for the software they're creating and maintaining. These requirements range from the data being collected, how the data moves through the system or how the data is used and analyzed. Knowing this information -- which is usually unique to the company -- the database architect makes important decisions about the technologies and architecture needed to meet these requirements.
Database architects are responsible for gathering business requirements, designing a logical model and ultimately building the physical database. They're expected to analyze business needs and create a database solution to meet them. Tasks include requirements definition, business analysis, data modeling, database design; E-R (Entity Relationship) models, database programming, business report generation, ETL procedure development and database performance optimization.
Database engineers work as application or systems software developers. They're typically employed by computer systems companies to design and manage databases. When hiring a database engineer, most companies seek candidates with a BA in computer science or a related field like information science or mathematics. Database engineers are required to understand computer software, databases and programming. In particular, companies seeking database engineers are looking for individuals with fluency in SQL, knowledge and experience in platforms like Microsoft SQL Server, Oracle or MySQL, and debugging skills.
It should be noted that database engineers are different from data engineers, as the latter specializes in preparing data for analytical or operational use. Database engineers and data engineers may work together, though, as the former is responsible for keeping the database in good working order for the latter.
Database engineers are responsible for managing a company's flow of information. Their primary role within an organization is to design, monitor and maintain the databases that provide information and data to employees.
Role and responsibility
Database engineers are tasked with keeping their business's databases secure, stable and accessible to employees. Because most databases require constant maintenance to keep up with continually evolving technology, database engineers must be able to integrate new products and software packages into the system and ensure that the data is accurate.
Learn how each of these roles work in a DevOps environment
See how Oracle Autonomous Database changes the duties of DBAs
Why database architectures need to be built to avoid DBMS chaos
Dig Deeper on Oracle management
Related Q&A from Michael Hillenbrand
An Oracle user asks who should do the source-to-target mapping in a company--the Business Analyst or Data Architect. Continue Reading
Do you have any suggestions on how to measure DBA job performance and provide meaningful goals for performance management of DBAs? Continue Reading