Introduction
Computer software written for the purpose of managing data bases is being termed as database management system. The activity for which it is being designed includes organization, storage, retrieval and management of data stored in the given database. A database management system uses a data modeling language that describes the scheme of data to be stored and it has to be in accordance with the data model being used by that database.
The popular data models are hierarchical, network, relational and network data model out of which relational data model is most widely used. This model has been introduced by E.F.Codd in 1970 and is the building block of most widely used commercial and open source databases available. The scheme it used is that data is stored in the form of tables and relationship among data is also stored in similar tables. DB2, mySQL, Sybase, Ingres, Oracle, Informix, IMS, Foxpro, SQL Server, Gemstone, Objectivity/DB, Versant etc are the popular databases used worldwide. With the use of database management system a corporate could enhance the use of its strategic data.
DB2- Description (Hardware/Software Platforms)
IBM’s DB2 has been specifically designed to serve different operating system platforms. DB2 has been used popularly in competition with Oracle’s products for UNIX based system and for Windows based System it compete Microsoft Access. Among IBM’s products DB2 is said to hold major market share and is considered superior performance wise.
DB2 products are not only available for Virtual Machine (VM) operating Systems, AS/400 systems and mainframe OS/390 but it also has products that could work cross-platform, i.e. for Linux, HP-UX, Solaris and OS/2 etc. The databases in DB2 could be accessed from any of the application programs by using the interfaces of Microsoft’s Open Database Connectivity (ODBC), Java Database connectivity (JDBC) or Common Object Request Broker Architecture (CORBA). (Elizabeth Holland Kern, Isaac Yassin, 2005)
DB2 Architecture
Despite being a Relational Database Management System, DB2, physically is a system comprising a number of address spaces and intersystem communication links that work together to provide services of a relational database management system. It has a number of sub systems each having three to five tasks. These tasks start from user console and run themselves in the address space which is a portion of central Processing Unit (CPU).
Among all the Address Spaces it has, the first address space is called Database Service Address Space (DBAS) that provides the database capability to manipulate the DB2 data structures. By default this address space is being called DSNDBM1. The functionality here is the management of buffers and execution of Structured Query Language (SQL), in short it manages the actual logic of the DBMS. To perform the mentioned functionality DBAS has three components designed to perform specific tasks. These components are Relational Data System (RDS), Data Manager (DM) and Buffer Manager (BM).
The second address space is System services Address Space (SSAS). This address space has the responsibility of co-coordinating the links DB2 requires to the other sub-systems. Other major responsibility of this address space includes managing log activities ranging from physical logging to taking care of log archives. By default it called DSNMSTR. It registers the starting log of DB2.
Intersystem Resource Lock Manager is the third address space where management of all DB2 locks is being done. It’s called IRLMPROC by default and its functionality also includes deadlock detection.
There is an optional address space called Distributed Data Facility (DDF) that is being required when you want distributed database functionality. It is activated when one DB2 subsystem intends to query another DB2 subsystem that have been partitioned geographically or simply at remote locations.
There is also a dedicated address space designed for the execution of stored procedures and user-defined functions. They are called Stored Procedure Address Spaces (SPAS). They are available in ranges from one to multiple SPAS available on same system based on the version of DB2 being used. To handle multiple functionalities provided by DB2 these five address spaces are used.
Engine dispatch able units (EDUs) are responsible for performing various tasks such as processing database application requests, reading database log files, and flushing log records from the log buffer to the log files on disk. Typically the DB2 server handles this as a separate EDU per task. (Shashank Kharche, 2008)
Product Features
IBM offers a number of editions for DB2 with several different licensing agreements with the ease for customers that they are required to pay only for the features they actually require which are known as reduced-feature edition. A few examples of such offers include Workgroup, Express and Enterprise Edition. The most popular edition is DB2 Data Warehouse Enterprise Edition. It has been designed for managing mixed workload i.e. handling both Online Transactional Processing (OLTP) and data warehousing with business intelligence (BI). These business intelligent features include ETL, data mining, OLAP acceleration and other analysis.
Database Integrity
This database along with all of its exceptional features could successfully provide cross-platform data movement by using IBM’s Distributed Relational Database Architecture (DRDA) strategy but it has no mechanism to deal with cross-platform referential integrity. All the IBM’s structured Query Language (SQL) databases that are in market have no support of referential integrity for cross-platform i.e. hardware or software. To enforce referential constraints one has to closely observe the requirements and code accordingly.
But when it’s a matter of maintaining integrity at a specific platform for instance, incase of System z and the new System z9™, z/OS IBM has its product DB2 perfectly collaborating with these type of hardware.
The foundation for the traditional strengths for data serving on the mainframe lays with the tight integration that System z and z/OS share with DB2 for z/OS. DB2 for z/OS is written to exploit the System z platform and as a result can offer advanced features and function. IBM DB2 for z/OS delivers rich function for highly scalable, industry-leading, high availability, IT infrastructure for your enterprise data and on demand business applications. The combined power and capacity of IBM System z with the high performance and availability of the z/OS operating system and the strength of the DB2 for z/OS data server can expand and extend your IT infrastructure and the business value of your data.(IBM Red Books)
Data Availability & Recovery Services
Most flavors of DB2 prefers Availability of data over its recoverability, they advocate the fact that although quick recovery is crucial but to meet business goals those solutions that focus on data integrity are desired more. They support the business related applications and help running maintenance processes, advocating the fact that although quick recovery is crucial but a solution focusing on data integrity is more likely to support business applications and maintenance processes.
When applications are designed keeping in mind these points they are likely to help achieve business goals in alignment with services provided to the customers. Parallel Sysplex® when works in collaboration with DB2, designed to support version upgrades and ability to provide potentially highest availability is said to meet customer’s expectations more effectively.
Security and Authorization Services
The ability to identify and authenticate users belonging to a system system level security is being implemented that controls the access given to the system resources. DB2 works in coherence with different platforms and in case of z/OS it incorporates a Secure Way Security Server having different components like Resource Access Control Facility (RACF) that helps in securing system and business data and applications that access from outside.
Transactional Level Security
When two transactions have to be carried in isolation from every where transaction level security is being introduced. It uses either the Secure Socket Layer (SSL) that enables a private channel between clients or servers where data integrity is maintained for messages and authentication for session partners is provided. It uses public and private key encrypting techniques. Another protocol that is being incorporate is the Secure Electronic Transaction (SET) which is an open standard very popular in transactions involving card payments over the internet. This technique also uses encryption and provides the services of authentication, integrity of data and its privacy.
Transaction Management
DB2 has a Universal Database transaction Manager that operates with assigning identities the independent transactions; it is responsible for the successful completion or failure of these transactions and monitors them as they progress. There is also a transaction manager database where all the information related to a transaction is being stored.
The database manager provides transaction manager functions that can be used to coordinate the updating of several databases within a single unit of work. The database client automatically coordinates the unit of work, and uses a transaction manager database to register each transaction and track its completion status. (IBM)
Incase Universal Database transaction Manager is to be used with non-Universal Databases an XA-compliant transaction Manager should be used.
Services to Promote Data Independence
DB2 has two interfaces, either to use it from command line or use the Graphical user interface, the former requires a good knowledge of the product. The GUI based interface has a Java Client that makes it a multi-platform entity. It supports Structured Query Language SQL and XQuery with the implementation of XML data Storage that enables it to store XML as XML supporting faster query processing.
An XML application can interact with the DB2 Server through the XML interface using the XQuery language. XQueries typically access the native XML store. XQuery is supported as a standalone query language independent from SQL. (Nicola, Linden)
Programming Language Interface
DB2 provides Application Programming interfaces (APIs) for.NET, Java, Python, Perl, PHP, Ruby, C++, C, REXX, PL/I, COBOL, RPG, FORTRAN and a number of other languages. It also has capability to get integrated with development environments like Eclipse and Visual Studio.NET.
Distributed system Support
DB2 is cross-platform and likely to be used in cross platform enviornmnets. It work on Linux, UNIX, Windows based servers, z/OS etc with interfacing provided by Java Database Connectivity (JDBC) or ADO.NET etc.
Evaluation of the database
DB2 has been widely used world wide. It has been desired to introduce autonomic computing for relational databases and the current features present in DB2 just represent a glimpse of tremendous functions that it could sustain.
Future releases of DB2 UDB will feature key infrastructure capabilities that will allow DB2 UDB to evolve to the next level of system automation and self-control by allowing a large set of operations, configuration changes, and maintenance utilities to run concurrently with online systems, and provide enhanced monitoring and reporting of system activity and resource utilization. (Lightstone, Lohman, Zilio).
References
Bruni, P., Iczkovits, J., Naidoo, R., Pimental, F., Sane, S.Data Integrity with DB2 for z/OS. Web.
IBM. (2008). DB2 transaction manager. Web.
Kern, H., E., Yassin, I. (2005).DB2. Web.
Kharche, S. (2008). How multithreaded architecture works in DB2 9.5. Web.
Lightstone, S., S., Lohman, G., Zilio, D.Toward Autonomic Computing with DB2 Universal Database. Web.
Nicola, M., Linden, V., D.,B. Native XML Support in DB2 Universal Database Matthias Nicola. Web.