バッチアプリケーション設計のポイント
実行ログは重要
すべてのアプリケーションにおいて実行ログは非常に重要なものですが、特にバッチアプリケーションではエラー発生時の原因を究明するうえで必要不可欠な情報です。
オンラインアプリケーションでエラーが発生した場合、エラー情報は画面を通してユーザーに直接見える形でフィードバックされます。一方、バッチ処理はジョブ管理システムによってバックグラウンドで実行されることが多いので、エラー情報がユーザーに直接フィードバックされません。すなわち、処理の実行結果がブラックボックスになってしまうのです。
エラーが発生した場合に実行ログがなかったら、「処理のどこでエラーが発生したのか」も「エラーの原因は何か」も分からないままになってしまいます。このため、一般的なバッチアプリケーションでは、処理経過やエラー内容に関するログを必ず出力します。
また、オープンシステムにおけるバッチ処理では、OSコマンドやシステム製品のユーティリティなどの組み合わせによって処理をつないでいくのが一般的です。
従って、一口に実行ログといっても、OSが出力するログもあればシステム製品によって出力されるログもあります。それぞれのログは異なるフォーマットで別々の場所に出力されるので、1つのバッチ処理から出力された実行ログであるにもかかわらず関連性が分からなくなってしまいます。よって、これらの個別ログの内容を集約したログを、各バッチ処理の実行単位で生成する必要があります。

図3 実行ログの集約
さらに、実行ログの出力フォーマットについても注意が必要です。実行ログのフォーマットはプロジェクトごとに独自で設計しているケースをよく見ますが、オープンシステムでは独自のフォーマットを極力避けることをお勧めします。つまり、OSやシステム製品が出力するログをそのまま利用して、さらに必要な情報を追加で出力するのです。
独自フォーマットとして設計する部分は、バッチアプリケーションの開始日時や終了日時などの共通情報に限った方がよいでしょう。独自のフォーマットでログを生成してしまうと、限られた運用担当者しかログを解読できなくなってしまいます。
担当者が変わる際には、ログの見方などを次の担当者に引き継ぐ必要があります。このような独自色は、オープンシステムを利用するメリットを自ら削ってしまうことになります。
◆◆◆
今回は、バッチアプリケーションを設計するうえで考慮するべき4つのポイントについて解説しました。
次回は、バッチアプリケーションの実装テクニックについて解説する予定です。(次回へ続く)
| 3/3 |
| Index | |
| Oracle技術者のためのバッチアプリケーション開発講座(1) バッチアプリケーション設計のポイント |
|
| Page 1 ・バッチ処理作業の抱える問題 ・バッチアプリケーションは定型処理の組み合わせ |
|
| Page 2 ・設計段階から性能を考慮しよう トランザクション処理の特性を理解した設計を行う 性能上のリスクは設計段階で極力排除 ・リカバリ方式はシンプルに |
|
| Page 3 ・実行ログは重要 |
|
| Databaseフォーラム全記事インデックス |
TechTargetジャパン
- IBMが歴史を変える!? 新カテゴリの製品を発表 (2012/5/25)
IBMは新たな製品カテゴリとなる「PureSystems」を発表。DB2 10とビッグデータの関係、PureSytemsの斬新さはどこかに迫ります - クラウド時代のデータ処理を支える分散KVSの可能性 (2012/5/23)
現在、高速データ処理の主流はインメモリ型データ処理だが、別の方法として分散KVSが注目を集めている。今回は分散KVSについて話を聞いた - 複数の表からデータを取り出して表示させる(2) (2012/4/23)
前回はSQLの基本的な結合構文について説明しました。今回は、より複雑な自己結合や外部結合について説明します - SQL Server、OOWにIQ、盛りだくさんの4月 (2012/4/20)
オラクルオープンワールドが3年ぶりに東京で開催されたほか、SQL Server 2012が提供開始されるなど、今月は話題が盛りだくさんです
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -
