DBDB.io The Encyclopedia of Database Systems · Est. 2017
Database of Databases

Database Entry

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.[04][05][06]

Database Entry

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.[04][05][06]

History[06]


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[07]


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.

Compression[08]


Exact algorithms are not found on the internet. However, NX842 can be used to perform backup compression. To use NX842, registry variable DB2_BCKP_COMPRESSION should be set to NX842.

Concurrency Control[09][10]


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.

Data Model[11][12]


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

Foreign Keys[13]


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.

Hardware Acceleration[14][08]


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.

Indexes[15]


Db2 provides the index storage using B plus tree.

Isolation Levels[09][16]


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[17]


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

Logging[18]


The specific logging scheme is not found on the internet. However, Db2 does support logging, and we can configure many parameters including log file size, log archive options, etc.

Query Compilation


Do not find enough information

Query Execution


Query Interface[19]


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.

Storage Architecture[20]


Storage Model


Storage Organization


Stored Procedures[19]


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.

System Architecture[21]


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

Views[22][23]


Db2 can create views by the CREATE VIEW command.

Citations

23 sources
  1. Db2 | IBM ibm.com
  2. https://www-01.ibm.com/support/docview.wss?uid=swg27009474 ibm.com Dead — Check Archive
  3. IBM Db2 - Wikipedia wikipedia.org
  4. IBM Db2 Database ibm.com
  5. IBM Documentation ibm.com
  6. https://www.wikiwand.com/en/IBM_Db2 wikiwand.com
  7. BACKUP DATABASE command - IBM Documentation ibm.com
  8. https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.db2.luw.admin.ha.doc/doc/c0062003.html ibm.com Dead — Check Archive
  9. https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.db2.luw.admin.perf.doc/doc/c0004121.html ibm.com Dead — Check Archive
  10. https://www.wikiwand.com/en/List_of_databases_using_MVCC wikiwand.com Dead — Check Archive
  11. IBM Documentation ibm.com
  12. https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.db2.luw.qb.server.doc/doc/c0024080.html ibm.com Dead — Check Archive
  13. Designing foreign key (referential) constraints - IBM Documentation ibm.com
  14. https://www.wikiwand.com/en/POWER7 wikiwand.com Dead — Check Archive
  15. Index structure - IBM Documentation ibm.com
  16. Specifying the isolation level - IBM Documentation ibm.com
  17. https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.db2.luw.admin.perf.doc/doc/c0005311.html ibm.com Dead — Check Archive
  18. Configuration parameters for database logging - IBM Documentation ibm.com
  19. https://www.ibm.com/support/knowledgecenter/en/SSEPEK_11.0.0/apsg/src/tpc/db2z_storedprocedure.html ibm.com Dead — Check Archive
  20. End of support for DB2 for Linux UNIX and Windows 9.5.0 ibm.com
  21. How does a Db2 pureScale environment compare to a multi-partition database environment? - IBM Documentation ibm.com
  22. https://www.ibm.com/support/knowledgecenter/en/SSEPEK_11.0.0/perf/src/tpc/db2z_createmqt.html ibm.com Dead — Check Archive
  23. https://www.ibm.com/support/knowledgecenter/en/SSEPEK_11.0.0/sqlref/src/tpc/db2z_sql_createview.html ibm.com Dead — Check Archive
Revision #7 Last Updated: