こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

DBとバッチ処理、オンライン処理の関係について

DBの登録や更新や削除をする際に利用するバッチ処理とオンライン処理の使い分けについてについて、お聞きしたいです。
バッチ処理は決められた時間に起動する処理だと認識しています。オンライン処理は求められたらその場でする処理だと認識しています。もしDBに登録や更新、削除する情報がある場合は、なるべくオンライン処理では行わないほうがいいのですか?
もしその場合、対象のデータはファイルや更新用のDBなどを用意して一時的に保存しておいてバッチ処理にて行うということでしょうか?

投稿日時 - 2020-08-10 09:03:20

QNo.9783422

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

実際には、案件ごとのシステムの仕様によるので、一般論だけ。

オンライン処理のタイミングですが、削除をしてしまうと明細ファイルとの突合せで不具合(マスタにデータがない)が出る恐れがあるため、とりあえず論理削除だけしておく(削除フラグを立てるなど)ようにします。

更新だけなら、まあバッチ処理中でもしますね。ただし、テストで不具合が出たら、更新はバッチ処理以外の時間にしますが。

退避用のテーブルを用意するかどうかは、案件ごとに判断です。
必要なら用意しますし、不要なら工数削減のために余計なテーブルはなるべく持ちません。

投稿日時 - 2020-08-10 15:09:36

ANo.1

要件に依ります。
例えば銀行のシステムだと、ATMや窓口での操作は今すぐ結果が欲しいのでオンライン処理で行います。

クレジットカードの引き落としや、給料の振り込みなどは、相手会社からデータがファイルで来るので、それを元にバッチ処理で行います。

他行への振り込みは、おそらく以前はバッチ処理(オンライン処理でどういう振り込みをするかだけDBに書いておいて、夜間にそのデータをファイルにして相手銀行に送信)だと思いますが、今はほとんどオンラインでしょうね。振り込みの都度、相手行と通信。

投稿日時 - 2020-08-10 09:35:34

あなたにオススメの質問