DB2
出典: フリー百科事典『ウィキペディア(Wikipedia)』
DB2は、IBM社が開発する情報管理のためのソフトウェア製品群である。多くの場合、DB2という言葉は、IBMの最も重要な製品の一つである、関係データベース管理システム (RDBMS) の「DB2ユニバーサルデータベース」(DB2 UDB) の意味で使われる。
目次 |
[編集] DB2の歴史
DB2は長い歴史をもつソフトウェアである。一部の人々は、DB2がデータベース言語SQLを初めて採用した関係データベース管理システム (RDBMS) の製品だと考えている。
1980年に IBM は System/38 (現在の System i) というコンピュータシステムをリリースした。System/38 では、そのオペレーティングシステム (OS) の中核部分に、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社は、Informixのデータベースエンジンの改良を、Illustra社を買収して Illustra社のユニバーサルサーバの技術を導入することによって、行った。Informix社の動きをみて、Oracle社とIBMも追随した。両社は、それぞれのデータベースエンジンを改良し、オブジェクト指向関係データベースの機能を、拡張機能として実装した。このとき、IBMはDB2を「DB2ユニバーサルデータベース」(DB2 UDB) という名称にしている。2001年に、IBM は Informix社を買収した。その後、IBM は Informix社の技術をDB2の製品群に導入している。現在DB2 UDBは、技術的にはオブジェクト指向関係データベースとして位置づけられる。
長い間、DB2はIBMの汎用コンピュータ(System/370やSystem/390、AS/400など)のプラットフォームの上でしか動かなかった。先述したように、IBM のコンピュータ System/38 (後の AS/400、現在の System i) では、そのオペレーティングシステム (OS) の中核部分に、RDBMSの機能を統合していた。このRDBMSの機能には当初は名前がつけられていなかったが、1994年にDB2/400と名付けられた。DB2/400はDB2ソフトウェア群の一つと位置づけられている。DB2/400は、現在ではDB2 UDB for iSeriesという名称で呼ばれることが多い。
近年、IBMはDB2を他のプラットフォームに移植している。現在ではDB2は、UNIX、Microsoft Windowsサーバ、さらにはLinux (Linux on IBM System z も含む)、各社の携帯情報端末 (PDA) でも動くようになっている。DB2のこのような多くのプラットフォームへの展開は、主に 1990年代に行われた。DB2の実装の細部は、一部、IBM DL/1とIBM IMSという階層型データベースが基になっている。IBMが近年開発した汎用コンピュータSystem zのOSである、z/VSEやz/VMで動作するDB2のバージョンも、利用することができるようになっている。少し前のDB2のバージョンは、OS/2向けにも提供されていた。OS/2向けのDB2はDB2/2と呼ばれる。
[編集] DB2の各エディション
DB2ユニバーサルデータベース (DB2 UDB) は、いくつかのライセンス形態 (エディション) で提供されている。汎用コンピュータにおける、データベース機能のない「エディション」では、ユーザは、自分たちが必要としないデータベース機能のために、金銭を支払う必要がない。他のエディションとして、ワークグループ、ワークグループアンリミテッド、エンタープライズサーバの、各エディションが提供されている。ハイエンドのエディションは、「DB2 UDB データウェアハウスエンタープライズエディション」(DWE) である。このエディション (DWE) は、オンライントランザクション処理 (OLTP) とビジネスインテリジェンス (BI) の複合したワークロードを、対象としたものであり、ビジネスインテリジェンスの機能を実装している。 DWE では、いくつかのビジネスインテリジェンスの機能 (データウェアハウス、ETL、データマイニング、OLAP拡張、インライン分析) が提供される。
z/OS向けのDB2 UDB (DB2 UDB for z/OS) は、z/OSプラットフォームに固有のライセンス形態で、利用することができる。z/OSは、IBM のメインフレーム System/390 の後継機種であるSystem zのOSである。DB2 UDBのバージョン8 以降、IBMはz/OS上でDB2 UDBを利用できるようにしている。DB2 UDB for z/OSは、z/OS以外のプラットフォームのDB2 UDBとの関係が、より密接になっている(それまでは、例えばデータベース言語SQLの文法が異なるなど、大きな違いがいくつかあった)。DB2 UDB for z/OSは、いくつかの高度な機能を備えている。その中でも特筆すべき機能は、マルチレベルセキュリティ (MLS)、非常に大きな容量のテーブル、ハードウェアの機能を利用したデータ圧縮である。このような高度な機能は、z/OS が提供する優れた環境と、ユーザからの要望によって、実現された。DB2 UDB for z/OSは、その第一級のオンライントランザクション処理 (OLTP) 性能と処理能力によって、人々に認知されていた。しかし現在DB2 UDB for z/OSは、マテリアライズ照会表 (MQT) の導入など、ビジネスインテリジェンスの機能も備えつつある。Oracle社のCEOのラリー・エリソンは、2003年10月に、DB2 UDB for z/OS に言及して、Oracleと競い合う唯一のデータベースであり尊敬と称賛に値する、と論評したことが、広く報道された。
[編集] DB2の競争相手
現在DB2はOracleと激しいトップシェア争いをしている。DB2の主要な市場はメインフレーム、オフィス・コンピュータの領域であった。近年は、UNIX、パーソナルコンピュータ (PC) 向けのDB2もシェアを伸ばしている。2004年5月3日、IBMのデータベース開発と販売を統括するジャネット・パーナ (Janet Perna) は、IBMの主要な競争相手は、高度なトランザクション処理においてはOracleであり、意思決定支援システム (データウェアハウスなど) においてはNCR社のTeradataであると、見解を述べている。
中小規模のデータベースにおいても、DB2は有力な存在であるが、多くの競争相手が存在している。Oracleは大規模データベースと同様に、中小規模のデータベースにおいても、DB2と激しく争っている。Oracleの他、商用ではSQL ServerやSybase、オープンソースではPostgreSQLやMySQLなどが有力な存在である。
z/OS向けのDB2 (DB2 UDB for z/OS) は、z/OSプラットフォームにおいて非常に強く、正面から競合する相手はほとんど存在しないといってよいであろう。z/OSプラットフォームにおいては、Oracleがz/OSの顧客にLinux on IBM System z向けのOracleを採用するようはたらきかけている。ただしOracleを採用するケースでも顧客がDB2を捨てるわけではないようである。またCA社が、同社のDatacomという関係データベースのz/OS向けのバージョンで、DB2に挑戦している。Datacomを採用するケースでもDatacomの顧客は多くの場合DB2を手放すわけではない。
IBMおよびDB2は、トランザクション処理性能評議会 (TCP) のウェブサイトで公表されているTPC-C (OLTP) とTPC-H (データウェアハウス) のベンチマークにおいて、業界の首位もしくは首位に近い性能を示す常連である。
[編集] DB2の技術的な情報
DB2は、Oracleと同じく、データベースを管理するためのユーザインターフェイスとして、コマンドラインインタフェース (CUI) とグラフィカルユーザインターフェース (GUI) の両方を提供している。DB2のコマンドラインインタフェースを使う場合は、DB2に関してのある程度の知識が必要であるが、管理作業のスクリプト化や自動化が簡単にできる。DB2のGUIは、豊富なウィザードを使うことができ、まだDB2に習熟していない人にとって使いやすい。DB2のGUIは、マルチプラットフォームのJavaのアプリケーションソフトウェアである。
DB2では、非常に多くのプログラミング言語やプラットフォームに対応したアプリケーションプログラミングインタフェース (API) を、利用することができる。主要なものでは、Java、.NETのCLI (CLR)、Ruby、Python、Perl、PHP、C++、C、REXX、PL/I、RPG、COBOL、FORTRAN などがある。DB2ではまた、EclipseとVisual Studioの統合開発環境 (IDE) に対しても、DB2を利用したソフトウェア開発を支援する機能を、統合的に使えるようにしている。
[編集] DB2のリーダー
ジャネット・パーナ (Janet Perna) は、IBMソフトウェアグループの情報管理事業部で、部長 (General Manager) を務めていた。パーナは、2005年7月にIBMを退職した。パーナの後は、アンブシュ・ゴヤール (Ambuj Goyal) がその地位を引き継いでいる。