Chapter 1: Introduction to DB2
DATABASE 2 (DB2) for Linux, UNIX, and Windows is a data server developed by IBM. Version 9.5, available since October 2007, is the most current version of the product, and the one on which we focus in this book.
In this chapter you will learn about the following:
The history of DB2
The information management portfolio of products
How DB2 is developed
DB2 server editions and clients
How DB2 is packaged for developers
Syntax diagram conventions
1.1 Brief History of DB2
Since the 1970s, when IBM Research invented the Relational Model and the Structured Query Language (SQL), IBM has developed a complete family of data servers. Development started on mainframe platforms such as Virtual Machine (VM), Virtual Storage Extended (VSE), and Multiple Virtual Storage (MVS). In 1983, DB2 for MVS Version 1 was born. "DB2" was used to indicate a shift from hierarchical databases—such as the Information Management System (IMS) popular at the time—to the new relational databases. DB2 development continued on mainframe platforms as well as on distributed platforms. Figure 1.1 shows some of the high-lights of DB2 history.
In 1996, IBM announced DB2 Universal Database (UDB) Version 5 for distributed platforms. With this version, DB2 was able to store all kinds of electronic data, including traditional relational data, as well as audio, video, and text documents. It was the first version optimized for the Web, and it supported a range of distributed platforms—for example, OS/2, Windows, AIX, HP-UX, and Solaris—from multiple vendors. Moreover, this universal database was able to run on a variety of hardware, from uniprocessor systems and symmetric multiprocessor (SMP) systems to massively parallel processing (MPP) systems and clusters of SMP systems.
Even though the relational model to store data is the most prevalent in the industry today, the hierarchical model never lost its importance. In the past few years, due to the popularity of eXtensible Markup Language (XML), a resurgence in the use of the hierarchical model has taken place. XML, a flexible, self-describing language, relies on the hierarchical model to store data. With the emergence of new Web technologies, the need to store unstructured types of data, and to share and exchange information between businesses, XML proves to be the best language to meet these needs. Today we see an exponential growth of XML documents usage.
IBM recognized early on the importance of XML, and large investments were made to deliver pureXML technology; a technology that provides for better support to store XML documents in DB2. After five years of development, the effort of 750 developers, architects, and engineers paid off with the release of the first hybrid data server in the market: DB2 9. DB2 9, available since July 2006, is a hybrid (also known as multi-structured) data server because it allows for storing relational data, as well as hierarchical data, natively. While other data servers in the market, and previous versions of DB2 could store XML documents, the storage method used was not ideal for performance and flexibility. With DB2 9's pureXML technology, XML documents are stored internally in a parsed hierarchical manner, as a tree; therefore, working with XML documents is greatly enhanced. In 2007, IBM has gone even further in its support for pureXML, with the release of DB2 9.5. DB2 9.5, the latest version of DB2, not only enhances and introduces new features of pureXML, but it also brings improvements in installation, manageability, administration, scalability and performance, workload management and monitoring, regulatory compliance, problem determination, support for application development, and support for business partner applications.
Note - The term "Universal Database" or "UDB" was dropped from the name in DB2 9 for simplicity. Previous versions of DB2 database products and documentation retain "Universal Database" and "UDB" in the product naming.
Also starting in version 9, the term data server is introduced to describe the product. A data server provides software services for the secure and efficient management of structured information. DB2 Version 9 is a hybrid data server.
Note - Before a new version of DB2 is publicly available, a code name is used to identify the product. Once the product is publicly available, the code name is not used. DB2 9 had a code name of "Viper", and DB2 9.5 had a code name of "Viper 2". Some references in published articles may still use these code names.
Note as well that there is no DB2 9.2, DB2 9.3 or DB2 9.4. The version was changed from DB2 9 directly to DB2 9.5 to signify major changes and new features in the product.
DB2 is available for many platforms including System z (DB2 for z/OS) and System i (DB2 for i5/OS). Unless otherwise noted, when we use the term DB2, we are referring to DB2 version 9.5 running on Linux, UNIX, or Windows.
DB2 is part of the IBM information management (IM) portfolio. Table 1.1 shows the different IM products available.
1.2 The Role of DB2 in the Information On Demand World
IBM's direction or strategy is based on some key concepts and technologies:
Information On Demand (IOD)
Service-Oriented Architecture (SOA)
In this section we describe each of these concepts, and we explain where DB2 fits in the strategy.
1.2.1 On-Demand Business
We live in a complex world with complex computer systems where change is a constant. At the same time, customers are becoming more demanding and less tolerant of mistakes. In a challenging environment like this, businesses need to react quickly to market changes; otherwise, they will be left behind by competitors. In order to react quickly, a business needs to be integrated and flexible. In other words, a business today needs to be an on-demand business.
An on-demand business, as defined by IBM, is "an enterprise whose business processes—integrated end to end across the company and with key partners, suppliers and customers—can respond with speed to any customer demand, market opportunity, or external threat."
IBM's on-demand business model is based on this definition. To support the on-demand model, IBM uses the e-business framework shown in