Db2

IBM DB2 is a relational database focus on transactional and warehousing workloads. It is built on top of many Engine dispatchable units (EDUs), which control the activity inside the database. In 2017, IBM Db2 was announced which is the successor name of DB2 (introduced in the 1980s). Recent years, Db2 started to support non-relational structures like JSON and XML. It can support many platforms including Linux, UNIX, Windows, z/OS, i, VSE, and VM.

History

DB2 dates back to early of the 1970s. At that time, IBM researcher Edgar F. Codd described relational databases theory and published the famous paper “A Relational Model of Data for Large Shared Data Banks.”

In 1974, System R, which implemented Codd’s concepts, was developed by a team in IBM. SQL was the critical development of System R.

In the mid-1990s, DB2 Parallel Edition was released which provided scalability by shared-nothing architecture.

In the mid-2006 and October 2007, “Viper” and “Viper 2” were announced, which is the codename for DB2 9 and DB2 9.5.

In June 2009, “Cobra” DB2 9.7 was released. “Cobra” added many exciting features including temporary tables, large objects and data compression for database indexes. In October of the same year, DB2 pureScale was announced, which was a database cluster solution suitable for Online transaction processing (OLTP) workloads. Again in the same year, IBM said that DB2 could be an engine in MySQL.

In early 2012, “Galileo” DB2 10.1 was announced, which can support Linux, UNIX, and Windows. In mid-2017, “Db2” replaces the name of “DB2”.

Checkpoints

Non-Blocking Blocking

IBM Db2 can take a backup using the BACKUP command. We can use the ONLINE parameter to control online or offline backup. The default option is offline, and we should enable logarchmeth1 if we want to use online backup.

System Architecture

Shared-Disk

Db2 pureScale environment provides Db2 members the ability to access data stored on a shared disk.

Data Model

Relational Document / XML

In the beginning, Db2 is a relational database management system. In recent versions, the pureXML® feature allows customers to use XML data type.

Hardware Acceleration

Custom

Db2 achieves hardware compression for log archive files on AIX® and backup images using the nest accelerator NX842 of POWER 7+ and POWER 8 processors, which are developed by IBM.

Query Execution

Tuple-at-a-Time Model

Query Interface

Stored Procedures

Db2 supports a wide range of SQL standards. It can also support stored procedure which is a set of SQL statements with a dedicated name.

Isolation Levels

Read Uncommitted Repeatable Read Cursor Stability

Db2 supports four different kinds of isolation level, which are Repeatable read (RR), Read stability (RS), Cursor stability (CS) and Uncommitted read (UR). The default level is cursor stability (CS).

Joins

Nested Loop Join Hash Join Sort-Merge Join

Db2 can support three different kinds of join algorithms, which are nested-loop join, merge join, and hash join.

Concurrency Control

Multi-version Concurrency Control (MVCC)

Db2 uses multi-version concurrency control under cursor stability isolation level, which locks any row being accessed during a transaction while the cursor is on that row.

Storage Organization

Heaps

Foreign Keys

Supported

Db2 allows users to define foreign keys. It is defined by FOREIGN KEY clause and the REFERENCES clause in ALTER TABLE and CREATE TABLE statements.

Stored Procedures

Supported

Db2 supports three different kinds of Stored Procedures, which are external stored procedures, external SQL procedures, and native SQL procedures. The latter two are written entirely in SQL while the first one can be written in a host language.

Query Compilation

JIT Compilation

Do not find enough information

Db2 Logo
Website

http://ibm.com/software/data/db2/

Tech Docs

http://www-01.ibm.com/support/docview.wss?uid=swg27009474

Developer

IBM

Country of Origin

US

Start Year

1983

Project Type

Commercial

Licenses

Proprietary

Wikipedia

https://en.wikipedia.org/wiki/IBM_Db2