バッチ処理でデータベース活用:4つの課題と5つの解決ポイント

兒玉敏幸(101)
2008-07-03 08:00:00
業務を支える縁の下の力持ち「バッチ処理」。早速、Oracle Database XEをデータ処理エンジンとして活用しよう!――と、いきたいところだが、まずは現状の問題点とその解決方法を探ってみよう。
最新特集【一覧】

1-4. バッチ処理の再構築

 このように、ここ2、3年でバッチ処理の問題が表面化することが多くなり、バッチ処理を再構築しようと考えるユーザーが増えてきました。バッチ処理の再構築で現状抱えている問題点を解決するためのポイントを説明します。

  • 1-4-1. アプリケーションをシンプルに
     バッチアプリケーションを再構築する際に、いかにシンプルにするかというのがポイントになります。アプリケーションをシンプルにするためにコンポーネント化を検討してください。機能別にコンポーネント化されると、バッチ処理はいくつかの処理コンポーネントの組み合わせで生成できるようになります。アプリケーションがシンプルになることで少ない開発時間でも様々なビジネス環境の変化に柔軟に、そして即時に対応できるようになります。
  • 1-4-2. データベースを加工エンジンに
     バッチアプリケーションではデータのチェック・加工・作成が主な処理となります。データベース上にデータを入れてしまい、データベースそのものを加工エンジンとすればアプリケーションは非常にシンプルになります。
     今までのアプリケーションではプログラムロジックや複数のSQL文を組み合わせていたような処理でも、データベースが高機能になったことで1つのSQL文にすることが可能です。当然そのようなSQL文は複雑になりますが、その他のロジックは極めてシンプルです。
     ロジックがシンプルになることで仕様書も見やすく、解りやすくなります。今までおっくうだった仕様書の更新もより簡単になるでしょう。
     これまで、データベースをデータ加工エンジンにするという発想は一般的ではありませんでしたが、利点も多いので是非活用しましょう。
  • 1-4-3. メンテナンス性が向上
     今まで複雑で肥大化していたロジックがシンプルで簡単になるのですから当然メンテナンス性も向上します。きちんと同期がとれ、解りやすい仕様書が存在することで開発から運用への引継ぎなども簡単に短期間で行えるようになります。
  • 1-4-4. 信頼性、処理性能の向上
     データベース上でデータ加工をすることで信頼性や処理性能も格段に向上します。
     データベースは元々データを安全に保管するための機能には長けています。このデータベース上でデータ操作を行うのですから信頼性が向上するのは当然です。
     さらに大量データやトランザクションを処理できるように考えられているので、うまく使うことで処理性能も向上します。
     処理性能が向上することで、今までスケジュール時間内に処理が完了できなかったバッチ処理も規定時間内に完了できるようになります。
  • 1-4-5. レガシーマイグレーション
     レガシーシステムで稼動しているバッチアプリケーションを、同様の考えでオープン系にマイグレーションすることが可能です。特にレガシーシステムの場合は、ジョブの単位でコンポーネントに対応させるとスムーズなダウンサイジングが可能です。
     ワン・オー・ワンの最初のお客様であるジャパンエナジーは、基幹システムのダウンサイジングプロジェクトにおいて、これらのポイントを踏まえてマイグレーションすることで当初の予定より大幅に短い2年4カ月という短期間でプロジェクトを完了しました。そしてレガシーシステムを全廃しておりますので、開発コストに加え運用コストも大幅に削減できていると考えられます。