You are on page 1of 16

Hide

Wikipedia is getting a new lookHelp us find bugs and complete user interface translations
N [
H
oi
td
i e]
c
e[H
e

sl
p
o
mu
es
tw
hit
ih
n
t
gr
a

dns
il
f at
fi
eo
n
rs
e!
n]
t
?

W
e
'
v
e

m
a
d
e

f
e
w

i
m
p
r
o
v
e
m
e
n
t
s

t
o

W
i
k
i
p
e
d
i
a
.
L
e
a
r
n

m
o
r
e
.

IBM DB2
From Wikipedia, the free encyclopedia
Jump to: navigation, search

IBM DB2

Developer(s) IBM

Initial release 1983 (1983)

Development status Active

Written in C, C++

Operating system Cross-platform

Available in English

Type RDBMS
License Proprietary EULA

Website DB2 homepage at ibm.com

The IBM DB2 Enterprise Server Edition is a relational model database server developed by
IBM. It primarily runs on Unix (namely AIX), Linux, system i (formerly as/400), z/OS and
Windows servers. DB2 also powers the different IBM InfoSphere Warehouse editions.
Alongside DB2 is another RDBMS: Informix, which was acquired by IBM in 2001.

Contents
[hide]
• 1 History
• 2 Editions
• 3 Competition
• 4 Technical information
• 5 Error processing
• 6 User Groups
• 7 See also
• 8 References
• 9 External links

[edit] History
DB2 has a long history and is considered by many to have been the first database product to use
SQL (also developed by IBM) although Oracle released a commercial SQL database product
somewhat earlier than IBM did.
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 platform. 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 E.F. Codd, working for IBM, described the
theory of relational databases and in June 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. When IBM
released its first relational database product, they wanted to have a commercial-quality
sublanguage as well, so it overhauled SEQUEL and renamed the basically new language(System
Query Language) SQL to differentiate it from SEQUEL.
Historically, 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 some years DB2, as a full-function DBMS, 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 the mainframe version of DB2's architecture came in part from IBM
DL/I 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 of the code that would become DB2 LUW (Linux, Unix, Windows) was part
of an Extended Edition component of OS/2 called Database Manager. IBM extended the
functionality of Database Manager a number of times, including the addition of distributed
database functionality that allowed shared access to a database in a remote location on a LAN.
Eventually IBM declared that insurmountable complexity existed in the Database Manager code,
and took the difficult decision to completely rewrite the software in their Toronto Lab. The new
version of Database Manager, called DB2 like its mainframe parent, ran on the OS/2 and
RS/6000 platforms, was called DB2/2 and DB2/6000 respectively. Other versions of DB2, with
different code bases, followed the same '/' naming convention and became DB2/400 (for the
AS/400), DB2/VSE (for the DOS/VSE environment) and DB2/VM (for the VM operating
system). IBM lawyers stopped this handy naming convention from being used and decided that
all products needed to be called "product FOR platform" (for example, DB2 for OS/390). The
next iteration of the mainframe and the server-based products were named DB2 Universal
Database (or DB2 UDB), a name that had already been used for the Linux-Unix-Windows
version, with the introduction of widespread confusion over which version (mainframe or server)
of the DBMS was being referred to. At this point, the mainframe version of DB2 and the server
version of DB2 were coded in entirely different languages (PL/S for the mainframe and C++ for
the server), but shared very similar functionality and used a common architecture for SQL
optimization: the Starburst Optimizer.
Over the years DB2 has both exploited and 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," which is the codename for DB2 9 on both distributed
platforms and z/OS. DB2 9 for z/OS was announced in early 2007. IBM claimed that the new
DB2 was 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 virtual storage on z/OS), stored procedure performance
enhancements for z/OS, and continued convergence of the SQL vocabularies between z/OS and
distributed platforms.
In October 2007, IBM announced "Viper 2" which is the codename for DB2 9.5 on the
distributed platforms. There were three key themes for the release, Simplified Management,
Business Critical Reliability and Agile XML development.
In June 2009, IBM announced "Cobra" which is the codename for DB2 9.7 for LUW. DB2 9.7
adds data compression for database indexes, temporary tables, and large objects. DB2 9.7 also
supports native XML data in hash partitioning (database partitioning), range partitioning (table
partitioning), and multi-dimensional clustering. These native XML features allows users to
directly work with XML in data warehouse environments. DB2 9.7 also adds several features
that make it easier for Oracle Database users to work with DB2. These include support for the
most commonly-used SQL syntax, PL/SQL syntax, scripting syntax, and data types from Oracle
Database. DB2 9.7 also enhanced its concurrency model to exhibit behavior that is familiar to
users of Oracle Database and Microsoft SQL Server.
In October 2009, IBM introduced its second major release of the calendar year when it
announced DB2 pureScale. DB2 pureScale is a database cluster solution for non-mainframe
platforms and is ideal for Online Transaction Processing (OLTP) workloads. IBM based the
design of DB2 pureScale on the Parallel Sysplex implementation of DB2 data sharing on the
mainframe. DB2 pureScale provides a fault-tolerant architecture and shared-disk storage. A DB2
pureScale system can grow to 128 database servers, and provides continuous availability and
automatic load balancing.
In February, 2010, IBM announced that DB2 10 for z/OS would enter beta testing with
customers the following month.
In 2009, it was announced that DB2 can be an engine in MySQL. This allows users on the
system i platform to natively access the DB2 under the i operating system (formerly called
os/400), and for users on other platforms to access these files thru the MySQL interface. On the
system i and its predecessors the As/400 and the System/38, DB2 is tightly intregrated into the
operating system, and comes as part of the operating system. It provides journalling, triggers and
many other features.
[edit] Editions
DB2 for Linux, Unix, and Windows has three separate editions: Express Edition, Workgroup
Server Edition, and Enterprise Server Edition. Each of these editions has different groups of
features for different sized workloads. Applications built for lower editions of DB2 are
guaranteed to work on higher editions but at a higher level of performance.
The no-charge version of DB2 is called DB2 Express-C. DB2 Express-C is in some ways similar
to the open source databases such as MySQL and PostgreSQL as it is offered unsupported, free
of charge for unrestricted use including use in production environments. Users needing
enterprise level support and fixpacks must buy any standard DB2 Edition. DB2 Express-C,
however, is based on the same code as other DB2 for Linux, Unix and Windows editions and is
not open source. DB2 Express-C is also similar to the free versions of Oracle database and
Microsoft SQL Server, except that DB2 Express-C has no limit on number of users or on
database size. DB2 Express-C runs on 32 and 64bit Windows, Linux on x86, x64 and POWER
processors, Solaris on x64 CPU and Intel machines running Mac OS X. It can be installed on
machines of any size, but the database engine will use only two CPU cores and 2GB of RAM.
Support is provided on a free, public Web forum. For this edition there are no fixpacks or official
support from IBM. If you need IBM support, you can purchase DB2 Express Edition Fixed Term
License (FTL) which will enable your DB2 Express database server with world wide 24/7
telephone support, fixpacks, usage of 4 GB RAM and up to four CPU cores, high availability
disaster recovery feature, and SQL-based data replication.

