Db2 は、 IBMが開発したデータベース サーバーを含むデータ管理製品群です。当初はリレーショナル モデルをサポートしていましたが、オブジェクト リレーショナル機能やJSONやXMLなどの非リレーショナル構造をサポートするように拡張されました。ブランド名は、 2017 年[ 8 ]までDB2 [ 5 ] [ 6 ] [ 7 ]という表記でしたが、その後現在の形式に変更されました。初期の頃は、オペレーティングシステム OS/2 から誤って派生した DB/2 と表記されることもありました。[ 9 ]
DB2の起源は1970年代初頭に遡り、 IBMに勤務していた研究者エドガー・F・コッドが関係データベースの理論を提唱し、1970年6月にデータ操作のモデルを発表した。[ 10 ]
1974年、IBMサンノゼ研究センターは、コッドの概念を実装するために、System Rと呼ばれる関連データベース管理システム(DBMS)を開発しました。 [ 11 ] System Rプロジェクトの重要な開発は、構造化クエリ言語(SQL )でした。リレーショナルモデルを適用するために、コッドはDSL/Alphaと名付けたリレーショナルデータベース言語を必要としていました。[ 12 ]当時、IBMはコッドのアイデアの可能性を信じておらず、実装はコッドの監督下にないプログラマーのグループに任せていました。このため、コッドのリレーショナルモデルの不正確な解釈が生まれ、理論の規定の一部にしか一致しませんでした。その結果、構造化英語クエリ言語、またはSEQUELが生まれました。
IBMは、メタファー・コンピュータ・システムズを買収し、同社が1980年代半ばから既に利用していたGUIインターフェースとカプセル化されたSQLプラットフォームを活用した。
SQLの開発と並行して、IBMは初のグラフィカルクエリ言語であるクエリ・バイ・サンプル(QBE)も開発した。
IBM初の商用リレーショナルデータベース製品であるSQL/DSは、 1981年にDOS/VSEおよびVM/CMSオペレーティングシステム向けにリリースされました。1976年、IBMはVMプラットフォーム向けにQuery by Exampleをリリースしました。このテーブル指向のフロントエンドは、リレーショナルデータベースへのトランザクションを駆動する線形構文言語を生成しました。[ 13 ] その後、DB2のQMF機能は実際のSQLを生成し、DB2に同じ「QBE」のルックアンドフィールをもたらしました。DB2のメインフレーム版アーキテクチャの着想は、階層型データベースであるIBM IMSと、専用のデータベース操作言語であるIBM DL/Iから部分的に得られました。
DB2 (IBM Database 2) という名称は、IBM がMVSメインフレーム プラットフォーム上で DB2 をリリースした 1983 年に初めてデータベース管理システムに付けられました。[ 14 ] IBM が Db2 で SQL を推奨したことで、業界はIngresのQUELなどの代替手段から SQL に移行しました。[ 15 ] Db2 は 1985 年に一般顧客に提供され、[ 16 ] 1989 年までに約 10 億ドルの収益が IMS と同等に成長しました。[ 17 ] [ 16 ]
フル機能のDBMSであるDB2は、長年にわたりIBMメインフレームでのみ利用可能でした。その後、IBMはDB2をOS/2、UNIX、MS Windowsサーバー、そしてLinux(IBM Z上のLinuxを含む)やPDAなど、他のプラットフォームにも展開しました。このプロセスは1990年代を通じて行われました。DB2の実装はz/VSEおよびz/VMでも利用可能です。DB2 LUW(Linux、Unix、Windows)となるコードの初期バージョンは、 OS/2の拡張版コンポーネントであるDatabase Managerの一部でした。
IBMは、分散リレーショナルデータベースアーキテクチャ(DRDA)による分散データベース機能の追加など、Database Managerの機能を幾度となく拡張してきました。DRDAは、LAN上の遠隔地にあるデータベースへの共有アクセスを可能にするものです。(なお、DRDAは分散データ管理アーキテクチャ(DDM)で定義されたオブジェクトとプロトコルに基づいています。)
最終的に、IBMはソフトウェアを完全に書き直すことを決定しました。新しいバージョンのデータベースマネージャは、それぞれDB2/2とDB2/6000と呼ばれました。異なるコードベースを持つ他のバージョンのDB2も、同じ「/」命名規則に従い、DB2/400(AS/400用)、DB2/VSE(DOS/VSE環境用)、DB2/VM(VMオペレーティングシステム用)となりました。IBMの弁護士はこの便利な命名規則の使用を禁止し、すべての製品は「プラットフォーム向け製品」(たとえば、DB2 for OS/390)という名称にする必要があると判断しました。メインフレームおよびサーバーベースの製品の次のバージョンは、DB2 Universal Database(またはDB2 UDB)と名付けられました。
1990年代半ば、IBMはDB2 Parallel Editionと呼ばれるクラスタ型DB2実装をリリースしました。これは当初AIX上で動作しました。このエディションは、共有なしアーキテクチャを採用することで拡張性を実現しました。このアーキテクチャでは、単一の大規模データベースが高速インターコネクトを介して通信する複数のDB2サーバーに分割されます。このDB2エディションは最終的にすべてのLinux、UNIX、およびWindows(LUW)プラットフォームに移植され、DB2 Extended Enterprise Edition(EEE)と改名されました。現在、IBMはこの製品をDatabase Partitioning Feature(DPF)と呼び、主力製品であるDB2 Enterpriseにバンドルしています。
Informix CorporationがIllustraを買収し、 Universal Serverを導入して自社のデータベースエンジンをオブジェクトSQL DBMSにしたとき、 Oracle CorporationとIBMもそれに倣い、自社のデータベースエンジンをオブジェクトリレーショナル拡張機能に対応できるように変更しました。2001年、IBMはInformix Softwareを買収し、その後数年間でInformixの技術をDB2製品スイートに組み込みました。DB2は技術的にはオブジェクトSQL DBMSとみなすことができます。
2006 年半ば、IBM は分散プラットフォームと z/OS の両方で DB2 9 のコードネームである「Viper」を発表しました。z /OS用の DB2 9 は2007 年初頭に発表されました。IBM は、新しい DB2 はXML を「ネイティブに」格納する最初のリレーショナル データベースであると主張しました。その他の機能強化には、分散プラットフォーム向けのOLTP関連の改善、z/OS 向けのビジネス インテリジェンス/データ ウェアハウジング関連の改善、自己調整および自己管理機能の強化、追加の 64 ビット活用 (特に z/OS の仮想ストレージ向け)、 z/OS 向けのストアド プロシージャのパフォーマンス強化、z/OS と分散プラットフォーム間の SQL 語彙の継続的な統合が含まれます。
2007年10月、IBMは分散プラットフォーム向けDB2 9.5のコードネームである「Viper 2」を発表した。このリリースには、管理の簡素化、ビジネス上重要な信頼性、アジャイルなXML開発という3つの主要テーマがあった。
2009 年 6 月、IBM は LUW 用の DB2 9.7 のコードネームである「Cobra」を発表しました。[ 18 ] DB2 9.7 では、データベース インデックス、一時テーブル、およびラージ オブジェクトのデータ圧縮が追加されました。また、DB2 9.7 では、ハッシュ パーティショニング (データベース パーティショニング)、レンジ パーティショニング (テーブル パーティショニング)、および多次元クラスタリングでネイティブ XML データもサポートされました。これらのネイティブ XML 機能により、ユーザーはデータ ウェアハウス環境で XML を直接操作できます。DB2 9.7 では、Oracle Database ユーザーが DB2 をより簡単に操作できるようにする機能もいくつか追加されました。これには、Oracle Database の最も一般的に使用される SQL 構文、PL/SQL構文、スクリプト構文、およびデータ型のサポートが含まれます。また、DB2 9.7 では、Oracle Database および Microsoft SQL Server のユーザーに馴染みのある動作を示すように同時実行モデルが強化されました。
2009年10月、IBMはDB2 pureScaleを発表し、その年2度目のメジャーリリースとなりました。DB2 pureScaleは、メインフレーム以外のプラットフォーム向けのクラスタデータベースであり、オンライン・トランザクション処理(OLTP)ワークロードに適しています。IBMは、DB2 pureScaleの設計を、メインフレーム上でDB2データ共有を実現するParallel Sysplexの実装に基づいて行いました。DB2 pureScaleは、フォールトトレラントなアーキテクチャと共有ディスクストレージを提供します。DB2 pureScaleシステムは最大128台のデータベースサーバーまで拡張可能で、継続的な可用性と自動負荷分散を実現します。
2009年、DB2がMySQLのエンジンとして利用できることが発表されました。これにより、IBM iプラットフォームのユーザーと他のプラットフォームのユーザーは、MySQLインターフェースを介してこれらのファイルにアクセスできるようになります。IBM iおよびその前身であるOS/400では、DB2はオペレーティングシステムに緊密に統合されており、オペレーティングシステムの一部として提供されます。ジャーナリング、トリガー、その他の機能を提供します。
2012年初頭、IBMはLinux、UNIX、Windows向けのDB2の次期バージョンであるDB2 10.1(コードネーム:Galileo)を発表しました。DB2 10.1には、データベースをきめ細かく制御できる行および列アクセス制御や、データの「ホット」または「コールド」(データへのアクセス頻度)に基づいてデータをコスト効率の良いストレージに移動するマルチ温度データ管理など、多くの新しいデータ管理機能が搭載されています。また、IBMはDB2 10.1で、データテーブルを圧縮する新しいアプローチである「適応型圧縮」機能も導入しました。
IBMは2013年6月にDB2 10.5(コードネーム「Kepler」)をリリースした。
IBMは2016年4月12日にDB2 LUW 11.1を発表し、同年6月にリリースした。
2017年半ば、IBMはDB2とdashDBという製品群のブランド名を変更し、名称を「Db2」に変更した。
2019年6月27日、IBMはAIデータベースであるDb2 11.5をリリースしました。クエリのパフォーマンスを向上させるAI機能と、AIアプリケーション開発を容易にする機能が追加されました。[ 19 ] [ 20 ] [ 21 ]
1995年、V4が一般提供開始(GA)されました。このバージョンでは「データ共有」が導入され、複数のDB2エンジンが同じデータにアクセスできるようになりました。利点としては、パフォーマンスと可用性の向上(1つのDB2エンジンが故障した場合や、次のバージョンに移行した場合)が挙げられます。
1997年にV5のGAがリリースされました。例えば、テーブルスペースのオンライン再編成機能が追加されました。
1999年、V6が一般提供開始(GA)されました。このバージョンでは、オブジェクトリレーショナルデータベースのサポートが追加されました。ここでいう「オブジェクト」とは、32Kバイト(当時のテーブル行の最大長、より正確にはテーブルレコードの長さ)を超えるデータ項目、例えば画像、動画、テキストなどを指します。DB2は、このようなオブジェクトを保存および処理できるようになりました。さらに、トリガーのサポートも追加されました。
2001年、バージョン7が一般提供開始されました。このバージョンでは、例えば、データセット(z/OS上の~ファイル)の動的割り当てや、ユーティリティをテーブルスペースのリスト上で実行できる機能などが追加されました。さらに、リアルタイム統計、スクロール可能なカーソル、および初期Unicodeサポートも提供されました。
2004年にV8が一般提供開始されました。64ビットサポートなどが追加されました。新しいインデックスタイプ(特にDPSI)、再帰SQLも追加されました。内部カタログはUnicodeに変換されました。
2007年にV9が一般提供開始されました。このバージョンでは、例えば、Trusted Context(セキュリティ機能)や「ネイティブXML」のサポートが追加されました。
2010年にV10が一般提供開始されました。このバージョンでは、テンポラルテーブル(行履歴など)、システム管理者とセキュリティ管理者の分離といったセキュリティ機能、RCAC(行列アクセス制御)などが追加されました。
2013年にV11が一般公開されました。例えば、JSONサポートが追加されました。
2016年にV12が一般提供開始されました。RESTfulサービスなどが追加され、AIを使用してデータへのアクセスパスの選択を最適化し、パフォーマンスが向上しました。
IBMは2022年5月31日にDb2 13 for z/OSをリリースした。[ 22 ]
「データウェアハウジング」は、1988年のIBM Systems Journalの記事「ビジネス情報システムのアーキテクチャ」で初めて言及されました。[ 23 ]この記事では、ビジネス環境におけるデータウェアハウジングの最初のユースケースと、その適用結果が示されました。
従来のトランザクション処理データベースでは、ビジネスリーダーがデータに基づいた意思決定を行うために必要な洞察を提供することが困難でした。新たな洞察を得て、パターンを明らかにし、データ間の隠れた関係性を見つけるためには、複数のトランザクションソースからデータを集約・分析する新しいアプローチが必要でした。Db2 Warehouseは、複数のソースからのデータを正規化する機能を備え、高度な分析と統計モデリングを実行することで、これらの機能を迅速かつ大規模に企業に提供します。
計算能力の向上に伴い、企業全般、特にデータウェアハウスにおけるデータ量が爆発的に増加しました。ウェアハウスの容量はギガバイト(GB)からテラバイト(TB)、ペタバイト(PB)へと拡大しました。データの量と種類が増加するにつれて、Db2 Warehouseも進化を遂げました。当初はスター型スキーマとスノーフレーク型スキーマ向けに設計されたDb2 Warehouseは、現在では以下のデータ型や分析モデルなどをサポートしています。
Db2 WarehouseはDockerコンテナを使用して、オンプレミス、プライベートクラウド、マネージドクラウドとアンマネージドクラウドを含む様々なパブリッククラウドなど、複数の環境で動作します。Db2 Warehouseは、ソフトウェア単体、アプライアンス、そしてIntel x86、Linux、メインフレームプラットフォームにデプロイできます。IBMのCommon SQLエンジンを基盤とするDb2 Warehouseは、Oracle、Microsoft SQL Server、Teradata、オープンソース、Netezzaなど、複数のソースからデータをクエリします。ユーザーはクエリを一度記述するだけで、複数のソースから迅速かつ効率的にデータを取得できます。
Db2 on Cloud:以前は「dashDB for Transactions」と呼ばれていたDb2 on Cloudは、フルマネージド型のクラウドSQLデータベースであり、99.99%の稼働率SLAを特徴とする高可用性オプションを備えています。Db2 on Cloudは、ストレージとコンピューティングの独立したスケーリング、およびローリングセキュリティアップデートを提供します。
Db2 on Cloudは、IBM CloudとAmazon Web Services(AWS)の両方にデプロイ可能です。
主な機能は以下のとおりです。
Db2 Hosted:以前は「DB2 on Cloud」と呼ばれていたDb2 Hostedは、 Db2 on Cloudのトランザクション型SQLクラウドデータベースの、管理機能のないホスト型バージョンです。
主な特徴:
以前は「dashDB for Analytics」と呼ばれていたDb2 Warehouse on Cloudは、高性能な分析および機械学習ワークロード向けに構築された、フルマネージドで柔軟なクラウドデータウェアハウスです。
主な機能は以下のとおりです。
2018年、IBM SQL製品は名称変更され、現在はIBM Db2 Big SQL(Big SQL)として知られています。Big SQLは、Hadoopエンジン上で動作するエンタープライズグレードのハイブリッドANSI準拠SQLであり、大規模並列処理(MPP)と高度なデータクエリ機能を提供します。その他の利点としては、低レイテンシー、高パフォーマンス、セキュリティ、SQL互換性、フェデレーション機能などが挙げられます。
Big SQL は、HDFS、RDBMS、NoSQL データベース、オブジェクト ストア、WebHDFS など、さまざまなソースに対して単一のデータベース接続またはクエリを提供します。Hive を活用したり、Hbase や Spark を活用したり、クラウド、オンプレミス、またはその両方で、Hadoop やリレーショナル データベース全体にわたるデータにアクセスできます。
データサイエンティストやアナリストなどのユーザーは、他のHadoop向けSQLオプションと比較して、より少ないハードウェアでより多くの同時ユーザーをサポートしながら、より高度なアドホッククエリや複雑なクエリを実行できます。Big SQLは、ANSI準拠のSQLパーサーを提供し、新しいAPIを使用して非構造化ストリーミングデータからクエリを実行します。
Big SQLは、IBM Common SQL Engineとの統合により、Db2ファミリーのすべての製品群、およびIBM Integrated Analytics Systemと連携するように設計されています。Big SQLは、柔軟性と移植性、強力なデータ統合、柔軟なライセンス体系を実現するIBMの包括的な戦略であるIBM Hybrid Data Management Platformの一部です。
1994年、IBMはOS/400の統合リレーショナルデータベースをDB2/400に改名し、他のプラットフォーム上のDB2と同等の機能を持つことを示すようにした。[ 26 ]この名称にもかかわらず、DB2のコードに基づいているわけではなく、IBM System/38の統合データベースから発展したものである。この製品は現在IBM Db2 for iという名称である。[ 27 ]
IBMはDb2の4つのエディション、すなわちCommunity Edition、Starter Edition、Standard Edition、およびAdvanced Server Editionを提供しています。[ 30 ]
IBM Db2 Community Editionは、無料でダウンロードして使用できる IBM Db2 データベースのエディションです。バージョン 11.5 は、Db2 のすべてのコア機能を提供しますが、仮想プロセッサ コアが 4 つ、インスタンス メモリが 16 GB に制限されており、エンタープライズ レベルのサポートやフィックス パックはありません。[ 30 ]一方、バージョン 12.1 では、サーバー メモリが仮想サーバーまたは物理サーバーあたり 8 GB にさらに制限され、[ 31 ]使用が非本番環境に限定されています。[ 32 ]
バージョン11.5.1以降、データベースのサイズに制限はありませんが、以前のリリースでは100GBの制限が設けられていました。以前の無料版Db2であるIBM DB2 Express-Cは、最大16GBの RAMと2つのCPUコアをサポートしていました。
Starter エディションは Db2 バージョン 12.1 で導入されました。これは有料製品であり、4 コアと 16 GB のメモリに制限されているほか、ネイティブ暗号化、監査ログ、フェデレーション、Db2 pureScale などの高度な機能に制限があるなど、いくつかの制限があります。[ 33 ]
Db2 Standard Editionは、IBMサポート付きで、最大16個のプロセッサー・コアと128GBのRAMを搭載した環境で、運用環境および非運用環境向けに永続ソフトウェア・ライセンスとして提供されます。運用環境向けの場合、Db2 Standard Editionは仮想プロセッサー・コア・メトリックに基づいてライセンスされます。これは、非パーティション化物理サーバーのプロセッサー・コアの総数、または仮想サーバーに割り当てられた仮想コアの数に基づいてライセンスされます。非運用環境向けの場合、Db2 Standard Editionは承認済みユーザーの総数に基づいてライセンスされます。
Db2 Advanced Editionは、IBMハイブリッド・データ・マネジメント・プラットフォーム(HDMP)のコンポーネントとしてのみ提供されます。HDMP内では、Db2は永久ソフトウェア・ライセンスと月額サブスクリプションの両方で利用可能で、IBMのプレミアム・サポート付きで、運用環境および非運用環境で無制限に使用できます。HDMPの永久ライセンスとサブスクリプションの両方で、FlexPointを購入する必要があります。FlexPointは汎用ライセンス・クレジットであり、Db2ファミリーのソフトウェア製品またはクラウド・サービス・オファリングの導入に使用できます。
Db2は、コマンドラインまたはGUIのどちらからでも管理できます。Db2はSQLとXQueryの両方をサポートしています。DB2はXMLデータストレージをネイティブに実装しており、XMLデータは(リレーショナルデータやCLOBデータではなく)XMLとして格納されるため、XQueryを使用してより高速にアクセスできます。
Db2 は、 Rexx、PL/I、COBOL、RPG、Fortran、C++、C、Delphi、.NET CLI、Java、Python、Perl、PHP、Rubyなど、多数のプログラミング言語に対応した API を提供しています。また、EclipseおよびVisual Studioといった統合開発環境への統合もサポートしています。
pureQuery は、データにアクセスするアプリケーションに特化したIBMのデータアクセスプラットフォームです。pureQueryはJavaと.NET の両方をサポートしています。pureQuery は、IBM Data Studio Developer および IBM Data Studio pureQuery Runtime で提供されるツール、API、およびランタイム環境を介して、データベースおよびインメモリ Javaオブジェクト内のデータへのアクセスを提供します。[ 34 ]
1983年にMVS(後にOS/390)向けDB2が登場
1983年のDB2導入以来、IBMは...
リレーショナル・データベース管理…IBMのDB2
1970 年代に IBM リサーチがリレーショナル モデルと構造化クエリ言語 (SQL) を発明して以来、IBM は RDBMS ソフトウェアの完全なファミリーを開発してきました。開発は、仮想マシン (VM)、仮想ストレージ拡張 (VSE)、マルチプル仮想ストレージ (MVS) などのメインフレーム プラットフォームで開始されました。1983 年に、DB2 for MVS バージョン 1 が誕生しました。「DB2」は、当時人気だった情報管理システム (IMS) のような階層型データベースから新しいリレーショナル データベースへの移行を示すために使用されました。
Db2 for z/OSは、高い可用性、セキュリティ、およびパフォーマンスで大量のデータを管理するために使用できるリレーショナル・データベースです。