- 締切済み
DBとバッチ処理、オンライン処理の関係について
DBの登録や更新や削除をする際に利用するバッチ処理とオンライン処理の使い分けについてについて、お聞きしたいです。 バッチ処理は決められた時間に起動する処理だと認識しています。オンライン処理は求められたらその場でする処理だと認識しています。もしDBに登録や更新、削除する情報がある場合は、なるべくオンライン処理では行わないほうがいいのですか? もしその場合、対象のデータはファイルや更新用のDBなどを用意して一時的に保存しておいてバッチ処理にて行うということでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- cse_ri3
- ベストアンサー率25% (165/640)
回答No.2
実際には、案件ごとのシステムの仕様によるので、一般論だけ。 オンライン処理のタイミングですが、削除をしてしまうと明細ファイルとの突合せで不具合(マスタにデータがない)が出る恐れがあるため、とりあえず論理削除だけしておく(削除フラグを立てるなど)ようにします。 更新だけなら、まあバッチ処理中でもしますね。ただし、テストで不具合が出たら、更新はバッチ処理以外の時間にしますが。 退避用のテーブルを用意するかどうかは、案件ごとに判断です。 必要なら用意しますし、不要なら工数削減のために余計なテーブルはなるべく持ちません。
- notnot
- ベストアンサー率47% (4900/10358)
回答No.1
要件に依ります。 例えば銀行のシステムだと、ATMや窓口での操作は今すぐ結果が欲しいのでオンライン処理で行います。 クレジットカードの引き落としや、給料の振り込みなどは、相手会社からデータがファイルで来るので、それを元にバッチ処理で行います。 他行への振り込みは、おそらく以前はバッチ処理(オンライン処理でどういう振り込みをするかだけDBに書いておいて、夜間にそのデータをファイルにして相手銀行に送信)だと思いますが、今はほとんどオンラインでしょうね。振り込みの都度、相手行と通信。