DB2 for z/OS (the mainframe) is available in its traditional product packaging, or in the Value
Unit Edition, which allows customers to instead pay a One-Time Charge price.

DB2 for i (the former DB2/400) is the third major incarnation of DB2. It is very closely
incorporated into the operating system of the IBM System i machines.
DB2 also powers IBM InfoSphere Warehouse, which offers data warehouse capabilities.
InfoSphere Warehouse offers several different editions and is available for z/OS, Linux, Unix,
and Windows platforms. It includes several BI features such as ETL, data mining, OLAP
acceleration, and in-line analytics.
[edit] Competition
IDC's Worldwide Database Management Systems 2009–2013 Forecast and 2008 Vendor
Shares[1] ranks Oracle database as the leader in DBMS marketing share, followed by IBM DB2
and then Microsoft SQL Server. Other competitors include open source products such as
Firebird, PostgreSQL, MySQL and Ingres, and niche players such as Sybase and MaxDB.
In 2009, Gartner declared that "IBM DB2 9.7 Shakes Up the DBMS Market With Oracle
Compatibility"[2]. This headline refers to the addition to DB2 of several features that are familiar
to users of Oracle Database, making it easier for people with Oracle Database skills to work with
DB2. These new features include DB2 support for the most commonly used SQL, PL/SQL, and
scripting syntax from Oracle Database. They also include DB2 support for additional data types
and concurrency models.
In the clustered DBMS arena, where databases can grow to many terabytes, IBM offers two
approaches that compete with Oracle Real Application Clusters (RAC): DB2 pureScale and DB2
Database Partitioning Feature (DPF). DB2 pureScale is a shared-disk database cluster solution
that is ideal for high-capacity Online Transaction Processing (OLTP) workloads. DB2 DPF lets
you partition your database across multiple servers or within a large SMP server, which is ideal
for Online Analytical Processing (OLAP) workloads. (Note that DB2 DPF is sold as part of IBM
InfoSphere Warehouse, which is the name for DB2 when it is sold in data warehouse
environments.)
DB2 for z/OS arguably has fewer direct competitors. Oracle is attracting customers to its Linux
on System z products, although apparently not at the expense of DB2. Oracle has a 31-bit
RDBMS available for z/OS (Oracle Database 10g Release 2), but Oracle found it difficult to
compete with DB2's feature set on z/OS. Oracle has announced it will support 10g on z/OS as
long as customers wish, but the company will not introduce future versions of its database
product on z/OS. CA-Datacom and Software AG's ADABAS are competing databases for z/OS,
and there are certain niche products as well (Model 204, SUPRA SQL[3], NOMAD, etc.) Non-
relational databases that "compete" include IMS, and CA-IDMS, among others. At least some
open source databases are ostensibly compatible with z/OS UNIX System Services.
IBM and DB2 are frequently at or near the top of the TPC-C[4] and TPC-H[5] 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.
[edit] Technical information
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 REXX, PL/I, COBOL, RPG, FORTRAN, C++, C, Delphi, .NET CLI, Java,
Python, Perl, PHP, Ruby, and many other programming languages. DB2 also supports
integration into the Eclipse and Visual Studio .NET integrated development environments.
[edit] Error processing
Wikibooks has a book on the topic of
SQL return codes

