図 1 は、 DB2 エンタープライズ拡張エディション (DB2 EEE) のハードウェア構成の例を示しています。
図 1. DB2 エンタープライズ拡張エディションのハードウェア構成
![]() |
DB2 EEE は、LAN によって内部接続された個々のマシンのクラスター上で実行することができます。すべてのデータベース区画サーバーの相互通信は、高速コミュニケーション・マネージャー (FCM) という DB2 EEE 構成要素によって処理されます。
次に、区分データベース・システムを構成する前に精通しておく必要のある情報を提供します。特に、次の事柄について説明します。
DB2 エンタープライズ拡張エディションは、非共用アーキテクチャーを実現します。したがって、データベース区画サーバーはそれぞれ単一区画データベース・システムに相当することになります。したがって、区分データベース・システムのデータベース記憶容量は、単一区画データベース・システムにデータベース区画サーバー数を掛けたものに等しくなります。 1 つのデータベース区画につき最大 512 GB (ギガバイト) の表を保管することができます。たとえば、128 個の区画をもつデータベースでは、 1 つの表の最大サイズは約 64 TB (テラバイト) です。
1 つのデータベースに、 1 つまたは複数のデータベース区画の名前付きサブセットを定義することができます。定義するそれぞれのサブセットをノード・グループ といいます。複数のデータベース区画を含むそれぞれのサブセットを、複数区画ノードグループ といいます。複数区画ノードグループは、同じデータベースに属するデータベース区画内でのみ定義することができます。
データベースを作成するときには、3 つのデフォルトのノードグループ、 IBMDEFAULTGROUP、IBMCATGROUP および IBMTEMPGROUP が作成されます。
必要であれば、デフォルトのノードグループである IBMDEFAULTGROUP および IBMCATGROUP で表スペースを作成し、それらの表スペースの中に表を作成することができます。
IBMDEFAULTGROUP ノード・グループには、データベースのすべてのデータベース区画が含まれます。データベースを作成すると、インスタンス内の各データベース区画サーバー (ノード) で、データベース区画が作成されます。
データベースの IBMCATGROUP ノード・グループは、 create database コマンドを入力したデータベース区画サーバーで作成されます。このノード・グループに入っているのは、このコマンドが入力されたデータベース区画サーバーに対してローカルであるデータベース区画だけです。このデータベース区画サーバーを、データベースのカタログ・ノード といいます。なぜなら、IBMCATGROUP ノード・グループにはデータベースのカタログ表が含まれるからです。
3 番目のデフォルトのノードグループ IBMTEMPGROUP では、直接作業することはできません。 IBMDEFAULTGROUP ノードグループと同様に、このノードグループにもデータベースのすべてのデータベース区画が含まれます。このノードグループは、すべての一時表スペースを入れるのに使用します。
図 2 は、 3 つのノードグループを持つデータベースの例を示しています。ノードグループ 1 は 4 つのデータベース区画からなる複数区画ノードグループで、ノードグループ 2 は単一区画のノードグループ、そしてノードグループ 3 は複数区画のノードグループです。
![]() |
データベースの表スペースを作成したいときには、まず最初に、表スペースを保管するノード・グループを作成し、それからノード・グループ内の表スペースを作成します。この後で、表スペース内の表を作成します。
ノード・グループからデータベース区画を除去することができます。また、データベース・システムのサイズが増大されている場合は、既存のノードグループに新規のデータベース区画を追加することができます。ノードグループ内のノードの追加および消去については、管理の手引き を参照してください。
データベースのサイズを大きくする場合、データベース・システムにデータベース区画サーバーを追加して、パフォーマンスを向上させることができます。これを、データベース・システムの大規模化といいます。データベース区画サーバーを追加するときには、データベース・システムにすでに存在するデータベースごとに、データベース区画が作成されます。その後で、新しいデータベース区画を、そのデータベースに属する既存のノード・グループに追加します。最後に、そのノード・グループ内のデータを再分配して、新しいデータベース区画を使用します。データベースの拡大縮小については、管理の手引き を参照してください。
複数区画ノードグループで定義されたそれぞれの表には、それに関連付けられた区分化キー があります。区分化キーは、その値を区分化マップ と共に使用して、指定された表の行が存在するデータベース区画を判別するための列の順序付きセットです。区分化マップは、4 096 個のデータベース区画番号の配列です。
任意のデータ・タイプ (LONG VARCHAR、LONG VARGRAPHIC、BLOB、または CLOB を除く) の列を区分化キーとして使用することができます。単一区画ノード・グループで定義する表には、区分化キーがあってもなくてもかまいません。長形式フィールドの列しか入っていない表は、単一区画ノードグループ内でのみ定義することができ、区分化キーを持つことはできません。表の作成の詳細については、SQL 解説書 を参照してください。
ノードグループおよび区分化キーを使用すると、次の効果があります。
ノードグループの作成の詳細については、SQL 解説書 を参照してください。ノードグループの使用の詳細については、管理の手引き を参照してください。
通常、各マシンに 1 つのデータベース区画サーバーを割り当てるように DB2 エンタープライズ拡張エディションを構成することができます。しかし、各マシンに複数のデータベース区画サーバーを割り当てたほうが都合がよい場合もあります。これらのデータベース区画サーバー (ノード) が、 同じ インスタンスを構成する場合、これを複数論理ノード (MLN) 構成といいます。
複数論理ノード (MLN) 構成は、システムが、対称マルチプロセッサー (SMP) アーキテクチャーを持つマシンで照会を実行するときに役立ちます。それ以外にも、複数論理ノードの使用によって、 SMP ハードウェア構成を活用できるという利点があります。加えて、データベース区画がより小さくなるので、データベース区画や表スペースのバックアップおよび復元、さらに索引の作成といったタスクを実行する際に、より良いパフォーマンスを得ることができます。一般に、4 つのプロセッサーに対し 1 つの MLN を実行することをお勧めします。 DB2 EEE を稼働しているオペレーティング・システムによっては、パフォーマンス上の理由で別の方法が有効になる場合もあります。
インスタンスには自分自身のデータベースとインスタンス・ディレクトリーがあります。インスタンス・ディレクトリーには、データベース・マネージャー構成ファイル、システム・データベース・ディレクトリー、ノード・ディレクトリー、およびノード構成ファイルが入っています。区分データベース・システム内のインスタンスの詳細については、 管理の手引き を参照してください。
DB2 エンタープライズ拡張エディションでは、特定の区分データベース・システムの一部を成すと定義されたすべてのデータベース区画サーバー (ノード) が、インスタンスに入っています。インスタンスを所有するマシン (ノード 0 と呼びます) は、この情報が保管されている共用ディレクトリーを所有します。インスタンスに追加されたその他のデータベース区画サーバーを、そのインスタンスの一員であると言います。
それぞれのインスタンスには、同じマシンにある他のインスタンスとは異なるセキュリティーがあります。このことは 図 3 に示されています。図の中は 2 つの別個のインスタンスがあります。インスタンス 1 には 6 個のデータベース区画サーバーがあり、インスタンス 2 には 8 個のデータベース区画サーバーがあります。 (複数のデータベース区画サーバーがある場合には、データベース区画サーバーとインスタンス・ディレクトリーの間に複数の線が引かれています。) 2 つのインスタンスは重なっていますが、これは、図の中央にある 3 台のマシンのそれぞれに、 2 つのデータベース区画サーバーを割り当てているためです。
データベース区画サーバーは、1 つのインスタンスにしか帰属しません。たとえば、インスタンス 1 には、インスタンス 2 に属するデータベース区画サーバーは含まれません。
![]() |
次の目的で、同じマシンに複数のインスタンスを用意し、それぞれを異なる仕方で構成することができます。
各インスタンスは、そのインスタンスが最初に作成されたマシンに所有されます (このマシンを、インスタンス所有マシン、つまりノード 0 といいます)。インスタンス所有マシンは、すべてのデータベース区画サーバーに共通した情報を保管します。インスタンスの作成の詳細については、 管理の手引き を参照してください。
高速コミュニケーション・マネージャー (FCM) は、DB2 エンタープライズ拡張エディションの通信サポートを提供します。データベース区画サーバーには、それぞれ 1 つの FCM スレッドがあります。それによって、データベース区画サーバー間の通信の提供、エージェント要求の処理、およびメッセージ・バッファーの送達を行います。インスタンスを開始すると、FCM スレッドが開始されます。
データベース区画サーバーの相互通信で障害が発生した場合や、または通信が再確立された場合、
FCM スレッドは情報 (データベース・システム・モニターで照会できる情報) を更新し、適切な処置 (影響を受けたトランザクションのロールバックなど) をとらせます。データベース・システム・モニターを使用すると、FCM 構成パラメーターを設定するのに役立ちます。
FCM に関連したデータベース・システム・モニター出力については、システム・モニター 手引きおよび解説書 を参照してください。
![]() | FCM メッセージ・バッファーの数は、 fcm_num_buffers データベース・マネージャー構成パラメーターで指定することができます。このパラメーターおよび他の FCM パラメーターについては、 管理の手引き を参照してください。 |
マシンで障害が生じた場合に、障害が生じたマシンのデータベース・サーバー (またはノード) が別のマシンで稼働できるように、区分データベース・システムをセットアップすることができます。 MSCS は、物理ディスクや IP アドレスのフェールオーバー・サポートのような、クラスター環境での障害の検出とリソースの再始動の両方を実行することができます。 Windows では、 Microsoft Cluster Service (MSCS) を使ってフェールオーバーのサポートを実現します。 MSCS を使用するには、MSCS 構成要素をインストールしたうえで、 Windows NT Server 4.0 Enterprise Edition、または Windows 2000 Advanced Server が必要です。詳細については、管理の手引き を参照してください。
Windows では、DB2 エンタープライズ拡張エディション (DB2 EEE) は仮想インターフェース・アーキテクチャー (VI) の利点を活用することができます。 VI アーキテクチャーは、サーバーでデータをやりとりする場合の大ボリュームの標準相互接続のニーズにこたえるため、さまざまな企業の努力によって開発されたのものです。 VI アーキテクチャーを使うと、大ボリュームのデータをクラスターがたがいに高速でやりとりすることができます。
VI アーキテクチャーが開発される前は、クラスター内のデータベース区画サーバー相互の通信は、オペレーティング・システムに備わったネットワーク・インフラストラクチャーを介して行われていました。そのため、区分データベース・サーバーの通信が行われるたびに、オペレーティング・システムにかかる処理のオーバーヘッドが生じていました。 VI アーキテクチャーは、シンでしかも高速のインターフェースを定義し、それによって、ネットワークのハードウェアにソフトウェア・アプリケーションを直接接続する一方で、オペレーティング・システムのセキュリティー保護を強固に保ちます。通信に重点が置かれた環境では、 DB2 EEE とともに VI アーキテクチャーを導入すれば、データベース・トランザクションと照会の全体的なシステム・スループットで、かなりの改善を実現することができます。詳細については、管理の手引き を参照してください。