DB2

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索

テンプレート:Infobox テンプレート:Infobox テンプレート:Infobox テンプレート:Infobox DB2 (でぃーびーつー、IBM Database2)は、IBMリレーショナルデータベース管理システム(RDBMS)製品である。DB2ファミリーは、IBMのソフトウェアブランドの1つであるIBM Information Management Softwareを構成する。

概要

DB2はIBMで初めて登場したリレーショナルデータベース用のミドルウェアである。当初はメインフレーム版のみが存在し、後にUNIX版やWindows版などが追加された。現在ではオブジェクト管理データベースを兼ねたORDBMSとなった。

IBMはリレーショナルデータベースの概念を世界で初めて提唱したが、製品の出荷はオラクルが先となった。特徴としては、大規模なデータベースを支える信頼性とスケーラビリティ、コストベースの照会最適化、メインフレーム用からパーソナルコンピュータ用までのマルチプラットフォーム対応などが挙げられる。

なお、IBMのデータベース関連のソフトウェアブランド名も従来は「DB2」で、多数の製品群でDB2ファミリーを形成した。しかし2001年のIBMによるInformix買収後は、ソフトウェアブランド名は徐々に「Information Management Software」に変更され、DB2ファミリーやInformixファミリーはその中の製品群となった。

名称

DB2 (Database2) というネーミングは、当時主流の階層型データモデルデータベース管理システム(DBMS; IMSDL/Iなど)を第一世代と考え、次世代というネーミングと思われる。(なおIBMではネットワーク型データモデル製品は無い。)

DB2バージョン7、8ではDB2ユニバーサルデータベース (DB2 UDB) と称したが、バージョン9ではUDBの名称は消えている。

以下略称・通称がIBM社内を含め使われる場合があるが、いずれも正式名称ではない。

  • DB2/390(OS/390向けのDB2)
  • DB2/MVS(MVS向けのDB2)
  • DB2/6000(RS/6000向けのDB2)
  • DB2/400(AS/400向けのDB2)
  • DB2/2(OS/2向けのDB2)

製品構成

プラットフォームアーキテクチャに応じて、以下の製品構成に大別される(実際の製品名では、これらにバージョンやエディションを組み合わせる)。

DB2 for z/OS
z/OS用。DB2ファミリーの元祖。クラスタリングはDISK共有モデル。
DB2 Server for VSE and VM
VSE, VM用。従来の「SQL/DS for VSE and VM」を改名したもの。
DB2 for i
IBM i用。内部的にはH/W(AS/400、iSeries、System iPower Systems i Edition)標準の、H/WのRDBMS機能を使用している。単独製品ではなく、IBM i の標準機能として提供されている。
DB2 for Linux, UNIX and Windows (DB2 for LUW)
Linux, AIX, HP-UX, Solaris, Windows用。従来の「DB2 for Multiplatform」。ソフトウェアでRDBMS機能を実現している。オプションのクラスタリングはシェアードナッシングモデルだった。ただし2009年10月にAIXの特定のモデルのみDB2 pureScaleを用意しておりこちらはメインフレーム版のDB2およびOracleRACと同じDISK共有モデルを採用している。

歴史

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/370System/390AS/400など)のプラットフォームの上でしか動かなかった。先述したように、IBMのコンピュータSystem/38(後の AS/400、現在の System i)では、そのシステムの中核部分に、RDBMSの機能を統合していた。このRDBMSの機能には当初は名前がつけられていなかったが、1994年にDB2/400と名付けられた。DB2/400はDB2ソフトウェア群の一つと位置づけられている。DB2/400は、現在ではDB2 for IBM i という名称で呼ばれることが多い。

近年、IBMはDB2を他のプラットフォームに移植している。現在ではDB2は、UNIXWindowsサーバ、さらにはLinux(Linux on IBM System z も含む)、各社の携帯情報端末 (PDA) でも動くようになっている。DB2のこのような多くのプラットフォームへの展開は、主に 1990年代に行われた。DB2の実装の細部は、一部、IBM DL/IIBM IMS という階層型データベースが基になっている。IBMが近年開発した汎用コンピュータSystem zのOSである、z/VSEやz/VMで動作するDB2のバージョンも、利用することができるようになっている。少し前のDB2のバージョンは、OS/2向けにも提供されていた。

年表