An important feature of DB2 computer programs is error handling. The SQL communications
area (SQLCA) structure was once used exclusively within a DB2 program to return error
information to the application program after every SQL statement was executed. The primary,
but not singularly useful, error diagnostic is held in the field SQLCODE within the SQLCA
block.
The SQL return code values are:
• 0 means successful execution.
• A positive number means successful execution with one or more warnings. An example
is +100 which means no rows found.
• A negative number means unsuccessful with an error. An example is -911 which means a
lock timeout (or deadlock) has occurred, triggering a rollback.
Later versions of DB2 added functionality and complexity to the execution of SQL. Multiple
errors or warnings could be returned by the execution of an SQL statement; it may, for example,
have initiated a Database Trigger and other SQL statements. Instead of the original SQLCA,
error information should now be retrieved by successive executions of a GET DIAGNOSTICS
statement.
See SQL return codes for a more comprehensive list of common SQLCODEs.
[edit] User Groups
IDUG is the International DB2 Users Group, an independent, not-for-profit association of IT
professionals who use IBM DB2. IDUG provides education, technical resources, peer
networking opportunities, online resources and other programs that enable DB2 users to enhance
their ability to leverage DB2 to achieve personal and professional objectives.
Many Regional user groups also exist, providing an even more granular level of support for all
DB2 users. The Los Angeles DB2 Users Group is a good example of this local support.
[edit] See also
• Datalog
• DB2 Magazine
• Geneva ERS
• MS Technology provides technologies that are embedded into DB2
• MST Viewer document and image viewer that connects directly with DB2 with AFP
support.
• SQL/DS
[edit] References
• Technical resources for IBM Information Management software
1. ^ http://www.idc.com/getdoc.jsp?containerId=219232
2. ^ http://www.gartner.com/DisplayDocument?id=955220
3. ^ SUPRA 4GL
4. ^ "TPC-C". Transaction Processing Performance Council. June 2007.
http://www.tpc.org/tpcc/default.asp. Retrieved 2008-10-05.
5. ^ "TPC-H". Transaction Processing Performance Council. 11 September 2008.
http://www.tpc.org/tpch/default.asp. Retrieved 2008-10-05.

[edit] External links


• DB2 homepage at ibm.com
• IBM DB2 Express-C - Free edition for download, redistribution and production.
• Up and Running with DB2 on Linux - IBM Redbooks
• Voice of the DB2 Community - IBM DB2 Podcast Series
• IBM DB2 Training and Certification
• IDUG, the International DB2 Users Group
[show]
v•d•e
Database management systems

