IBM DB2
From Wikipedia, the free encyclopedia
DB2 is one of IBM's lines of relational database management system (or, as IBM now calls it, data server) software products within IBM's broader Information Management Software line. Although there are different "editions" and "versions" of DB2 which run on devices ranging from handhelds to mainframes, most often DB2 refers to DB2 Enterprise Server Edition or the top-of-the-line DB2 Data Warehouse Edition (DB2 DWE), which runs on Unix, Windows or Linux servers; or DB2 for z/OS. Beside DB2 there exists Informix, which was acquired by IBM in 2001.
Contents |
DB2 has a long history and was what some consider to be the first database product to use SQL.
The name DB2 was first given to the Database Management System or DBMS in 1983 when IBM released DB2 on its MVS mainframe platform. Prior to this, a similar product was named SQL/DS on the VM mainframe. The earlier System 38 platform also contained a relational DBMS. System Relational, or System R, was a research prototype developed in the 1970s. DB2 has its roots back to the beginning of the seventies when Dr. E.F. Codd, working for IBM, described the theory of relational databases and in June of 1970 published the model for data manipulation. To apply the model Codd needed a relational database language which he named Alpha. At the time IBM didn't believe in the potential of Codd's ideas, leaving the implementation to a group of programmers not under Codd's supervision, who violated several fundamentals of Codd's relational model; the result was Structured English QUEry Language or SEQUEL. IBM soon changed the name to the current acronym, SQL, short for Structured Query Language, because SEQUEL had already been trademarked.
Historically, it is interesting to note that when Informix acquired Illustra and made their database engine an object-SQL DBMS by introducing their Universal Server, both Oracle and IBM followed suit by changing their database engines to be capable of object-relational extensions. Moreover, in 2001, IBM bought Informix and in the following years incorporated Informix technology into the DB2 product suite. Today, DB2 can technically be considered to be an object-SQL DBMS.
For many years DB2 was exclusively available on IBM mainframes. Later IBM brought DB2 to other platforms, including OS/2, UNIX and Windows servers, then Linux (including Linux on zSeries) and PDAs. This process was mainly undertaken through the 1990s. The inspiration for DB2's implementation details came in part from IBM DL/1 and IBM IMS, both initially hierarchical and then later network (or CODASYL) databases. DB2 is also embedded in the i5/OS operating system for IBM System i (iSeries, formerly the AS/400), and versions are available for z/VSE and z/VM. An earlier version was available for OS/2 and was called DB2/2.
Over the years DB2 has driven numerous hardware enhancements, particularly on IBM System z with such features as Parallel Sysplex data sharing. In fact, DB2 UDB Version 8 for z/OS now requires a 64-bit system and cannot run on earlier processors, and DB2 for z/OS maintains certain unique software differences in order to serve its sophisticated customers. Although the ultimate expression of software-hardware co-evolution is the IBM mainframe, to some extent that phenomenon occurs on other platforms as well, as IBM's software engineers collaborate with their hardware counterparts.
In the mid-1990s, IBM released a clustered DB2 implementation called DB2 Parallel Edition, which initially ran on AIX. This edition allowed scalability by providing a shared nothing architecture, in which a single large database is partitioned across multiple DB2 servers that communicate over a high-speed interconnect. This DB2 edition was eventually ported to all Linux, UNIX, and Windows (LUW) platforms and was renamed to DB2 Extended Enterprise Edition (EEE). IBM now refers to this product as the Database Partitioning Feature (DPF) and sells it as an add-on to their flagship DB2 Enterprise product.
In mid 2006, IBM announced "Viper," the codename for DB2 9 on distributed platforms and for DB2 9 on z/OS. IBM claims that the new DB2 will be the first relational database to store XML "natively". Other enhancements include OLTP-related improvements for distributed platforms, business intelligence/data warehousing-related improvements for z/OS, more self-tuning and self-managing features, additional 64-bit exploitation (especially for z/OS), stored procedure performance enhancements for z/OS, and continued convergence of the SQL vocabularies between z/OS and distributed platforms.
DB2 9 on distributed platforms began shipping worldwide on July 28, 2006, with pricing starting at $4,874 per processor or $165 per user (minimum of 5 users) for DB2 9 Express, including one year of support.[1] DB2 for z/OS pricing starts at about $4,450 per month, including support.
DB2 is available in several "editions," or licensing arrangements. By opting for a reduced-feature "edition," IBM allows customers to avoid paying for database features which they do not need. Sample editions include the Express, Workgroup, and Enterprise Edition. The most sophisticated edition for Linux/UNIX/Windows is DB2 Data Warehouse Enterprise Edition, or DB2 DWE for short. This edition is intended for mixed workload (OLTP and data warehousing) or business intelligence (BI) implementations. DB2 DWE includes several "BI" features such as ETL, data mining, OLAP acceleration, and in-line analytics.
DB2 for z/OS is available under its own licensing terms. Starting with Version 8, IBM brought DB2 for z/OS and for the other platforms into much closer alignment. (Previously there were significant differences in SQL vocabularies, for example.) DB2 for z/OS has some exclusives — notably Multi-Level Security (MLS), extremely large table sizes, and hardware-assisted compression — owing to its special environment and the demanding needs of its customers. DB2 for z/OS has always been known for its leading OLTP performance and capabilities, and for its reliability and availability to support mission-critical business operations, but the z/OS version is now starting to acquire BI features as well, such as materialized query tables (MQTs) and star schema. Oracle's CEO Larry Ellison commented that DB2 for z/OS is the one competitive database he respects and admires.[2]
On January 30th, 2006, IBM released a no-charge version of DB2 called DB2 Express-C. This was an expected response to the recently announced free versions of Oracle 10g and Microsoft SQL Server. Unlike Microsoft or Oracle's free editions, Express-C has no limit on number of users or on database size. While versions 8.2 and 9.1 of DB2 Express-C imposed hardware limits on the server on which it ran, DB2 Express-C 9.5 can run on Windows and Linux machines of any size, but the database engine will not utilize more than two CPU cores and 2GB RAM. In 2007, IBM introduced a yearly support subscription called the Fixed Term License (FTL), which offers a year of telephone support for Express-C for US$3000 per server. Purchasing the FTL also allows the DB2 Express-C engine to use up to four CPU cores and 4GB RAM. Users of DB2 Express-C who don't purchase an FTL subscription can receive support and assistance on a free, public web forum staffed by IBM technicians and other DB2 users.
Historically, prime position in the database management software market has been held by Oracle. On May 3, 2004, IBM's head of database development and sales, Janet Perna, claimed their main competitors were Oracle in the context of advanced transaction handling and Teradata in the context of decision support systems (e.g. data warehousing). However, there are competitors in smaller markets, including Microsoft SQL Server (which is only available for Microsoft Windows), open source products such as FirebirdSQL, PostgreSQL and MySQL, and niche players such as Sybase and MaxDB.
In the clustered DBMS arena, where databases can grow to many terabytes, IBM's Database Partitioning Feature (DPF) is often pitted against Oracle Real Application Clusters (RAC), a shared-disk implementation formerly known as Oracle Parallel Server (OPS).
DB2 for z/OS arguably has fewer direct competitors, but Oracle is attracting customers to its Linux on zSeries products, although apparently not at the expense of DB2. CA-Datacom and Software AG's Adabas are competing relational databases for z/OS, and there are certain niche products as well (Model 204, SUPRA SQL[3], NOMAD, etc.) Oracle has a 31-bit RDBMS available for z/OS. Non-relational databases that "compete" include IMS, and CA-IDMS, among others.
IBM and DB2 are frequently at or near the top of the TPC-C and TPC-H industry benchmarks published on the Transaction Processing Performance Council's website.
In 2006 IBM stepped up its competition in the emerging data warehouse appliance market by releasing a product line of pre-configured hardware/software systems combining DB2 Data Warehouse Edition with either IBM system p (AIX) or IBM system x (Linux) servers. This family of "warehouse appliance-like" systems was given the name IBM Balanced Configuration Unit, or BCU, and is aimed at the warehouse appliance market typified by Netezza and DATAllegro, but it differentiates itself in that it uses the full-featured version of DB2 instead of a single-purpose warehouse-oriented RDBMS.
DB2 can be administered from either the command-line or a GUI. The command-line interface requires more knowledge of the product but can be more easily scripted and automated. The GUI is a multi-platform Java client that contains a variety of wizards suitable for novice users. DB2 supports both SQL and XQuery. DB2 has native implementation of XML data storage, where XML data is stored as XML(not as relational data or CLOB data) for faster access using XQuery.
DB2 has APIs for .NET CLI, Java, Python, Perl, PHP, Ruby, C++, C, REXX, PL/I, COBOL, RPG, FORTRAN, and many other programming languages. DB2 also supports integration into the Eclipse and Visual Studio .NET integrated development environments.
An important feature of DB2 computer programs is the error processing. The SQL communications area (SQLCA) structure is used within the DB2 program to return error information to the application program after every API call for an SQL statement. The error diagnostic is held in the field SQLCODE within the SQLCA block.
The SQL return code values are:
- 0 means successful execution.
- Positive means successful execution with warnings. An example is +100 which means no rows found.
- Negative means unsuccessful with an error. An example is -911 which means a lock timeout (or deadlock) has occurred, triggering a rollback.
See SQL return codes for a more comprehensive list of the SQLCODEs.
Janet Perna was General Manager of IBM Software Group's Information Management division until her retirement from IBM in July, 2005. She was replaced by Ambuj Goyal.[4]
- ^ IBM press release June 8, 2006
- ^ "In Larry's Own Words", October, 2003
- ^ SUPRA 4GL
- ^ Ambuj Goyal
- IBM DB2 9 Demo
- DB2 Tutorial
- IBM DB2 Support Forums
- DB2 Magazine
- DB2UDB Blog
- DB2 product family home page
- DB2 Data Warehouse Edition home page
- DB2 Information Center
- DB2 Express-C resources
- DB2 resources for developers
- DB2 XML Wiki (pureXML)
- International DB2 Users Group
- Implement OSGi components using DB2 Everyplace, WebSphere MQ Everyplace and WebSphere Everyplace Device Manager -- See also OSGi Alliance
- Blog about DB2 for z/OS
- DB2usa - Links to DB2 for z/OS documents available on the web
- Portal containing DB2 technical information and blog
- IBM Webcast:Integrating Open Source into your Business
- DB2 Content Manager OnDemand
- DB2 Enterprise Content Management
- DB2 Enterprise Content Management
|
|
|
|---|---|
| Corporate Directors | Cathleen Black, Kenneth I. Chenault, Juergen Dormann, Michael L. Eskew, Shirley Ann Jackson, Minoru Makihara, Lucio A. Noto, James W. Owens, Samuel J. Palmisano, Joan E. Spero, Sidney Taurel, Lorenzo H. Zambrano |
| Hardware Products | Cell microprocessor · Mainframe · PC · POWER |
| Software Brands | Information Management · Lotus · Rational · Tivoli · WebSphere |
| Consulting and IT Services | IBM Global Services |
| See also | IBM India · IBM PC compatible · IBM Public License · History of IBM · List of IBM acquisitions and spinoffs · List of IBM products |
| Annual Revenue: |
|
|
|
|
|---|---|
| Database models · Database normalization · Database storage · Distributed DBMS · Referential integrity · Relational algebra · Relational calculus · Relational database · Relational DBMS · Relational model · Transaction processing | |
| Concepts | Database · ACID · Null · Candidate key · Foreign key · Primary key · Superkey · Surrogate key |
| Objects | Trigger · View · Table · Cursor · Log · Transaction · Index · Stored procedure · Partition |
| SQL | Select · Insert · Update · Merge · Delete · Join · Union · Create · Drop · Begin work · Commit · Rollback · Truncate · Alter |
| Implementations | Relational · Flat file · Deductive · Dimensional · Hierarchical · Network · Object-oriented · Object-relational · Temporal · XML data stores |
| Components | Concurrency control · Query language · Query optimizer · Query plan · ODBC · JDBC |
| Database products: Object-oriented (comparison) · Relational (comparison) | |