開発の設計について質問をさせてください。
抱えている問題
3分間隔で起動するJavaバッチを設計中です。
パフォーマンスが問われ、現在固まった仕様で気になる点がでてきました。
<処理概要>
(1)外部システムから直近1時間のデータを取得(推定1万件)
(2)取得したデータに対してOracleDBへUPDATEを発行(1万件分)
これを3分間隔で繰り返す。
この時、既に更新が行われたレコードも空更新(変更のない更新)を行い続けます。
3分間隔で取得した直近1時間のデータの内、実際に意味のある更新は数百件です。
へたな分岐は用意せず、とにかく特定の期間のデータを反映し続ける簡易バッチです。
この方式はDBログ/キャッシュにゴミが溜まりそうな気がしていて、DB全体のパフォーマンスに影響がでそうで不安です。
DBの細かい裏の仕様を把握しておらず、詳しい方いましたらアドバイスなどいただけますと幸いです。
<前提>
・主キーを指定した更新
・更新対象は1件。1回更新されれば以降、内容が変わることはないが、分岐は用意せず常に3分間隔/1時間はUPDATEを発行
考えている案
バッファ/キャッシュを利用しないAPPENDのオプションを使えば空更新でもDB全体のパフォーマンスは落とさず行けないかと考えています。
<参考にしたサイト>
https://atmarkit.itmedia.co.jp/ait/articles/0505/24/news104_2.html
宜しくお願いいたします。
回答1件
あなたの回答
tips
プレビュー