Database models · Database normalization · Database storage · Distributed DBMS ·


Federated database system · Referential integrity · Relational algebra · Relational calculus ·
Relational database · Relational DBMS · Relational model · Object-relational database ·
Transaction processing
C
o
n
c Database · ACID · CRUD · Null · Candidate key · Foreign key · Primary key · Superkey ·
e Surrogate key · Armstrong's axioms
p
t
s

O
b
j
Relation (Table) · View · Transaction · Log · Trigger · Index · Stored procedure · Cursor ·
e
Partition
c
t
s

C
o
m
p
o Concurrency control · Data dictionary · JDBC · ODBC · Query language · Query
n optimizer · Query plan
e
n
t
s

Database products: Object-oriented (comparison) · Relational (comparison) · Document-


oriented

[show]
v•d•e
IBM DB2 product family

Information Management · IBM DB2

P
l
a
t
f DB2 for iSeries · DB2 for Linux, UNIX and Windows · DB2 for z/OS
o
r
m
s
E
d
i
t
Express-C · Express · Workgroup Server · Enterprise Server
i
o
n
s

R
e
l
a
t
e
d
DB2 Alphablox · DB2 Connect · DB2 Everyplace · InfoSphere Warehouse · PureQuery
p
r
o
d
u
c
t
s

T
o
Data Studio · Data Studio Administrator · Data Studio Developer · InfoSphere Data
o
Architect
l
s

F
e
a
t
pureXML · SQL return codes
u
r
e
s

C ChannelDB2 · DB2 Magazine · developerWorks · International DB2 Users Group


o
m
m
u
n
i
t
y

Other IBM database products: Cloudscape · IMS · Informix · U2

[show]
v•d•e
International Business Machines Corporation

C
o
r
p
o
r
a
t
e Cathleen Black · Kenneth I. Chenault · Juergen Dormann · Michael L. Eskew · Shirley Ann
Jackson · Minoru Makihara · Lucio A. Noto · James W. Owens · Samuel J. Palmisano ·
D Joan E. Spero · Sidney Taurel · Lorenzo H. Zambrano
i
r
e
c
t
o
r
s

H
a
r
d
w
a
r
e
Cell · Mainframe · Personal Computer · POWER
P
r
o
d
u
c
t
s
S
o
f
t
w
a
r
e Information Management · Lotus · Rational · SPSS · Tivoli · WebSphere

B
r
a
n
d
s

C
o
n
s
u
l
t
i
n
g

a
n
IBM Global Services
d

I
T

S
e
r
v
i
c
e
s

S IBM India · IBM PC compatible · IBM Public License · History · Acquisitions and
e spinoffs · Products
e

a
l
s
o

Annual Revenue: ▲US$103.6 billion (FY 2008) · Employees: 398,455 (2009) · Stock
Symbol: NYSE: IBM · Website: www.ibm.com
Retrieved from "http://en.wikipedia.org/wiki/IBM_DB2"
Categories: Database management systems | IBM DB2 | Proprietary database management
systems | Cross-platform software | Relational database management systems
Personal tools
• New features
• Log in / create account
Namespaces
• Article
• Discussion
Variants
Views
• Read
• Edit
• View history
Actions
Search
Top of Form
Special:Search

Search
Bottom of Form
Navigation
• Main page
• Contents
• Featured content
• Current events
• Random article
Interaction
• About Wikipedia
• Community portal
• Recent changes
• Contact Wikipedia
• Donate to Wikipedia
• Help
Toolbox
• What links here
• Related changes
• Upload file
• Special pages
• Permanent link
• Cite this page
Print/export
• Create a book
• Download as PDF
• Printable version
Languages
• Català
• Deutsch
• Español
• ‫فارسی‬
• Français
• 한국어
• Italiano
• Magyar
• Nederlands
• 日本語
• Norsk (bokmål)
• Polski
• Português
• Русский
• Slovenčina
• Svenska
• ไทย
• Türkçe
• Українська
• Tiếng Việt
• 中文
• This page was last modified on 12 July 2010 at 18:35.
• Text is available under the Creative Commons Attribution-ShareAlike License;
additional terms may apply. See Terms of Use for details.
Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit
organization.
• Contact us
• Privacy policy
• About Wikipedia
• Disclaimers

You might also like