Critical Resources - The Database Architect

p>The role of the database administrator (DBA), orwork closely to define the data dictionary that the
data architect, cannot be over-emphasized in an ITsystem will use. Data elements should be defined
project. The purpose of IT is the capture, storage, andconsistently throughout the system and the source for
retrieval of business information to further thethese definitions should be the database data
organization's core business objectives. In today'sdictionary.
environment all the information that used to beIdeally, you should involve the data architect in design
captured on paper records is now captured inreviews and code reviews to ensure that the
electronic records that must be stored for retrieval inapplications being designed utilize the database
an electronic repository. This requires the use ofproperly. Your architect may not have the bandwidth
relational databases for all but the smallest, simplestto attend each of these reviews. In that case, ensure
applications and the use of relational databasesthat they at least review designs and approve them.
requires the skills of a database administrator and/orDevelopment and testing environments require an
data architect.instance of the database under development. This
There is little difference between the skill setswould normally be the responsibility of the DBA and if
possessed by data architects and those possessedyour project has the benefit of a data architect and a
by database administrators. The difference tends toDBA it will be the DBA who installs the databases. If
be in the focus of the two roles. Databaseyour project does not have a DBA, you'll have to rely
administrators are responsible for the health of theon your data architect to install the databases, or beg,
database and the data it manages. This responsibilityborrow, or steal a DBA for the purpose. The installation
will include the architecture of new data and databaseof test databases should always be contingent on the
dictionary as the business grows and changes.system under development meeting the criteria for
Database changes may occur as a result of a projectpromotion to the testing phase.
which delivers new functionality, or in response toTesting data is always a contentious issue for every
changes in the existing data. The focus of theproject. Assembling test data is not the responsibility of
database administrator is overall health of thethe DBA but the DBA should be made responsible for
database and the data it contains, including databaserefreshing databases with the set of test data they
availability, performance, and access. The dataare given. Assign responsibilities for the gathering,
architect is a role that tends to come with the"massaging" (making the existing data compatible with
implementation of the initial database instance andthe new database), and inserting the test data. The
large expansion projects. It is the database architectstesting team must identify the data they need to
job to ensure that the database design and dataperform their testing. This data will very likely be a mix
dictionary are optimized to support the data storageof "system" generated data and user generated data.
retrieval and performance goals of the project.The system generated data includes such things as
The key difference between the two skill sets is thethe organization's product inventory, customer list, etc.
emphasis on operational activities and the health of thewhile the user generated data will include items such
database on the one hand and the emphasis on theas customer orders. Assign a team member
performance of the database on the other. Theresponsibility for identifying and capturing system data.
database administrator will inherit the work of the dataAny "massaging" necessary will likely have to be done
architect if one is employed to design a database, or aby the DBA or data architect. Test plans should make
database extension, as part of a project. They will beuse of a common set of user generated data, data
responsible for support of the database they designedthat wouldn't normally be generated as part of a test
if one is not. Other than this difference the skill sets arecase, so that the same data is used across multiple
very similar, indeed most database courses make notest cases. Once this data has been identified and
distinction between the two roles. This article will treatassembled it is turned over to the DBA for
the two roles interchangeably; the best practicesmaintenance and each time test environments must
described here are applicable to both roles. The onlybe refreshed, the databases should be cleansed and
time a different approach is required is when you haverepopulated with this data and the system data.
both roles on the project in which case you will beYour data architect should be a SME for purposes of
required to distinguish between the two roles andrisk identification and change request analysis. The
assign each role the work they are best suited for.architect should attend team status review meetings
Large database supported projects require the dataand report on their progress with database
architect skill set and the project manager shoulddevelopment. Change requests that could entail
ensure that the person assigned to this role on thechanges to the database should be analyzed by the
project possesses the architect skill set anddata architect to verify and quantify the impact of the
experience. This is a role which is critical to theproposed change.
success of your project so if there is someone you inDatabase architects are critical to the business of
your organization who meets your requirementsdeveloping a system which meets the organization's
secure them for your project by identifying them as aperformance requirements. Your job is to determine
critical resource in your project charter. Smallerwhat these requirements are. The data architect's job
projects may be served by the architectural skill setis to identify the database structure, data dictionary
possessed by the DBA. You should go over theand any hardware and software requirements the
DBA's background and check for training anddatabase would need to meet these objectives.
experience in database design and performance.Although I've left this issue to the end, it is something
Previous experience on a database creation projectthat should be addressed early in the planning phase.
would be ideal.Design of the database is not an exact science but
You will have to recruit the database architecture skillprocuring the right hardware and software at the
set externally if it isn't available within your organization,outset should allow you to meet your objectives.
or if the experience isn't deep enough. Look for a dataFinding out that the database you've built does not
architect with experience in large database projectsmeet your needs during a testing phase will add time,
with a deep knowledge of the relational database youreffort, and cost to your project.
project is using. All relational databases manage dataThe project will have a database, data dictionary,
the same way but each has its own unique set ofscripts, and maintenance tools to hand off to the DBA
tools and without knowledge in this area the architectat the conclusion of the project. If your project
will have too much catching up to do to contribute toengaged the organization's DBA as a stakeholder
your project. Your architect should also haverather than a team member you will need to plan
experience in database normalization so that yourtraining so that there is a knowledge transfer between
design will follow the best practices for relationalthe data architect and the DBA.
databases. Data modeling is also a skill your architectThe tips and advice offered in this article are only part
should possess. If your organization does not haveof the work you will be required to do to plan, monitor,
anyone with these skills and you are prevented fromand control the work of the architect for your project.
recruiting externally, or cannot attract this skill set,The rest of your work should be guided by the best
consider training your DBA. Make sure that youpractices of project management and I know of no
schedule the training early enough in the project sobetter single source for these than the PMBOK (R). To
that the DBA is on board for the planning phase.learn these best practices and demonstrate to
Your database architect should work closely with theemployers or clients that you have mastered them,
solutions architect so that system design andtake a PMP (R) course or any PMP (R) exam
database design align. The best way to do this is topreparation training and then pass your PMP (R)
ensure that each attends the other's design sessions.certification exam. This web site contains details on
Your database architect can only design an efficientPMP (R) certification and also offers a product, AceIt
database if they know how it will be used by the(C), which has been successful in preparing candidates
system and the system's users. That is where theall over the world to pass their certification exam.
solutions architect can help. They will also have to