Main storage database is a root-only database that is kept in main storage throughout system operation. Small tables of reference information-for example timetables, currency conversion tables, interest rate tables are good candidates for implementation of MSDB. It has another good facility i.e., update performance.
Data base updates are not made immediately after each update call. Instead, all updates requested by a given application program are performed at one time, ie., after synchronization point has been reached. In the message processing program, a synchronization point occurs each time the program issues a get-unique call to the I/O PCB. In a batch program, a synchronization point is reached each time the program issues an IMS SYNC call.
There are two different types of MSDB that can be used. These are terminal related MSDBs and non-terminal related MSDBs.
The fast path feature provides an additional call that can be used to update data in an MSDB segment occurrence. The field call is used to update the data in a specific field in an MSDB segment occurrence. The normal method used to update a segment occurrence is to retrieve it using a Get-hold call, thus preventing other users from accessing the segment. The segment is then updated and the lock on the record is removed. In order to increase performance, the field call allows several users to access the same MSDB segment occurrence at the same time by allowing applications to update the segment occurrence at the field level.
In a terminal related MSDB, each segment occurrence in the data base is owned by a specific logical terminal. The key of each MSDB record occurrence consists of the logical terminal name of its owner. However, the logical terminal name does not reside in the segment occurrence itself; the logical terminal name simply serves as the mechanism for locating individual segment occurrences in the MSDB. This arrangement is appropriate when each terminal requires its own dedicated storage area, an example is cash-issuing system, in which a record must be kept for each terminal of the cash on hand at that terminal.
In a fixed terminal-related MSDB, there is a separate segment occurrence in the database for each logical terminal. Occurrences cannot be inserted or deleted; they can be retrieved and updated only. In a dynamic terminal-related MSDB, an application program is allowed to insert and delete the segment occurrences that is related to the logical terminal invoking the program.
With a non-terminal-related MSDB, segment occurrences are not associated with specific logical terminals. A fast path application program can read and update any segment occurrence in the database. The key can be chosen in any desired manner by the DBA. The DBA can use the logical terminal name as a record key, in which case the logical terminal name does not reside in the segment itself. Alternately, the DBA can choose the key all or part of the segment’s sequence field.
If you have any doubts or queries related to this chapter, get them clarified from our Mainframe experts on IBMMainframer Community!