Database Management In z/OSSubmitted by admin on Wed, 2015-12-30 04:08
For enterprise users, mainframes need to interact with human operators and perform general business processing in real time. This involves short and fast units of work, conducted via a usable interface. Add data integrity and atomic transactions to the mix, and there becomes a need to effectively manage these processes – and the data they deal with.
Which is where databases come in.
A database allows for the storing and control of business data. It should provide a single consistent view of the enterprise, so that data can be centrally controlled and managed. Databases record details (or attributes) of particular items (known as entities), and the relationships between different types of entities.
In the stock control area of an application, you might, for example, have Parts, Purchase Orders, Customers and Customer Orders as entities. Each entity would have attributes like Part No, Name, Unit Price or Unit Quantity. Entities could also have relationships between them, such as when a Customer would be related to Orders Placed.
A database management system (DBMS) provides a method for storing and using the business data in the database.
In contrast to early "flat file" systems, a properly designed DBMS reduces the application programming effort involved, and allows more efficient creation, modification of, and access to data. It also provides a greater level of data security and confidentiality. With a DBMS, sensitive data can be isolated to prevent unauthorized applications from seeing it.
A DBMS allows multiple tasks to access and update data simultaneously, while preserving database integrity. This is especially important where large numbers of users access data through an online application. The system provides facilities for the application to update multiple database records. It also ensures that application data in various records remains consistent, even if an application failure occurs.
Using a DBMS, you can change the structure of a logical record by adding or moving data fields without the need to reassemble or recompile each associated application. A properly designed system provides utilities to monitor and tune access to the data. It should also provide utilities that control and implement backup and recovery to prevent the loss of vital business data.
To manage, protect and organize data on z/OS, IBM created distinct types of transaction processors.
Customer Information Control System (CICS)
CICS was released in 1968 as a free online processing system, targeted at utility companies. In the late 1970s, it was given a command-level interface. CICS now supports Virtual Storage Access Method (VSAM) datasets, IMS and DB2 database management systems.
The CICS feature set includes multi-region operation (MRO), function shipping, and dynamic transaction routing. It has support for service-oriented architecture (SOA), event processing, and various Web 2.0 features. CICS currently runs on mainframe systems in more than 90% of Fortune 500 companies, powering ATMs, green screens and webpages.
- CICS can do a lot of work in a small footprint. A single CICS address space can execute millions of transactions while using relatively few resources.
- Dynamic routing and MRO make distributed, highly accessible solutions easy to implement.
- CICS works with major DBMSs, as well as flat files and VSAM.
- It supports SNA, TCP/IP, SOA and has an External Call Interface from non-CICS environments.
- CICS can expose legacy systems for SOA.
On the downside:
- All transactions in the cooperative processing environment must interact smoothly, or the CICS address space may become congested.
- When programs inadvertently overlay memory that doesn’t belong to them, storage overlays may occur and corrupt databases.
- Programming restrictions and requirements to avoid operating system (OS) calls can seriously impede CICS performance.
Information Management System (IMS)
IBM co-designed IMS with Rockwell International in 1966 to track inventories for the Apollo space program. In the 21st century, IMS/Database (IMS/DB) sports a DB2 interface, and can share databases in an IMSPlex (like a Parallel Sysplex). IMS v10 supports SOA, TCP/IP and Java.
On the plus side:
- Application programs are isolated from system code and each other. Malfunctioning transactions are less likely to bring the system down.
- Hierarchical databases (especially Fast Path) are very fast and easy to maintain.
- Data integrity is assured by a utility that retrieves database buffers from a standalone dump (SAD) when the system freezes.
- Very few programming restrictions.
- Applications need to operate in line with IMS' asynchronous nature, e.g. to interact with another subsystem, a transaction has to send a message and terminate, effectively committing database updates.
- The size of system may be limited by IMS’ common storage, which depends on the number of dependent regions, database buffers and defined resources.
- IMS Database navigation requires knowledge of the underlying database structure.
- SOA support is incomplete.
DB2 was the first relational database for the mainframe and arrived with support for Parallel Sysplex and Structured Query Language (SQL). Today, some form of DB2 runs on every major platform, from mainframe systems to Linux, Unix and Windows.
- High performance, industrial-strength relational database.
- Very dynamic system and database configuration.
- DB2's stored procedures can exploit zIIP specialty engines.
- Very scalable.
- Database locking and performance issues can be difficult to diagnose.
- Database utilities sometimes have difficulty sharing access to tables during application activity.
- DB2 data sharing groups often have to grow in parallel for availability, and to avoid problems associated with limited virtual storage.
A database management system must be used in conjunction with properly designed and administered databases as well as well-developed applications to reap the benefits described above.