06.01.2013 Views

Download PDF - IBM Redbooks

Download PDF - IBM Redbooks

Download PDF - IBM Redbooks

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

In addition, DB2 10 offers more options to offload workload to System z Integrated<br />

Information Processors (zIIPs). The following changes have been made:<br />

► Parallel queries. Parallel query workload has been zIIP-eligible since the release of DB2 9.<br />

With DB2 10, the number of statements eligible for parallelism is increased. For example,<br />

multirow fetch no longer prevents parallelism. Parallel groups can now contain work file<br />

access, and in general, the optimizer has more options to find an efficient parallel access<br />

path, which is beneficial for SAP Business Warehouse environments.<br />

► RUNSTATS processing. A large portion of RUNSTATS processing is zIIP eligible with<br />

DB2 10. For simple RUNSTATS statements, this portion can go up to 99.9%.<br />

► Buffer pool prefetch (sequential, list, and dynamic prefetch) and deferred write operations<br />

are also eligible for zIIP with DB2 10.<br />

► The overall percentage of distributed data facility (DDF) workloads that are eligible for zIIP<br />

execution has increased 55% - 60% with DB2 10.<br />

3.2 Features explicitly used by SAP<br />

3.2.1 INLINE LOB<br />

This section highlights the features that require changes to the SAP application. Although<br />

most of the usage is done transparently for the customer by changes in the SAP code, some<br />

features require customer actions. This section describes the necessary steps and the<br />

available options.<br />

LOBs are implemented in DB2 for z/OS by using a separate auxiliary table per LOB column in<br />

a special LOB table space. The base row contains a row identifier (RID) that points to the<br />

auxiliary table, which is then used to access the LOB values. Therefore, every access to a<br />

row, including LOB columns, results in several additional buffer pool, table space, and index<br />

accesses.<br />

LOBs are becoming more common within SAP. Because of the automatic type mapping of the<br />

SAP Data Dictionary (DDIC), all string data types and all variable length data types, whose<br />

defined maximum length exceeds a certain size, are translated to LOBs when included into<br />

database tables. Therefore, typically the actual size of the LOB values does not exceed the<br />

technical limits for storage in the base row. The average LOB size of SAP applications is in<br />

the range 1500 - 3000 bytes. 1 Because there is much overhead in LOB access and several<br />

other differences regarding LOB handling in DB2 (for example, no compression is available<br />

for LOB table spaces), considerable potential is possible for optimizing performance and<br />

space efficiency.<br />

DB2 10 introduces LOB inlining. With LOB inlining, a portion of each LOB column is allowed<br />

to be stored in the base table spaces. The handling of this INLINE portion of the LOB value is<br />

similar to the VARCHAR columns. Only if the LOB value exceeds the defined INLINE length,<br />

a row in the auxiliary table is allocated.<br />

SAP has performed extensive analysis on the optimum page size and devised a default<br />

INLINE length of 2000 characters. This length is the default for SAP Java application servers<br />

and most of the tables in the SAP Advanced Business Application Programming (ABAP)<br />

stack. For some well-known SAP tables (such as REPOLOAD and DYNPLOAD), specific<br />

values for LOB INLINE length are used.<br />

1 From the article “SAP on DB2 10 for z/OS - Being More Productive, Reducing Costs and Improving Performance,”<br />

at: http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/005c6b33-aaf0-2d10-fcbb-b42e89ac5791<br />

Chapter 3. Features of DB2 10 and the zEnterprise System as applied to SAP 35

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!