DLI Vs BMP

Answer Posted / ben richardson

BMP is a bit of a misnomer because only some BMP will
access message queues. When they do they can be WFI or non-
WFI. WFI will run until it is shut down by command or
message (special instruction in the message to shut down).
Non-WFI BMP will run until status code = QC (I remember it
as Quit Calling). The messages are exhausted and the BMP
ends. This is typically used for triggering massive
updates from an order entry system requiring that parts
master explosion and shop floor inventory transfers occur
in batch or by BMP inserting many discrete transactions,
limited by class to only a few MPP regions so as to prevent
slowing down transactions originated by terminals.

DLI can access databases on-line or off-line, depending on
whether you have enabled BLDS Block Level Data Sharing via
the IRLM. You cannot share to DLI using the default PI
Locking (program isolation). When DLI is used for updates
it will write logs on IEFRDER. When it fails you must
sometimes run log term utility in dupe mode (disk log ran
out of space), then run the repaired log into BBO Batch
Back-Out via IMSLOGR DD with a new IEFRDER DD dataset to
log the backout. This becomes more complicated when DLI is
also updating DB2 via connection of the SSM or DDITV02
parameters. Connect the DLI BBO in the same way but be
aware DDITV02 will not be read unless DFSBBO00 is running
as an application into DSNMIN10... getting too weird huh?

Anyway, if the IRLM is running and databases are on-line
with SHRLEVEL=3, then BLDS will work. Dynamic allocation in
the DLI address space should be used where the RECONS and
the DBD DDNAMES are in a single MDALIB... Protection should
also be considered in the form of FORCER (forced
registration) in the production RECON.

Why not do this? I'm glad you asked. When DLI fails you
will have retained locks. On-line access will be
restricted until BBO succeeds. Your 24x7 availability will
be impacted. BMP backs out to the last chkpt and can
restart with CHKPT=LAST, no other is allowed when BLDS is
sharing with multiple IMS systems or with DLI batch. This
is because merging the logs by timestamps is required and
you cannot be selectively integrating a restart of any UOW
which has already commited updates in a checkpoint. Once
the locks were released the data was updatable by other
UOWs in either MPP, BMP, or DLI modes... from same or
different address space buffers (DFSVSAMP DD). BLDS
forfeits full backout of BMP or DLI jobs when applications
make mistakes and want a do-over.

In my 30 years of IMS at AT&T, AMEX, PCS/CVS Caremark I
have found that DLI is less and less desirable and BMP can
always be used instead. BMP will improve performance where
data concurrency is desired for readers, since the updated
buffers can be read uncommited by PROCOPTs GO, GOT, GOTP.
Also consider that large dedicated buffers in the control
region exceed your batch DLI address space region in many
cases and allow BMP to read tons of database records
without I/O. DLI is guaranteed to use I/O for every new
record and cannot have good buffer hits unless there is
frequent access to the same reoord AND no on-line UOW is
invalidating the buffers through the IRLM.

My conclusion -- Don't use DLI except for batch only
databases... databases that are never used on-line. That
is pretty strong, but that's my opinion.

Is This Answer Correct ?    6 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What is acbgen process?

693


how do you bind the cobol with db2

2315


What is batch dl/i mode?

2885


What are the advantages of a hierarchical database?

2752


What are the main control blocks available in ims db?

638






What is bmp mode?

3117


What are the objectives of dbms in ims?

650


Define pcb?

647


Explain the maximum number of pcbs allowed in a psb?

3138


What are the disadvantages of a hierarchical database?

2763


What is meant by mpp mode?

593


Explain acbgen process?

639


What is the maximum of key fields and search fields allowed in a segment?

568


Explain psbgen process?

715


What is meant by batch dl/i mode?

579