Modifying the server configuration member for IMS Direct

Enable the IMS Direct parameters in the server configuration member.

About this task

This IMS Direct feature provides map reduce and parallelism support for accessing native IMS files. This support bypasses the requirement of having to use native IMS API calls by reading the IMS database files directly, similar to how an unload utility may work. This provides a significant increase in performance and reduced elapsed time in processing analytical type queries.

When an IMS SQL query is run, the SQL engine for the server will determine if the request is best to be run using IMS Direct (native file support) or if IMS APIs are required. The determination is based on database and file types supported as well as the size of the database. Virtual tables of the IMS segments are required just as before.

The following types of IMS databases are currently supported:
  • HIDAM/VSAM
  • HDAM/VSAM
  • PHDAM/VSAM
  • PHIDAM/VSAM

Compressed IMS databases are not currently supported by this enhancement.

The server configuration member is shipped in data set member hlq.SAZKEXEC(AZKSIN00) and copied to hlq.AZKS.SAZKEXEC(AZKSIN00) by the job in the AZKGNMP1 member for you to make your local modifications.

Procedure

  1. In the AZKSIN00 member, locate the comment “Enable IMS Direct Map Reduce.”
  2. Enable the IMS Direct parameters by changing if DontDoThis to if DoThis. Set the parameter IMSDIRECTENABLED to YES.
    if DoThis then
      do
      "MODIFY PARM NAME(IMSDIRECTENABLED)    VALUE(YES)"
      "MODIFY PARM NAME(IMSDIRECTBUFFERSIZE) VALUE(1024)"
      "MODIFY PARM NAME(ACIINTSEGMP256)      VALUE(200)"
      "MODIFY PARM NAME(TRACEIMSDBREFRESH)   VALUE(YES)"
      "MODIFY PARM NAME(TRACEIMSDIRSTATS)    VALUE(YES)"
    
      "DEFINE IMSDBINFO", 
             "IMSID(xxxx)",
             "MODBLKS(your.MODBLKS)",
             "ACBLIB(your.ACBLIB)",
             "DFSRESLB(your.SDFSRESL)",
             "IMSDA(your.dynamic.allocation.lib)",
             "RECON1(your.RECON1)",
             "RECON2(your.RECON2)",
             "RECON3(your.RECON3)"                                         
    end
    The following table lists the parameters for configuring support for IMS Direct data stores:
    Parameter Description Valid values
    ACIINTSEGMP256 Required since IMS Direct uses the 256K ACI pool. Numeric value. Default is 200.
    IMSDIRECTBUFFERSIZE Specified in KB, and should be greater than the size of the largest complete IMS database record (root + all dependent segments). Numeric value.
    IMSDIRECTENABLED Enable IMS Direct support.
    YES
    NO
    (default value)
    TRACEIMSDBREFRESH Generate trace message when IMS Direct map reduce discovery processing is performed.
    YES
    NO
    (default value)
    TRACEIMSDIRSTATS Produce runtime statistics at the end of IMS Direct processing of a data set.
    YES
    NO
    (default value)
    The following table lists the parameters used to define the IMS data set names:
    Parameter Description Valid values
    ACBLIB ACBLIB data sets contain the application control blocks (ACBs), which describe IMS applications, and data management blocks (DMBs), which describe databases and the applications that can access them. your.ACBLIB
    DFSRESLB Load library that contains the major IMS modules. your.SDFSRESL
    IMSID The IMS subsystem identification. Up to 4 character ID.
    IMSDA Dynamic Allocation Library for IMSDBs and RECONs. your.dynamic.allocation.lib
    MODBLKS Used to support dynamic resource definition. Contains the APPLCTN, DATABASE, RTCODE, and TRANSACT macros. your.MODBLKS
    RECON1 Primary RECONciliation dataset, which holds all of the resource information and event tracking information that is used by IMS. your.RECON1
    RECON2 An active copy of RECON1. your.RECON2
    RECON3 Spare RECON to be used when RECON1 or RECON2 are not useable. your.RECON3