Adabas は適応性に優れたデータベースで、データベースのパフォーマンスが重要な要素であるメインフレームプラットフォーム向けの高性能、マルチスレッド型のデータベース管理システムです。 メインフレーム、ミッドレンジ、PC を含む複数の異なるプラットフォーム間で、優れた相互運用性、拡張性、移植性を発揮するデータベースです。
このドキュメントでは、次のトピックについて説明します。
Adabas は、24 時間 365 日動作するように設計されています。 スペースはダイナミックに管理されます(「Adabas のスペース管理」を参照)。ファイルは、ロードおよびアンロード、バックアップおよびリストアが可能です。また、アクティブなデータベースを中断することなくシステムパフォーマンスを分析できます。
Adabas では、データを圧縮形式で格納し、必要なスペースを削減します。 最新のデータベースはギガバイト(1000 メガバイト)単位の容量を持ち、時にはテラバイト(1000 ギガバイト)にもなる場合もあります。したがって、データの保存には大容量のディスクスペースが必要となります。 また、必要なスペースが削減されると、入力/出力(I/O)システムの効率も改善されます。
パフォーマンスは Adabas の主要な要素です。Adabas には、パフォーマンスを向上させる多くの機能が含まれています。 例えば、数多くのセットアップパラメータを利用して、データベースの操作環境をチューニングできます。また、その多くが、データベースがアクティブでも変更が可能です。
Adabas は、データベースまたはシステムの異常終了から自動的に復帰します。 Adabas データベースが開始するときは、必ず自動チェックが開始され、データベースが前回正常に終了したか、またはアクティブなトランザクションが中断されていないかを確認します。 トランザクションが中断されていた場合、Adabas は未完了のトランザクションのすべての変更を自動的にリセットして、データベースの一貫性を保ちます。
メインフレーム版の Adabas 8 は、次のオペレーティング環境をサポートします。
SNI の BS2000
IBM の z/OS、VSE、および z/VM
次の環境で Adabas を使用すると、メインフレーム Adabas を分散環境で使用することができます。
OpenVMS 上で動作している Digital の VAX および Alpha AXP
OS/400 上で動作している IBM の AS/400
VS 上で動作している Wang
OS/2 または Windows/NT 上の IBM PC および互換機
各種のサポート済み UNIX プラットフォーム
コミュニケーションインターフェイスとして、メインフレーム Adabas は、 Com-plete などの Software AG の TP モニタ、および TSO、 CICS、 IMS/DC、 AITM/DC、 TIAM、 UTM、および Shadow などのその他の一般的なモニタをサポートしています。
Software AG のマルチシステム処理ツール Entire Net-Work は、Adabas やその他のサービスタスクを使用したネットワーク全体における通信を可能にし、分散処理のメリットを受けることができます。
ネットワークアクセスメソッドのサポートはラインドライバの形で実装されています。 メインフレーム Entire Net-Work は、 VTAM、 IUCV、 DCAM、 CTCA(チャネル間アダプタ)、 TCP/IP、および XCF に対するドライバを提供します。
Adabas は次の点でリレーショナル型の特徴を備えています。
行がデータのレコードを表し、列がフィールドを表す表形式でデータを格納する
個別の Adabas ファイルは、共通のフィールドにより論理的にリンクすることができる
Adabas は、次の点で真のリレーショナルデータベースとは異なります。
多くのデータの関係情報を物理的に格納するため、すべての関係情報を実行時に論理的に作成する真のリレーショナルデータベースと比較して求められる CPU リソースが少なくて済む
フィールドの繰り返しグループのサポート
Adabas では、データの関係、管理、および実際の物理データからの取得を区別し、物理データを独立して格納します。 柔軟性に富んだアクセス方法が提供され、単純な検索や複雑な検索も迅速に効果的に行うことができます。 プログラムからデータが独立しているため、データベース構造が変更されても、再プログラムを行う必要性が最小限に抑えられます。
必要に応じて、論理データ関係を作成できます。 Adabas は、ユーザーの環境によって左右されるどのような表現やアクセス要件にも対応します。 企業ユーザーは、個別にシステム内でのデータの表示方法を決定することができ、データベースや既存のプログラムを変更することなく、データ関係をダイナミックに変更することができます。
すべてのデータに対して単一のモデルが要求されるシステムとは異なり、Adabas では、アプリケーションで要求されるどのような構造も選択できます。 データモデルの観点からの選択により、さまざまなデータモデルを使用して同一のデータにアクセスできます。
ネストされた関係を含むリレーショナル型(テーブル内のテーブル)
構造型オブジェクトをサポートする実証済みの機能を備えたエンティティ関係
階層型、ネットワーク
地理情報
テキスト
これらのデータモデルは、単一のビジネスソリューション内で組み合わせることが可能です。また、異なるソリューションでは、異なるデータモデルを使用して Adabas データを表示できます。
新しい要件が発生すると、Adabas は、データベースの再設計やアプリケーションシステムの再プログラムを行わずに、範囲や複雑さを拡張できます。 例えば、フィールドやアクセスキーは、ファイルの再ロードや再構成を必要とせずに、いつでも Adabas ファイルに追加できます。
次の図は、Adabas システムの動作構造を示しています。
Adabas ニュークリアスおよび入力/出力(I/O)バッファは、開始時にメインメモリにロードされます。 ニュークリアスはプログラムの集まりを指し、Adabas を操作したり、すべての処理を調整したり、ユーザープログラムのステートメントを Adabas コマンドに変換したりします。 すべてのプログラムは、ニュークリアスを介して Adabas ファイルにアクセスします。 データアクセスや更新などのデータベースのアクティビティはすべて、Adabas ニュークリアスにより管理されます。 ほとんどの場合、1 つのニュークリアスが 1 つの物理データベースを管理します。
注意:
単一の物理データベースに対する複数のニュークリアスの実行についての情報は、単一のオペレーティングシステムイメージ上で動作する場合は、「Adabas
Parallel Services」を、複数の z/OS イメージ上で動作する場合は「Adabas
Cluster Services」を参照してください。
Adabas 入力/出力バッファエリアには、よく使用されるデータとデータ間の関係が含まれており、このエリアのサイズは Adabas セッションごとに変更することができます。このエリアでは、物理的入力/出力(I/O)アクティビティが最小化されるため、コンピュータの処理時間が節約されます。 このバッファエリアには、データベースから読み込まれたブロックとデータベースに書き込まれるブロックが格納されます。
データベースから読み込まれるブロックのうち、最も頻繁にアクセスされるブロックは、バッファアルゴリズムによってメモリに保持されます。 データベース内のブロックが必要になると、バッファの内容がチェックされ、そのブロックがすでにメモリにあるかどうかが調べられます。これにより、不必要な読み込みが避けられます。
Adabas はマルチスレッド処理を提供し、スループットを最大化します。 I/O アクティビティにより、アクティブなスレッドでコマンドの処理が中断された場合は、自動的に別のスレッドに切り替えられます。 ユーザーは、最大 250 個までの Adabas セッションで使用できるように、8 KB スレッドの数を設定できます。
データストレージ、 アソシエータおよび ワークコンポーネントは、次に示すように物理的なディスクエリアです。
データストレージには、未加工データが含まれます。通常、データは圧縮形式で格納されます。
アソシエータには、データ関係についての情報が含まれます。
ワークエリアには、データプロテクションエリア、および複合検索操作や分散トランザクション処理の中間結果を格納する一時ストレージが含まれます。
これらのデータベースコンポーネントの詳細は、「Adabas 設計」を参照してください。
ファイルのロードや削除などのデータベースサービスは、オンラインおよびバッチモードのユーティリティプログラムの統合セットにより処理されます。 ほとんどのユーティリティは、通常のデータベースアクティビティと並行して実行できるため、毎日の運用を中断することはありません。
Adabas ユーティリティは、初期設計およびロード操作、バックアップ/リストア/リカバリルーチン、データベース更新ルーチン、および監査/制御/チューニング処理の各機能を提供します。 各ユーティリティの簡単な説明については、「Adabas ユーティリティ」を参照してください。
ニュークリアスは、次の言語で書かれたバッチまたはオンラインのユーザープログラムによりコールされます。
Software AG の第 4 世代のアプリケーション開発環境である Natural、またはその他の第 4 世代言語
アセンブラ、またはパワフルで柔軟な Adabas ダイレクトコールインターフェイスを使用する FORTRAN、COBOL、PL/I などの第 3 世代プログラミング言語(REXX/VSE インタプリタ言語もサポートされます) 各 Adabas コールは、パラメータリストを使用します。パラメータリストは、Adabas へ、または Adabas からの情報の転送に使用するユーザープログラムで定義されたバッファを識別します。
注意:
Ada、COBOL、FORTRAN、および PL/I プログラム用のプリコンパイラである、Adabas Native SQL
の詳細は、このマニュアルの「」を参照してください。 Adabas への SQL
インターフェイスである、Adabas SQL Gateway の詳細は、「Adabas SQL Gateway」を参照してください。
VSAM、DL/I、IMS/DB、SESAM、または TOTAL データベース構造からのデータは、Adabas Bridge 製品を使用して Adabas に送信および格納できます。 変更されていない元のプログラムは、元のデータアクセスコマンドを使用して動作を続行しますが、Brigde 製品はデータアクセスコマンドをインターセプトして、Adabas ダイレクトコールに送信します。 Adabas Bridge の詳細は、「Adabas Bridges」を参照してください。
Adabas の基幹部分である Adabas トリガおよびストアドプロシージャ機能は、Natural とともに使用して(「Natural アプリケーション開発環境」を参照)、Adabas サーバー環境内でトリガおよびストアドプロシージャを記述および管理できます。 トリガは、体系的に使用するプログラムのことで、このプログラムはイベントに基づいて自動的に起動されます。例えば、参照の保全性を確保するために使用できます。 ストアドプロシージャは、特別なユーザーコールの結果として Adabas により実行される、多くの異なるクライアントで使用されるプログラムです。 これらのプログラムをサーバー上の Adabas ファイルに格納すると、サーバーとの間で送受信するデータのトラフィック量を削減できます。 Adabas トリガおよびストアドプロシージャの詳細は、「トリガとストアドプロシージャの使用」を参照してください。
ほとんどのシステムでは、Adabas に対する標準コールが許可されていません。アプリケーションプログラムから発行されたコールを Adabas で処理可能な形式に変換するアプリケーションプログラムインターフェイス(API)を提供します。 Adabas API は、すべてのサポートされるメインフレームプラットフォーム上で、バッチおよびオンライン処理で利用可能です。
オンライン処理は、TP モニタにより制御されます。TP モニタは、Adabas へのコミュニケーションインターフェイスとして機能します。 サポートされる TP モニタは、オペレーティング環境」を参照してください。 Software AG では、個々の TP モニタに固有な Adabas API を提供しています。 ADALINK は個々の TP モニタに固有の API の一部を示す一般的な名称です。
バッチアプリケーションは、シングルユーザーとマルチユーザーの両モードでサポートされます(「オペレーションのモード」を参照)。 Adabas のバッチ API では標準的なコール規則が使用されているため、CALL メカニズムを使用することで、すべての主要なプログラミング言語からコールすることができます。 大部分のメインフレームのオペレーションシステムでは、バッチアプリケーションモジュールをバッチ API または ADAUSER のいずれともリンクすることが可能です。
バッチアプリケーションプログラムを、Adabas のバージョン非依存モジュール ADAUSER とリンクすることを強くお勧めします。 ADAUSER はオプションで Adabas API とリンクすることができます。 ADAUSER は、Adabas リリースとの上位互換性を提供し、API または、ユーザーとニュークリアス間のリージョン間コミュニケーションを処理するメカニズムへの将来の変更に対してある程度の独立性を保ちます(「オペレーションのモード」を参照)。
IBM の OpenEdition 上で実行しているクライアントは、Adabas にアクセスできます。 Adabas へのコールを含んでいる OpenEdition アプリケーションは、バッチ API または ADAUSER とリンクすることができます。
Adabas では、3 つのタイプのセッションが識別されます。
Adabas セッションは、ニュークリアスが起動したときに開始し、ニュークリアスが終了したときに終了します。 Adabas ニュークリアスは、Adabas 起動(ADARUN)、パラメータなどの、そのオペレーティングシステムに応じたジョブ制御により起動されます。
ユーザーセッションとは、バッチモードプログラム、あるいは端末を使用する人を意味します。 ユーザーセッションは、Adabas セッション中にのみ存在できます。つまり、Adabas ニュークリアスがアクティブなときのみです。 これは、一連の Adabas コールから成り、オープンユーザーセッション(OP)コマンド(任意)で開始し、クローズユーザーセッション(CL)コマンドで終了させることもできます。
ユーティリティセッションは、バッチで実行されるか、または Adabas Online System を使用してオンラインで実行されます。 ユーティリティには、Adabas ニュークリアスがアクティブであることが必要なものとそうでないものがあります。 ユーティリティの実行には、ADARUN 起動パラメータも使用されます。
Adabas ニュークリアスおよび各ユーザープログラムまたは Adabas ユーティリティは、オペレーティングシステムで定義された固有のストレージエリアで実行されます。 次に示すように、ストレージエリアの名前は、オペレーティングシステムによって異なります。
BS2000 | タスク |
z/OS | アドレススペース、データスペース、ハイパースペース、64 ビット仮想スペース |
z/VM | 仮想マシン |
VSE | パーティション、アドレススペース、データスペース |
説明の一貫性を保ち、また簡便にするため、Adabas のドキュメントでは、非 VM エリア(タスク、アドレススペース、パーティションなど)を総称してリージョンと呼びます。 VM エリアは仮想マシンと呼びます。
Adabas では、シングルユーザーとマルチユーザーの 2 つのオペレーティングモードがサポートされます。
シングルユーザーモードは、ユーザープログラム(または Adabas ユーティリティ)が、Adabas ニュークリアスと同じパーティションまたはリージョンで実行された場合に有効になります。
マルチユーザーモードは、Adabas ニュークリアスが別のパーティションまたはリージョンに存在する場合に有効になります。 これは最も効率的なモードであるため、推奨されるオペレーティングモードです。
マルチユーザーモードで Adabas を使用すると、リージョン間のコミュニケーションが Adabas によって処理されます。この場合、さまざまなオペレーティングシステムにより提供されるコミュニケーション機能が最大限に利用されます。
シングルユーザーモードでは、適切な Adabas ニュークリアス JCL をユーティリティまたはユーザープログラムのジョブコントロールに含める必要があります。
ADARUN コントロールステートメントを使って、Adabas 操作環境の定義を行い、Adabas を起動します。 ADARUN コントロールステートメントでも、Adabas ユーティリティを起動できます。 ADARUN
すべてのデータベース I/O および他のオペレーティングシステム依存の機能を実行する ADAIOR モジュールをロードします。
ADARUN のパラメータステートメントを解釈した後、ADARUN パラメータの設定に従って必要な Adabas ニュークリアス、またはユーティリティモジュールのロードと変更を行います。
Adabas に制御を渡します。
ADARUN ステートメントは、通常、一連のエントリから構成され、それぞれのエントリは 1 つ以上の ADARUN パラメータ設定を示します。このステートメントは、DDCARD(z/OS、z/VM、BS2000)データセットまたは CARD(VSE)データセットに指定します。
Adabas では、Adabas、ユーザー、およびユーティリティセッションを監視および制御するいくつかの方法が提供されます。
Adabas オペレータコマンドは、Adabas セッションまたはユーティリティ操作の実行中にオペレータコンソールから入力できます。
ADADBS OPERCOM ユーティリティ機能は Adabas ニュークリアスにオペレータコマンドを発行できます。 次に、Adabas は、コマンド実行を確認するメッセージをオペレータに発行します。
Adabas Online System(デモまたはフル機能版)を使用している場合、Adabas セッションがアクティブなときにメニューオプションやダイレクトコマンドを使用して、オペレータコマンドに対応した機能を実行させることもできます。
オペレータコマンドを使用して、Adabas やユーザーセッションの終了、ニュークリアスやユーティリティの表示、コマンドのログ記録、および Adabas のオペレーティングパラメータや状態の変更を行うことができます。
Adabas ダイレクトコールコマンドを使用して、ユーザーセッションのオープン/クローズを行うことも可能です。 ダイレクトコールコマンドの詳細は、「ダイレクトコールインターフェイス」を参照してください。