DB2 LUW

IBM DB2 database has a long history and is available on a myriad of IBM mainframes and operating systems. Its original roots are in 70s, when IBM’s researcher Edgar F. Codd described the theory of relational databases and relational algebra. However, DB2 (or IBM Database 2) name was officially assigned to a product in 1983. IBM, ironically, failed to recognize the potential of Codd’s innovation and Oracle ended up actually beating IBM to market with its SQL language implementation.

Today, IBM DB2 is still going strong and is capable of supporting legacy (read – extremely old) applications, as well as providing latest features. It is very reliable and fast database, used in enterprise market. TPC-C and TPC-H industry benchmarks show excellent performance of DB2.

Competing with Oracle, DB2 is supposedly able to run 98% of Oracle SQL code without changes, allowing even very large codebases to migrate from Oracle to DB2 relatively quickly. DB2 is able to reach great performance levels.

There is a free edition of DB2 called DB2 Express-C. While free editions of Oracle and SQL Server are limited in database size, DB2 Express-C isn’t. It will use just two CPU cores and maximum 16GB of memory, but it may make sense to use it for large databases under light average load.

DB2 LUW

data types we support

Integral
bigint
integer
smallint
decimal
decimal (dec, numeric, fixed)
double (float, double precision)
real (decfloat)
text
char (character)
clob (long varchar, character large object)
nchar (national character)
nclob (dbclob, national character large object)
nvarchar (national character varying)
varchar (longvar, vargraphic, vargraph, varg, longvarg, character varying)
Binary
binary (graphic)
varbinary (varbin, binary varying)
Date/Time
date
time
timestamp (timestmp)
timestz
Large objects
blob (binary large object)
clob (long varchar, character large object)
nclob (dbclob, national character large object)
xml
Other
boolean
uniqueidentifier