The following is a description of some of these roles.
A data architect is responsible for designing an architecture that supports the organization's existing and future needs for data management. The architecture should cover databases, data integration and the means to get to the data. Usually the data architect achieves his goals by setting enterprise data standards. A Data Architect is also referred to as a Data Modeler. This is in spite of the fact that the role involves much more than just creating data models.
Some fundamental skills of a Data Architect are:
1. Logical Data modeling
2. Physical Data modeling
3. Development of a data strategy and associated policies
4. Selection of capabilities and systems to meet business information needs
This role is similar to a Data Architect, though constraints more towards a database solution. A database architect is responsible for the following activities:
1. Gather and document requirements from business users and management and address them in a solution architecture.
2. Share the architecture with business users and management.
3. Create and enforce database and application development standards and processes.
4. Create and enforce service level agreements (SLAs) for the business, specially addressing high availability, backup/restore and security.
5. Study new products, versions compatibility, and deployment feasibility and give recommendations to development teams and management.
6. Understand hardware, operating system, database system, multi-tier component architecture and interaction between these components.
7. Prepare high-level documents in-line with requirements.
8. Review detailed designs and implementation details.
It is critical for a database architect to keep pace with the various tools, database products, hardware platforms and operating systems from different vendors as they evolve and improve.
Database Administrator (DBA)
A database administrator (DBA) is responsible for the maintenance, performance, integrity and security of a database. Additional role requirements are likely to include planning, development and troubleshooting.
The work of a database administrator (DBA) varies according to the nature of the employing organization and the level of responsibility associated with the post. The work may be pure maintenance or it may also involve specializing in database development. Typical responsibilities include some or all of the following:
1. Establishing the needs of users and monitoring user access and security;
2. Monitoring performance and managing parameters to provide fast query responses to front-end users;
3. Mapping out the conceptual design for a planned database in outline;
4. Take into account both, back-end organization of data and front-end accessibility for end users;
5. Refining the logical design so that it can be translated into a specific data model;
6. Further refining the physical design to meet system storage requirements;
7. Installing and testing new versions of the database management system (DBMS);
8. Maintaining data standards, including adherence to the Data Protection Act;
9. Writing database documentation, including data standards, procedures and definitions for the data dictionary (metadata);
10. Controlling access permissions and privileges;
11. Developing, managing and testing backup and recovery plans;
12. Ensuring that storage, archiving, backup and recovery procedures are functioning correctly;
13. Capacity planning;
15. Working closely with IT project managers, database programmers and Web developers;
16. Communicating regularly with technical, applications and operational staff to ensure database integrity and security;
17. Commissioning and installing new applications.
Because of the increasing levels of hacking and the sensitive nature of data stored, security and recoverability or disaster recovery have become increasingly important aspects.
A database application developer is a person in charge of developing applications that access databases. An application developer requires knowledge of the following:
1. Integrated database application development environments (IDEs).
2. Database plug-ins for IDEs.
3. SQL development tools
4. Database performance monitoring and debugging
5. Application server environments, application deployment, application performance monitoring and debugging
An example of an IDE is IBM Data Studio, a free Eclipse-based environment which allows developers to work with DB2 objects such as tables, views, indexes, stored procedures, user-defined functions and Web services. It also provides facilities for debugging, development of SQL and XQuery, and integration with different application servers such as WebSphere® Application Server.
DB2 also includes add-ins that extend Microsoft® Visual Studio development environment with a comprehensive set of tools for developing DB2 objects (tables, views, stored procedures, user-defined functions etc.). This way, .NET developers do not need to switch back and forth between Microsoft Visual Studio and DB2 tools.
The roles and responsibilities discussed so far are very broad classifications. Different organizations have their own definition of roles within their organization’s context. These roles are listed to provide a big picture on various dimensions around database administration, application development and usage.