Your database is clearly one of the most important aspects of your IT infrastructure.
Ongoing maintenance, optimization, and disaster recovery procedures are all important
aspects of protecting your data. As your business grows, these issues become more
vital as both the number of transactions processed and the overall overall volume
of data increases. CLS's database consulting methodology includes, but is not limited
to, the following tasks:
- Defining requirements - Quality database design and
database application software development is predicated on an accurate definition
of the business process requirements. Our database consultants have many years of
experience designing databases for a myriad of different industries and functional
requirements. This enables us to formulate a concise database design document that
will be a conceptual overview of the database. This document will become the blueprint
for your project and will also serve as a design artifact once your project is completed.
- Design the database - Once the requirements are known
and the use cases defined, the database design consultant can begin the actual process
of building the database model. This process often involves a database architect
assembling all of the required data elements and then defining database tables based
upon database normalization rules. Additional design elements include the analysis
of appropriate key structures and identification of stored procedures and triggers
required for optimal database performance and reliability.
- Build test requirements - Using the information defined
in the requirements, use case, and database design processes, our database consultant
can build a test plan of required activities. In addition to the obvious final testing,
these activities will include component and unit test criteria necessary to identify
dependencies required in the development plan.
- Performance Analysis - In order to maximize performance,
we can recommend various tuning techniques including the proper indexing of your
tables, data file disk allocation schemes, server hardware issues, query, view,
and stored procedure optimization, and many other strategies that will keep your
database running efficiently.
For existing systems, one way we accomplish this is to benchmark some of your more
resource intensive queries and stored procedures. By analyzing the overheard in
terms of memory and CPU usage, execution time and the query plan, we can make recommendations
to reduce load and increase performance. Record locking optimization is another
aspect of this analysis that can ensure data integrity and efficient performance.
Another important element in ensuring reliability and performance is designing and
implementing a proper maintenance and backup plan for your database. Secure, off-site
backups are crucial to any disaster recovery plan. In addition, rebuilding indexes
and statistics regularly are critical to ensure that performance and speed are maintained
as your users access the database throughout the day.
In terms of decision support and reporting, you may benefit from setting up a data
mart to support this activity. We can build a data repository that is optimized
and normalized to allow you to slice and dice your data so you can properly analyze
your business activity. MS SQL Server Reporting Services, Crystal Reports, Xcelsius
are some of the tools we have used to build reporting portals for our clients.