What is a Data Architect?
A data architect is a person designated to be responsible for the design, structure, organization, and maintenance of data for a particular company or project. Just as an architect carefully designs the blueprints for a building, a data architect carefully maps out the structure and organization of the relevant data for a company or project. He or she can work for a single company and focus entirely on internal data or work for a database group and assist multiple companies with their data.
A data architect fills a number of roles and maintains a number of responsibilities. He or she is responsible for evaluating the use of data and relating data directly to the goals and practices of a company in a way that provides clear results. Someone in this position must ensure the accuracy and accessibility of all important data, and he or she is responsible for knowing what data is important and why. He or she often acts as a middleman, deducing the data needs of a particular group and explaining the importance and use of the data most relevant to them.
There are a number of tools that someone in data architecture uses throughout his or her career. Beyond basic databases, a data architect often creates something called a metadata registry. This is in a sense a database that catalogs what data is available as opposed to cataloging the actual data. A metadata registry can organize data on a much more massive scale than a basic database, because it is not required to contain the information itself, but only to reference it.
Nearly all data architects are familiar with data-oriented computer languages such as SQL. In an attempt to simplify a rather complicated system, SQL is a data querying language based on retrieving data stored according to mathematical relations. Rather than storing numbers, SQL databases represent all types of information in mathematical terms and use mathematical tools to sort the information. Other data-oriented languages, such as XML, are likely to be regular tools by people in this position.
This pretty much sums up the role: "The business team knew what they wanted, in plain English terms, and it was the job of the architect to ensure that the data was available which could answer their questions, and design relationships and flow diagrams of the data within the organization." --Mammmood
I don't know what this data architect role is. To me it sounds more like a BI type of guy, defining facts and dimensions, tables and their normalization in order to produce results specified by upper management, or creating reports.
The role of designing the database model for an application, well, I think that takes more than just knowing the names and attributes of a bunch of entities (like employee, customer, account, billing, whatever). I mean, how can someone design the database without knowledge of the business rules? Simple stuff like: Can an employee be registered to more than one job? Or how can the DA or DBA decide where to put a flag column to a table that will be used to invoke a specific behavior in the underlying code?
I don't see how the software class model can be separated from the database tables.
In a small organization, an educated DBA may fulfill the data architect and DBA role. However, the data architect works from a logical perspective and DBA works from an implementation perspective. They have different skill sets.
Each position may influence the outcome of the modeling effort and something maybe lost in the interpretation. For example, logical identifiers are different from physical. From my experience, a DBA has limited logical business exposure.
@Mammmood - That’s how it was in our company too, except it involved a little bit more. Part of an important part of the data architect job description that is missing from this description is the concept of data integration.
This basically means that the information to answer that business question may involve data in several different warehouses. The architect had to figure a way to integrate or tie those different sources of data together so that, to the end user, it was seamless, as if it all came from one source.
This usually involved “virtualization” or creating a view of the data, and having the end user query the view instead of directly against the source itself.
@anon130308 - At the company where I worked the person who filled this role was called the data warehouse architect. He was also the DBA, worked with Oracle as the backend and was responsible for defining available data and then creating physical and logical models of the data that would match business requirements.
The business team knew what they wanted, in plain English terms, and it was the job of the architect to ensure that the data was available which could answer their questions, and design relationships and flow diagrams of the data within the organization.
In other words, the architect sets everything up so when the end users ask questions, they get the right answers in the format that they expect.
The definition is very succinct but it appears to skip out how the job of a data architect impacts or impacted by the formulation or implementation of business strategy.
Post your comments