0

24時間年中無休の運用に移行しようとしているアプリケーションがあります。データフィードを一晩インポートして翌日の顧客の変更を更新するバッチジョブがいくつかあります。このジョブは、テーブル全体が数百万行が消去されて再構築されるように構成されています。この仕事の間、テーブルは約2時間利用できません。

十分に大きいため、更新する前にメモリにロードすることはできません。バッチジョブが終了するまで、他の方法でデータを利用できるようにするための最善のアプローチを知りたいと思いました。

テーブルをxml形式でディスクにロードしますか?バッチジョブの前にテーブルをコピーしますか?

DRスタックがありますが、そのセットアップ方法では、リアルタイムで同期を試みて同期するため、ジョブの実行中も使用できなくなると思います。

データベースはDB2、フロントエンドはIBM Websphere

4

1 に答える 1

1

キルアンドフィル戦略の必要性を評価します。これを変更して、追加と変更に適切なデルタを適用し、それを回避できるかどうかを確認します。

ページを解放して再キャプチャするために、データベースに大きな負荷をかけています。

デルタを実行できるが、数日分のデータを保持するだけでよい場合は、レコードをドロップする代わりに、テーブルでパーティション分割を使用して、スコープ外になるときにパーティションをドロップできます。

Kill-And-Fillを使用する必要がある場合は、元のテーブル(これを呼び出します)を使用して、同じ構造でBatchTable呼び出される新しいテーブルを作成します。バッチジョブデータを処理するためにBatchTable_Process使用します。BatchTable_Process処理が完了したら、テーブル名を交換します。

于 2011-07-12T19:49:59.290 に答える