IBM Db2
概要
Db2はIBMの関係データベース用のミドルウェアである。1981年にメインフレームのDOS/VSEおよびVM/CMS用のSQL/DSが登場し、1983年のMVS用がDB2と名付けられ、1990年代にUNIX版やWindows版などが追加され、更にオブジェクト管理データベースを兼ねたORDBMSとなった。IBMは関係データベースの概念を世界で初めて提唱したが、製品の出荷はオラクルが先となった。特徴としては、大規模なデータベースを支える信頼性とスケーラビリティ、コストベースの照会最適化、メインフレーム用からパーソナルコンピュータ用までのマルチプラットフォーム対応などが挙げられる。
なお、IBMのデータベース関連のソフトウェアブランド名も従来は「DB2」で、多数の製品群でDB2ファミリーを形成した。しかし2001年のIBMによるInformix買収後は、ソフトウェアブランド名は徐々に「Information Management Software」に変更され、DB2ファミリーやInformixファミリーはその中の製品群となった。
名称
DB2 (Database2) との名称は、1983年にメインフレーム用のRDBMSとして発表された際に、従来の階層型データモデルのデータベース管理システム（DBMS; IMS、DL/Iなど）との対比で与えられた。バージョン7、8ではDB2ユニバーサルデータベース (DB2 UDB) と称したが、バージョン9ではUDBの名称は消えた。
2017年6月、「Db2」にリブランドした。
歴史
Db2は長い歴史をもつソフトウェアである。一部の人々は、Db2がデータベース言語SQLを初めて採用した関係データベース管理システム (RDBMS) の製品だと考えている。
1980年にIBMはSystem/38（現在の System i）というコンピュータシステムをリリースした。System/38 では、そのシステムの中核部分に、RDBMSの機能を統合していた。1981年にIBM はSQL/DSというRDBMS製品をリリースし、1983年にはDB2 (Database2) をリリースした。SQL/DSとDB2は、IBMのメインフレームで動くRDBMSであった。IBMがRDBMを製品化する以前には、IBMで 1970年代に研究目的で開発されたRDBMSであるSystem Rがあった。SQL/DSとDB2は、IBMに勤めていたエドガー・F・コッド博士が 1969年に論文で発表した関係データベースの理論 (関係モデル) と、System Rが基礎となっている。
System Rは、IBMのサンノゼ研究所で 1970年代に行われた、関係モデルをソフトウェアとして実装するプロジェクトであった。System R で、コッドは関係データベースを扱う言語を必要とした。コッドはこのためにデータベース言語を設計し、Alphaという名前をつけた。IBMはこのとき、コッドが考案した関係データベースの理論に秘められた可能性を、軽視していた。そのためIBMは、関係データベースを実装するためのプログラマのチームをコッドに預けたが、このプログラマたちはもともとコッドの管理下にいた人々ではなかった。このプログラマたちは、関係モデルのいくつかの重要な構成要素を曲解してしまった。こうした混乱はあったものの、System Rプロジェクトは成功し、RDBMSが実用化できることが示された。
System Rの成果の一つが、データベース言語SEQUELである（コッドのAlphaとは別の言語）。SEQUELは、"Structured English QUEry Language" を略した呼称である。しかしSEQUELという名称は、当時すでに別の会社が登録商標としていた。そのためIBMは、"Structured Query Language" の短い呼称として、頭文字をとってSQLという名称に変え、現在に至っている。
データベースの歴史においては、Informixが自社の関係データベース管理システムInformixのエンジンをオブジェクト関係データベース管理システムのエンジンに改良したときのことが特筆される (Informix Universal Server) 。Informixは、Informixのデータベースエンジンの改良を、Illustraを買収して Illustraのユニバーサルサーバの技術を導入することによって、行った。Informixの動きをみて、オラクルとIBMも追随した。両社は、それぞれのデータベースエンジンを改良し、オブジェクト指向関係データベース管理システムの機能を、拡張機能として実装した。このとき、IBMはDB2を「DB2ユニバーサルデータベース」(DB2 UDB) という名称にしている。2001年に、IBMはInformixを買収した。その後、IBMはInformixの技術をDB2の製品群に導入している。現在 DB2 は、技術的にはオブジェクト関係データベース管理システム (ORDBMS) として位置づけられる。
長い間、DB2はIBMの汎用コンピュータ（System/370やSystem/390、AS/400など）のプラットフォームの上でしか動かなかった。先述したように、IBMのコンピュータSystem/38（後のAS/400、現在のSystem i）では、そのシステムの中核部分に、RDBMSの機能を統合していた。このRDBMSの機能には当初は名前がつけられていなかったが、1994年にDB2/400と名付けられた。DB2/400はDB2ソフトウェア群の一つと位置づけられている。DB2/400は、現在ではDB2 for IBM iという名称で呼ばれることが多い。
1990年代にIBMはDB2を他のプラットフォームに移植し、DB2はUNIX、Windowsサーバ、Linux（Linux on IBM System zも含む）、各社の携帯情報端末 (PDA) でも動くようになった。DB2の実装の細部は、一部、IBM DL/IとIBM IMSという階層型データベースが基になっている。IBMが近年開発した汎用コンピュータSystem zのOSである、z/VSEやz/VMで動作するDB2のバージョンも、利用することができるようになっている。少し前のDB2のバージョンは、OS/2向けにも提供されていた。
エディション
DBbユニバーサルデータベース (Db2 UDB) は、いくつかのライセンス形態（エディション）で提供されている。汎用コンピュータにおける、データベース機能のない「エディション」では、ユーザは、自分たちが必要としないデータベース機能のために、金銭を支払う必要がない。他のエディションとして、ワークグループ、ワークグループアンリミテッド、エンタープライズサーバの、各エディションが提供されている。ハイエンドのエディションは、「DB2 UDB データウェアハウスエンタープライズエディション」(DWE) である。このエディション (DWE) は、オンライントランザクション処理 (OLTP) とビジネスインテリジェンス (BI) の複合したワークロードを、対象としたものであり、ビジネスインテリジェンスの機能を実装している。
DWEでは、いくつかのビジネスインテリジェンスの機能（データウェアハウス、ETL、データマイニング、OLAP拡張、インライン分析）が提供される。
z/OS向けのDB2 (DB2 for System z) は、z/OSプラットフォームに固有のライセンス形態で、利用することができる。z/OSは、IBMのメインフレームSystem/390の後継機種であるSystem zのOSである。DB2 UDBのバージョン8 以降、IBMはz/OS上でDB2を利用できるようにしている。DB2 for System zは、z/OS以外のプラットフォームのDB2との関係が、より密接になっている（それまでは、例えばデータベース言語SQLの文法が異なるなど、大きな違いがいくつかあった）。DB2 for System zは、いくつかの高度な機能を備えている。その中でも特筆すべき機能は、マルチレベルセキュリティ (MLS)、非常に大きな容量のテーブル、ハードウェアの機能を利用したデータ圧縮である。このような高度な機能は、z/OSが提供する優れた環境と、ユーザからの要望によって、実現された。DB2 for System z は、その第一級のオンライントランザクション処理 (OLTP) 性能と処理能力によって、人々に認知されていた。しかし現在DB2 for System zは、マテリアライズ照会表 (MQT) の導入など、ビジネスインテリジェンスの機能も備えつつある。オラクルのCEOのラリー・エリソンは、2003年10月に、並列シスプレックスを用いたDB2 UDB for z/OS（現在の DB2 for System z）に言及して、Oracle Databaseと競い合う唯一のデータベースであり尊敬と称賛に値する、と論評したことが、広く報道された。
競争相手
DB2はオラクルのOracle Database、SAPのSAP HANAと激しいトップシェア争いをしている。DB2の主要な市場はメインフレーム、オフィスコンピュータの領域であったが、1990年代以降は、UNIX、パーソナルコンピュータ (PC) 向けのDB2もシェアを伸ばしている。2004年5月3日、IBMのデータベース開発と販売を統括するジャネット・パーナ (Janet Perna) は、IBMの主要な競争相手は、高度なトランザクション処理においてはOracle Databaseであり、意思決定支援システム (データウェアハウスなど) においてはNCRのTeradataであると、見解を述べている。また、2010年にSAPよりインメモリーデータベースSAP HANAがリリースされてからは従来基幹系システムや情報系システムにDB2やOracle Databaseを採用していた企業がSAP HANAに移行する事例も相次いで出てきており、2016年現在、大企業向けのデータベース管理システム市場はDB2、Oracle Database、SAP HANAの3大製品が占める構図になっている。
中小規模のデータベースにおいても、DB2は有力な存在であるが、多くの競争相手が存在している。Oracleは大規模データベースと同様に、中小規模のデータベースにおいても、DB2と激しく争っている。Oracle Databaseの他、商用ではマイクロソフトの Microsoft SQL ServerやSAP Sybase Adaptive Server Enterprise 、オープンソースではPostgreSQLやMySQLなどが有力な存在である。
z/OS向けのDB2 (DB2 for System z) は、z/OSプラットフォームにおいて非常に強く、正面から競合する相手はほとんど存在しないといってよいであろう。z/OSプラットフォームにおいては、Oracleがz/OSの顧客にLinux on IBM System z向けのOracleを採用するようはたらきかけている。ただしOracleを採用するケースでも顧客がDB2を捨てるわけではないようである。またCAが、同社のDatacomという関係データベースのz/OS向けのバージョンで、DB2に挑戦している。Datacomを採用するケースでもDatacomの顧客は多くの場合DB2を手放すわけではない。
メインフレームでは、DB2 for System z以外には、日本のメインフレーマー各社が自社開発したRDBMSが提供されている。
IBMおよびDB2は、トランザクション処理性能評議会 (TPC) のウェブサイトで公表されているTPC-C (OLTP) とTPC-H (データウェアハウス) のベンチマークにおいて、業界の首位もしくは首位に近い性能を示す常連である。
その他
DB2は、Oracle Databaseと同じく、データベースを管理するためのユーザインタフェース (UI) として、コマンドラインユーザインタフェース (CUI) とグラフィカルユーザインタフェース (GUI) の両方を提供している。DB2のコマンドラインインタフェースを使う場合は、DB2に関してのある程度の知識が必要であるが、管理作業のスクリプト化や自動化が簡単にできる。DB2のGUIは、豊富なウィザードを使うことができ、まだDB2に習熟していない人にとって使いやすい。DB2のGUIは、マルチプラットフォームのJavaのアプリケーションソフトウェアである。
DB2では、非常に多くのプログラミング言語やプラットフォームに対応したアプリケーションプログラミングインタフェース (API) を、利用することができる。主要なものでは、Java、.NET FrameworkのCLI (CLR)、Ruby、Python、Perl、PHP、C++、C、REXX、PL/I、RPG、COBOL、FORTRAN などがある。DB2ではまた、EclipseとVisual Studioの統合開発環境 (IDE) に対しても、DB2を利用したソフトウェア開発を支援する機能を、統合的に使えるようにしている。
ジャネット・パーナ (Janet Perna) は、IBMソフトウェアグループのインフォメーション・マネジメント事業部で、部長 (General Manager) を務めていた。パーナは2005年7月にIBMを退職した。パーナの後は、アンブシュ・ゴヤール (Ambuj Goyal) がその地位を引き継いだ。