既存の COBOL アプリケーションの多くは、フラット ファイル、VSAM、索引ファイル、または順編成ファイルなどの従来の COBOL データ ファイルを使用して、重要なビジネス情報を保存しています。かつては、このタイプのデータ ストレージが十分その役割を果たしていました。しかし、リレーショナル
データベース (RDBMS) が導入されると、従来のデータ ストレージを使用する際の短所が明らかになってきました。リレーショナル データベースにデータを保存すると、レポートのカスタマイズや分析結果の取得がはるかに容易になります。通常、RDBMS
内のデータは保守が容易であり、ダウン タイムが短縮されます。さらに、RDBMS またはデータ ストレージを使用することは、スケーラブルなアプリケーション アーキテクチャを構築するための重要なステップです。
注: サポートされているリレーショナル データベースのリストを表示するには、「データベース管理システム (DBMS)」を参照してください。
アプリケーション アーキテクチャにリレーショナル データベースを追加することが望ましいと判断したら、次のステップはディプロイ オプションを検討し、この目標の達成に最も役立つオプションを選択することです。
ディプロイ オプション
Enterprise Developer は、リレーショナル データベースを使用できるように COBOL アプリケーションを更新する複数のソリューションを提供します。
- 埋め込み SQL
- COBOL プログラムでは、ファイル入出力動詞を埋め込み SQL (EXEC SQL) に置き換えることができます。Enterprise Developer OpenESQL 機能で、この置き換えを実行できます。詳細については、「OpenESQL」を参照してください。
OpenESQL は、COBOL アプリケーション内から RDBMS をサポートする最大限の柔軟性を提供し、広く使用されている機能です。ただし、既存のアプリケーションが現在ファイル ベースである場合、OpenESQL を使用するように一般的な
COBOL アプリケーションを更新するには、多大な労力がかかる場合があり、数人年かかる可能性があります。このシナリオでは、Micro Focus は、リレーショナル データベースの利点を短期間で活かすために使用できる代替アプローチを提供します。
- Micro Focus Relativity
- Relativity 製品は、COBOL データ ファイルへの ODBC インターフェイスを提供します。ファイルは基本的に、ODBC または JDBC を使用する任意のクライアントからアクセスできるデータ ソースになります。このアプローチにより、アプリケーションを変更することなく
COBOL データ ファイル内のデータを維持できます。さらに、ODBC インターフェイス経由で COBOL データにアクセスすることで、レポートおよび分析を改善する Microsoft Office やその他のソフトウェア製品などのサードパーティ
ツールを利用できます。詳細については、「Micro Focus Relativity Documentation」を参照してください。
- Micro Focus データベース ファイル ハンドラー (MFDBFH)
- このアプローチを使用すると、アプリケーション コードは変わりません。実行時に、既存のファイル入出力文が変換され、データ ファイルではなく RDBMS との間でデータが自動的に保存および取得されます。
最適なパフォーマンスを実現するために、MFDBH は COBOL レコードをバイナリ BLOB として RDBMS に保存します。レポート作成や分析のニーズに応えるために、オプションでデータベース ビューを作成して BLOB 内のデータを表示できます。
詳細については、「Micro Focus ネイティブ データベース ファイル処理」参照してください。
最適なオプションの選択
次に示すのは、COBOL アプリケーションに最適なディプロイ オプションを選択する方法に関するガイダンスです。
- データ ファイル
- データ ファイルは、アプリケーションがローカルにアクセスする場合、最高のパフォーマンスが得られますが、信頼性およびスケーラビリティがその代償になります。ハードウェア障害によってデータが破損する可能性があり、その場合、データの復旧のために長時間停止することがあります。データをリモートに移動したり、障害を軽減するための措置を講じたりすると、パフォーマンスに影響を与える可能性があります。
- 埋め込み SQL
- 許容できる時間およびコストの制約内でアプリケーションを無理なく更新できる場合は、組み込み SQL を選択してください。ファイルから RDBMS に移行すると、データがネットワーク経由でアクセスされるため、アプリケーションのパフォーマンスが低下することを想定してください。
- Relativity
- 主な目的が、サードパーティ アプリケーションで COBOL アプリケーション データに簡単にアクセスすることである場合は、アプリケーションを変更する必要がなく、データが既存のファイル内に残るため、Relativity が適しています。他の理由で実際に
RDBMS 内の COBOL データが必要で、ESQL を使用するようにアプリケーションを更新することが難しい場合は、MFDBFH または DBC アプローチの使用を検討してください。
- MFDBFH
- データをファイルからデータベースに速やかに移行させる必要がある場合、MFDBFH は最高のパフォーマンスを提供します。ただし、このソリューションでは COBOL プログラムの外部でデータを更新できないため、テーブル ビューで COBOL フィールドをマップする方法に関して柔軟性が低下します。これらの問題が重要な場合は、代わりに
DBC アプローチの使用を検討してください。
パフォーマンスの考慮事項
ファイルから RDBMS にデータを移行する場合、パフォーマンスが最大の懸念事項となることが多いため、この移行でアプリケーションが受ける影響を把握する必要があります。アプリケーションはそれぞれ異なるため、パフォーマンスを正確に比較することは現実的ではありません。ただし、判断する際には、次のガイドラインを使用することをお勧めします。
- バッチ アプリケーションは従来から入出力の負荷が高いため、RDBMS へのデータの移行はパフォーマンスに大きな影響を与える可能性があります。
- オンライン アプリケーションは、このタイプの移行でパフォーマンスが低下する可能性がありますが、この低下はごくわずかであるため、多くの場合、エンド ユーザーは気付きません。
- ユーザー数の増加に応じてスケールアップするアプリケーションの場合、RDBMS のパフォーマンスは通常、ファイル アクセスよりも優れており、ネットワークまたは Fileshare 経由でアクセスするとさらに高速に実行されます。