主なバージョンのリリース年月(GA, General Available)は以下である [1] [2]。以下の他に、DB2 Server for VSE and VM と、DB2 for i (IBM i の機能として提供)が存在する。

  • メインフレーム版
    • 1983年 DB2 (MVS版)リリース
    • 1986年 DB2 R2 (MVS版)リリース
    • 1997年6月 DB2 for OS/390 V5.1 リリース
    • 1998年6月 DB2 for OS/390 V6.1 リリース
    • 2001年3月 DB2 for OS/390 and z/OS V7.1 リリース
    • 2004年3月 DB2 for z/OS V8.1 リリース
    • 2008年2月 DB2 for z/OS V9.1 リリース
    • 2010年10月 DB2 for z/OS V10 リリース
  • マルチプラットフォーム版
    • 1993年 DB2 (AIX版) リリース
    • 1994年 DB2 (Solaris、HP-UX版) リリース
    • 1995年 DB2 (Windows版) リリース
    • 1999年 DB2 (Linux版) リリース
    • 2001年6月 DB2 Universal Database V7.2 リリース
    • 2002年12月 DB2 Universal Database V8.1 リリース
    • 2004年10月 DB2 Universal Database V8.2 リリース
    • 2006年9月 DB2 V9.1(開発コード名:Viper)リリース
    • 2007年12月 DB2 V9.5(開発コード名:Viper2)リリース
    • 2009年6月 DB2 V9.7(開発コード名:Cobra)リリース
    • 2012年4月 DB2 V10.1 リリース
    • 2013年4月 DB2 V10.5 リリース[3]

エディション

DB2ユニバーサルデータベース (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と競い合う唯一のデータベースであり尊敬と称賛に値する、と論評したことが、広く報道された。

競争相手

現在DB2はOracleと激しいトップシェア争いをしている。DB2の主要な市場はメインフレームオフィスコンピュータの領域であった。近年は、UNIXパーソナルコンピュータ (PC) 向けのDB2もシェアを伸ばしている。2004年5月3日、IBMのデータベース開発と販売を統括するジャネット・パーナ (Janet Perna) は、IBMの主要な競争相手は、高度なトランザクション処理においてはOracleであり、意思決定支援システム (データウェアハウスなど) においてはNCR社のTeradataであると、見解を述べている。

中小規模のデータベースにおいても、DB2は有力な存在であるが、多くの競争相手が存在している。Oracleは大規模データベースと同様に、中小規模のデータベースにおいても、DB2と激しく争っている。Oracleの他、商用では Microsoft SQL ServerSybase (Adaptive Server Enterprise) 、オープンソースではPostgreSQLMySQLなどが有力な存在である。

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 (データウェアハウス) のベンチマークにおいて、業界の首位もしくは首位に近い性能を示す常連である。

RDBMSとしての特徴

コストベースオプティマイザー
クエリー最適化については、当初よりコストベースのオプティマイザーが実装されており、様々な実行計画から最適なプランをDB2が自動的に選択する。
読み取り一貫性
読み取り一貫性はロックにより実現される。ロックは必要に応じて自動的に行われるが、アプリケーションやデータベース構成パラメーターの設計が不適切な場合には、ロック・エスカレーションにより想定以上のロックが取得されたり、場合によってはデッドロックが発生するケースもある。ただし、その他の方式としてよくみられるMVCCに比較すると、更新前のデータを退避する必要が無いため、ストレージコストが少ないというメリットも存在する。
移植性
元々SQLがIBM社から始まっているということもあって、SQL-92といった国際標準へ準拠度は高めである。また、v9.7よりOracleとの互換性強化のため、PL/SQLがサポートされた。

その他

DB2は、Oracleと同じく、データベースを管理するためのユーザインタフェース (UI) として、コマンドラインユーザインタフェース (CUI)とグラフィカルユーザインタフェース (GUI) の両方を提供している。DB2のコマンドラインインタフェースを使う場合は、DB2に関してのある程度の知識が必要であるが、管理作業のスクリプト化や自動化が簡単にできる。DB2のGUIは、豊富なウィザードを使うことができ、まだDB2に習熟していない人にとって使いやすい。DB2のGUIは、マルチプラットフォームJavaアプリケーションソフトウェアである。

DB2では、非常に多くのプログラミング言語やプラットフォームに対応したアプリケーションプログラミングインタフェース (API) を、利用することができる。主要なものでは、Java.NET FrameworkCLI (CLR)、RubyPythonPerlPHPC++CREXXPL/IRPGCOBOLFORTRAN などがある。DB2ではまた、EclipseVisual Studio統合開発環境 (IDE) に対しても、DB2を利用したソフトウェア開発を支援する機能を、統合的に使えるようにしている。

ジャネット・パーナ (Janet Perna) は、IBMソフトウェアグループのインフォメーション・マネジメント事業部で、部長 (General Manager) を務めていた。パーナは2005年7月にIBMを退職した。パーナの後は、アンブシュ・ゴヤール (Ambuj Goyal) がその地位を引き継いだ。

参照

  1. コンピュータの歴史 - 日本IBM
  2. IBM Software Support Lifecycle
  3. 引用エラー: 無効な <ref> タグです。 「DB2_10.5_LUW」という名前の引用句に対するテキストが指定されていません

関連項目

外部リンク

テンプレート:IBM