RDM Embedded Database Professional Services Performance Tuning
This offer is aimed at customers interested in improving the performance of their RDM powered application. This package is best utilized during application design; however there is value in analysis of a deployed application.
The deliverable to the Data Management Performance Analysis is a paper documenting our findings and, if necessary, providing suggestions for improvements. It is likely that the customer would like us to follow up our recommendations with an implementation project. In addition customers may decide a formal training course would be beneficial following the analysis. Both the consultant performing the analysis and the Sales member coordinating the effort should be looking for follow up opportunities. The Data Management Performance Analysis is divided into the following areas of study:
Logical Analysis
The logical analysis of the database involves verification of the type of data being stored in
the database and its ability to meet the requirements of the application. This process involves
determining that proper database normalization techniques have been applied to the schema
reducing data redundancy and increasing referential integrity.
Structural Analysis
The structural analysis of the database is performed to verify that the database is organized in
a way that makes efficient use of the database. This analysis includes making determinations as
to where specific database modeling techniques should be applied as they relate to the use of
keys, indexes, and network model relationships. In addition, the distribution of records and
keys in the individual data/key files is examined in attempt to make the most efficient use of
disk space and operating system disk access.
Contention Analysis
The contention analysis requires an in-depth understanding of the way in which the database is
accessed by the application. This analysis is intended to reduce the likelihood of multi-user
access limitations during run time.
Query Analysis
We are not able to perform analysis of each query within a customer's application suite.
However, this package does include analysis of a set of representative queries provided by the
customer. The standard package will provide analysis of five (5) queries provided to Birdstep by
the customer. In order to adequately analyze queries Birdstep must also be provided with a
database populated in a manner representative of the data distribution in the customer's
application. Additional queries can by analyzed for additional cost. The query syntax will be
analyzed to ensure that the query is written in a manner providing the engine an efficient
method of optimization. There are certain syntaxes that while they are legal SQL syntax, they do
not optimize well in the RDM engines. Usually, methods are available to rewriting the query in
a form that offers better optimization potential yet yields equivalent results. The design of
the query will be analyzed to ensure that the tools necessary for the optimizer to create an
efficient access plan are present. The suggestions provided by Query Design analysis typically
are schema modifications to provide the optimizer with the indices and relationships essential
for proper query optimization.
Execution Analysis
Execution analysis includes running the query against a populated database and analyzing the
access plan generated by the optimizer. It allows for a deeper understanding of how the engine
is interrupting and servicing data requests. Execution analysis can lead to modifying the
database schema or to modifying engine settings for the result of better query performance.

