既存の COBOL アプリケーションの多くは、フラット ファイル、VSAM、索引ファイル、または順編成ファイルなどの従来の COBOL データ ファイルを使用して、重要なビジネス情報を保存しています。かつては、このタイプのデータ ストレージが十分その役割を果たしていました。しかし、リレーショナル データベース (RDBMS) が導入されると、従来のデータ ストレージを使用する際の短所が明らかになってきました。リレーショナル データベースにデータを保存すると、レポートのカスタマイズや分析結果の取得がはるかに容易になります。通常、RDBMS 内のデータは保守が容易であり、ダウン タイムが短縮されます。さらに、RDBMS またはデータ ストレージを使用することは、スケーラブルなアプリケーション アーキテクチャを構築するための重要なステップです。
アプリケーション アーキテクチャにリレーショナル データベースを追加することが望ましいと判断したら、次のステップはディプロイ オプションを検討し、この目標の達成に最も役立つオプションを選択することです。
Visual COBOL は、リレーショナル データベースを使用できるように COBOL アプリケーションを更新する複数のソリューションを提供します。
OpenESQL は、COBOL アプリケーション内から RDBMS をサポートする最大限の柔軟性を提供し、広く使用されている機能です。ただし、既存のアプリケーションが現在ファイル ベースである場合、OpenESQL を使用するように一般的な COBOL アプリケーションを更新するには、多大な労力がかかる場合があり、数人年かかる可能性があります。このシナリオでは、Micro Focus は、リレーショナル データベースの利点を短期間で活かすために使用できる代替アプローチを提供します。
最適なパフォーマンスを実現するために、MFDBH は COBOL レコードをバイナリ BLOB として RDBMS に保存します。レポート作成や分析のニーズに応えるために、オプションでデータベース ビューを作成して BLOB 内のデータを表示できます。
詳細については、「Micro Focus ネイティブ データベース ファイル処理」参照してください。DBC アプローチでは、データをテーブルにマッピングする方法の柔軟性は高まりますが、パフォーマンスの点では最適ではありません。MFDBFH は最適なパフォーマンスを提供します。ただし、これら 2 つのアプローチのパフォーマンスを正確に比較することは、それぞれの COBOL アプリケーションが同じではなく、有用性も異なるため現実的ではありません。
次に示すのは、COBOL アプリケーションに最適なディプロイ オプションを選択する方法に関するガイダンスです。
ファイルから RDBMS にデータを移行する場合、パフォーマンスが最大の懸念事項となることが多いため、この移行でアプリケーションが受ける影響を把握する必要があります。アプリケーションはそれぞれ異なるため、パフォーマンスを正確に比較することは現実的ではありません。ただし、判断する際には、次のガイドラインを使用することをお勧めします。
| MFDBFH | DBC | |
|---|---|---|
|
サポートされているデータベース |
|
|
| ライセンス モデル | コアまたは同時ユーザーのメトリック。開発製品には開発ツールが標準で含まれますが、アプリケーションを実行するには別途ライセンスが必要です。 | |
| 技術的アプローチ | 個別のキー列を持つ BLOB ベースのストレージ。ビューを追加して、フィールドレベルの可視性を提供できます。 | 個々の列がレコード内のフィールドに対応する、フィールドベースのアプローチ。 |
| パフォーマンス | 通常、パフォーマンスの範囲が向上します。 | フィールド マッピングの柔軟性が向上します。 |
| 編集サポート | ビューは読み取り専用です。 | フィールドは慎重に編集できます。 |
| クラウド | AWS RDS や Azure PostgreSQL などのクラウド サービス プロバイダーのデータベースでテスト済み。 | オンプレミスのシナリオに ODBC を使用した汎用データベース アクセスを提供します。 |
| 接続を既存の RDBMS 接続と共有可能 | XA 接続の場合は「はい」、その他すべての場合は「いいえ」。デフォルトでは、MFDBFH ローカル接続は独自のキャッシュを維持します。ただし Oracle は、オプションで OCI 接続またはセッション プールのいずれかを使用するように構成できます。 | すべての接続に対して「いいえ」。 |
| データファイル エディタ のサポート | あり (バージョン 8.0 以降) | なし |
| Enterprise Server および PAC によるサポート | あり | なし |
| 配列、ODO、および動作の再定義 | ビューが生成された際にのみ適用されます。ODO はビューではサポートされません。 | 配列要素ごとに個別の列を作成します。 |
| .NET | あり (バージョン 10.0 以降) | あり。ただし、ネイティブ コードが組み込まれるため、純粋なマネージ コード ソリューションではありません。 |