DB2
出典: フリー百科事典『ウィキペディア(Wikipedia)』
DB2 (Database2) は、IBM社が開発する情報管理のためのソフトウェア製品名およびブランド名である。関係データベース管理システム (RDBMS) 製品および関連製品群である。
目次 |
[編集] 概要
DB2 (Databese2) はIBMが提供する関係データベース管理システム (RDBMS) 製品および関連製品群である。
ブランド名としては、IBMソフトウェア事業部の提供するミドルウェア5ブランドのうちの、1ブランドである(他はWebSphere、Lotus、Tivoli、Rational)。
ブランド名の場合は、データマネージメントと呼ばれる場合もあり、以下製品群も含む場合がある。
[編集] 特徴
- 関係データベース管理システムを発表したIBM自身による製品 (出荷はオラクルが先行)
- コストベースの最適化 (オラクルは歴史的にルールベースがメイン)
- パーソナルコンピュータ用からメインフレーム用までのスケーラビリティ
- 世界および日本での大企業 (製造・金融・流通など) を含む実績
- 中核となるRDBMS製品だけでなく、周辺の関連製品を揃えた品揃え
[編集] 名称
DB2 (Database2) というネーミングは、当時主流の階層型データモデルのDBMS (IMS、DL/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 Multiplatform (LUW = Linux,UNIX,Windows) ソフトウェアでRDBMS機能を実現している
- DB2 for System i (= iSeries、AS/400) 内部的にはH/WのRDBMS機能を使用している
- DB2 for System z (= z/OS、OS/390、MVS) メインフレーム専用OS用
[編集] 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) では、そのシステムの中核部分に、RDBMSの機能を統合していた(正確に言うと、Microcodeを含むH/WレベルでRDBMSエンジンを実装している)。このRDBMSの機能には当初は名前がつけられていなかったが、1994年にDB2/400と名付けられた。DB2/400はDB2ソフトウェア群の一つと位置づけられている。DB2/400は、現在では DB2 for System i という名称で呼ばれることが多い。
近年、IBMはDB2を他のプラットフォームに移植している。現在ではDB2は、UNIX、Microsoft Windowsサーバ、さらにはLinux (Linux on IBM System z も含む)、各社の携帯情報端末 (PDA) でも動くようになっている。DB2のこのような多くのプラットフォームへの展開は、主に 1990年代に行われた。DB2の実装の細部は、一部、IBM DL/I と IBM IMS という階層型データベースが基になっている。IBMが近年開発した汎用コンピュータSystem zのOSである、z/VSEやz/VMで動作するDB2のバージョンも、利用することができるようになっている。少し前のDB2のバージョンは、OS/2向けにも提供されていた。
[編集] 年表
- 1983年 DB2 (Database2) リリース
- 2004年8月 DB2 UDB V8.2発表
- 2006年6月 DB2 V9 (V9.1、開発コードViper) 発表
- 2007年10月 DB2 V9.5 (開発コードViper2) 発表
[編集] DB2の各エディション
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) の導入など、ビジネスインテリジェンスの機能も備えつつある。Oracle社のCEOのラリー・エリソンは、2003年10月に、DB2 UDB for z/OS (現在の DB2 for System z) に言及して、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 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 以外には、日本国産各社の独自DBMSが提供されている。
IBMおよびDB2は、トランザクション処理性能評議会 (TPC) のウェブサイトで公表されている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) がその地位を引き継いでいる。