3. InnovizeIT for DB2 – Product Overview
3 www.InnovizeIT.biz
Overview
InnovizeIT for DB2 offers application performance improvement through a combined and comprehensive
analysis of application components. The algorithms used are based on deep knowledge of DB2 and its
behavior when combined with large data volumes and diverse code structures. It analyzes several aspects
of the DB2 system: catalog tables (metadata), application access information (Explain tables) and the
application sources (SQL syntax). Based on this analysis it points to the performance sinks and
recommends remediation steps. The product weights the severity of each case and pinpoints the worst
offenders first. The sophisticated analysis tools provide for deep insights which, due to the complexity of
the analysis, are impossible to come by otherwise.
Most of the existing optimization products are focused on monitoring and pointing to the bottlenecks in
the processes. InnovizeIT for DB2 is unique in that monitoring is only the first building block in its process.
Monitoring results are used to point to performance offenders, and then the product’s automatic analysis
of all database and application elements is employed to explain the performance sinks, and to provide
powerful and proven recommendations for change. Implementing the product's recommendations results
in significant operational cost reductions due to lower CPU utilization, increased transaction throughput
and shorter batch windows. Where monitoring tools are used, their outputs can be integrated with
InnovizeIT resulting in a powerful enhanced value.
The product runs on a windows machine. It is being offered both as a licensed product and/or as a service,
in which the product is used. The analysis can be performed on or off site; no business data is required,
only metadata and application SQL code sections. No installation is required on the client's server or
mainframe. The provided recommendations are implemented by the customer’s application DBAs and /
or application SMEs, thus the product empowers existing staff and adds to their knowledge
Download
data from
MF to PC
Analyze & Generate
Recommendations
Decision
Support
(GUI)
Implementing on
MF
PC WorkMF Work MF Work
4. InnovizeIT for DB2 – Product Overview
4 www.InnovizeIT.biz
InnovizeIT for DB2: Analysis
DB2 has extensive metadata capabilities. The catalog tables for example hold valuable information such
as index configuration and utilization, SQL used to access DB2 from different programs and other relevant
data. Looking at many of these bits of information and integrating them to give a bigger picture, it is
possible to identify problematic parts of the DB2 schema.
The information about potentially problematic DB objects is combined with analysis of the SQL code,
taken from the DB2 catalog metadata, to identify which are accessed in programs that are performance
bottlenecks.
The system then generates recommendation for changing the DB2 definitions, or their use in the
application code.
As part of the analysis, InnovizeIT for DB2 estimates potential savings for some of the generated
recommendation, based on actual production data, increasing accuracy and enabling prioritization of
optimization activities.
InnovizeIT for DB2: Recommendations
Some of recommendations generated automatically by the tools consist of the following:
- Modifications
o DB2 definitions: Index columns, their order and uniqueness
o Tablespace definitions
o Index clustering options
o Index Only opportunities
- Adding or removing indexes due to
o Duplicate or contained indices
o Cardinality analysis
o Low First Key Card
o Inefficient data access (Table Scan, redundant sorts, non-matching, etc.)
- Changing SQL statements
o Having high CPU and I/O consumption
o Accessing data through a non matching index
o To a better performing alternative
- SQL Consolidation
o Based on identification of similar/identical SQLs
o Based on similar/identical access path
- Maintenance
o RunStats
o Reorgs
o Compress
For more details, pls refer to Appendix B.
InnovizeIT for DB2 includes powerful results-browser which aids in understanding the change
recommendations, and analyzing their implications. Decision workspaces include drill down capabilities
to several levels, up to the program-query access path information. Figure 1 below illustrates a decision
workspace which shows a pair of indices, one of which is contained in the other. Figure 2 shows drilling
down to investigate which programs make use of one of those indices, what access paths are used and
even the actual SQL utilizing the index. This information ensures that removing one of the indices can be
performed with the lowest possible risk.
5. InnovizeIT for DB2 – Product Overview
5 www.InnovizeIT.biz
Figure 1: InnovizeIT for DB2 sample Decision Workspace
Figure 2: InnovizeIT for DB2 sample Drill Down
6. InnovizeIT for DB2 – Product Overview
6 www.InnovizeIT.biz
InnovizeIT for DB2: Handling Dynamic SQL
InnovizeIT for DB2 analyzes the whole environment and components, as opposed to looking at specific
SQL statements. InnovizeIT for DB2's comprehensive solution, on multiple levels - the SQL level, the
system level, the logical level and the physical definitions - provide for a complete solution to the
challenge of Dynamic SQL calls.
InnovizeIT for DB2 handles Dynamic calls, either with or without a predefined SQL structure. The Dynamic
calls are captured in the CACHE and then are written into a CACHE table, generating for each record an
EXPLAIN statement. An Explain process runs on this data and generates the files needed for the analysis.
Such approach allows also capturing dynamic calls running the SQL from a different/separate platform
using tools that generate dynamic SQL.
InnovizeIT for DB2: Integration with Monitoring Tools
InnovizeIT for DB2 integrates with commercial monitoring products resulting in a most efficient,
comprehensive and powerful performance optimization tool set. Historic information, collected by
monitors and kept in logs, can provide significant information to support the analysis of past events and
identify performance sinks over time. These logs collect data on programs that were executed, run times,
CPU usage, number of SQLs, number of Get Pages, SQL calls actually performed, etc.
For Dynamic calls, similar information may be collected from the CACHE.
InnovizeIT for DB2 interfaces with the logs' data. This integration, between production/historic data and
InnovizeIT for DB2's integrative analysis, results in the generation of enhanced information, and allows
focusing the performance optimization activities on the most active/popular programs and on those
elements offering a potential for higher savings. Estimating the potential savings will be done using real
data and, therefore, will be more accurate.
InnovizeIT for DB2: Continuous Optimization
Keeping development standards and procedures across a large IT organization is often a challenge. This is
why InnovizeIT offers its “Continuous Optimization” service. A custom process is added to the
development cycle in which analysis is performed on each program after it is changed and before it is
submitted to testing, to look for sub-optimal patterns. In addition, the DB2 metadata is analyzed
periodically to monitor the application for performance sinks, ensuring that performance will not
deteriorate after the initial optimization project.
The Continuous Optimization service is offered on a subscription basis.
Delivery
InnovizeIT services can be performed either on-site, or offsite by submitting the DBMS metadata and
application code to InnovizeIT analysis on a secure web site. Scripts for preparing the required inputs are
provided on demand and a high level of security is maintained according to industry standards. This
model enables a cost efficient process and efficient utilization of customer DBAs and SMEs.
The recommendations are delivered either on-site or through an interactive, secure website, at which
standard and custom reports list the recommendations, which in some cases also include the expected
performance gains.
On receiving the recommendations the customer incorporates the changes through the standard
development cycle. This ensures that site specific procedures are not ignored and full testing occurs
before changes are put into production.
This delivery methodology provides a fast return as performance sinks are quickly identified and
eliminated in a low risk - high gains process.
7. InnovizeIT for DB2 – Product Overview
7 www.InnovizeIT.biz
Appendix A: Product Process Flow
Flow Diagram
InnovizeIT for DB2
Mainframe
DB2
1. Prepare Data Download Scripts
2. Download, Transfer and Load
Monitor
3.1 Initial Processing
3.2 SQL Parsing
3.3 Cross Reference
Schema Objects
Repository
4.1 Interactive display
of Results
3.4 Performance
Cost of Problems
4.2 Selection of
Recomendations
5.1 Executive
Dashboard
5.2 Recomendations
5.3 Work Plan
8. InnovizeIT for DB2 – Product Overview
8 www.InnovizeIT.biz
Main Product Processes:
1. Data Preparation on Mainframe (data download - scripts generation)
1.1. DB2 Catalog
1.2. DB2 Access Path
1.3. SQL Syntax
1.4. Monitoring Information
2. Transfer data to PC working environment
2.1. Download binary files and transfer to PC
2.2. Upload (including EBCDIC to ASCII conversion)
3. Data Processing
3.1. Run queries for initial processing
3.2. SQL Syntax Parsing
3.3. Gather recommendations by schema objects (indices, tables, etc.)
4. Recommendations - interactive research
4.1. Recommendations display through set of linked screens with Drill Down functionality for
research
4.2. Recommendation selection
5. Reporting
9. InnovizeIT for DB2 – Product Overview
9 www.InnovizeIT.biz
Appendix B - Analysis Criteria.
1. SQL Syntax & DB2 Access
• Access to data
• Indices w Access To Only one Program
• Low cardinality
• Matching Index Scan w FirstKeyCard=1
• Multi-Index Scan
• Non Matching Index Scan
• High estimated ProcMS Queries
• Queries w Sort
• TableSpace Scan Queries
• Index Only opportunities
• SQL Analysis
• Packages with EXEC SQL LOCK
• UNION not UNION ALL
• DISTINCT in non-cursor usage
• CURRENT DATE not in SYSDUBANKIAY1
• IN sub-select
• Date/time/timestamp calculation
• Optimize for one row
• Fetch first one row only
2. Data Model aspects
• Clustering
• Low Cluster Ratio Indices
• Indices
• Indices With Low First key Card
• Indices With Unnecessary Columns
• 'Duplicate' Indices that are in fact ‘Unique’
• Unused Indices
• Duplicate Indices w Card/FullKeyCard > 1000
• Indices w One Entry But Many Rows
• Indices w Identical Cols
• Indices used only by non-active programs
• Structure
• TableSpaces w More Than 1 Table
• Tables Not In Use
• Tables w No Primary Key
• Tables w No Unique Index
• Tables w No Index
3. Logical and Physical aspects
• Clustering
• Non Clustered 'Clustering' Indices
• Indices
• Indices w First n Cols With One Card
• Index Columns w Only One Value
• Indices with VarChar columns
• Statistics
10. InnovizeIT for DB2 – Product Overview
10 www.InnovizeIT.biz
• Tables w No Statistics
• Indices w No Statistics
• Tables w old Statistics
• Indices with old Statistics
• Structure
• TableSpaces w LockRule <> Any
• Tables with BPool=32K and Record Length<500
• TableSpaces w Active pages>90%
• Indices with more than 20 Extensions
• Indices w Levels > 3
• TableSpaces with no tables
• Tables with no cluster index
• Shared Buffers
4. Maintenance
• Tables w records not in place > 10%
• Cluster indexes w records not in place > 10%
• Indices w pseudo delete entries > 10%
• Indices with a high LeafPage Distance
• Tables w no Compress
• Tables w low Compress %