前のトピック: 動的ターゲットの実装

次のトピック: システムを再計算用に最適化する

状態のバックアップ

メトリックごとのサービス レベルを計算する進行中の処理中に、エンジンがまだ完了していない期間の部分的な計算の実行を強制されることがよくあります。 新しいデータがやがて到着した際に、エンジンが計算の開始時点に戻る必要がないようにするために、エンジンでは、その次の計算タスクに移る前に、その現在の「状態」のある種のバックアップを行います。 現時点では、エンジンにより計算でのその時点の現在の変数および値のスナップショットが作成され、その「状態」がデータベースに保存されます。

ビジネス ロジックのバックアップ処理とは、変数の値を含むビジネス ロジックのコードが、バイナリ ストリームにエンコードされて、データベース内に保存されるメカニズムです。 このメカニズムは、再計算の場合に計算エンジンのパフォーマンスを向上させるためにも必要です。 この状態は随時バックアップされ、再計算で計算を続行するための効率的な手段として使用されます。

たとえば、再計算が 1 か月間さかのぼることが必要な場合、契約の開始時点からではなく、再計算日付よりも前の最も近いバックアップの状態からの結果の再計算が使用され、その計算はその状態から以降で実行されます。

計算エンジンでは、事前定義済みのヒューリスティックス(発見的/試行錯誤的手法)を使用してバックアップがいつ必要かを判断し、またバックアップ機能を使用してエンコードされた状態をデータベースに格納します。

以下の図では、赤い点がある状態のバックアップを表しています。 考慮に入れる期間の開始時点が前にさかのぼるほど、考慮されるバックアップ状態の数は少なくなります。 このメカニズムの背後にあるロジックは、再計算が通常 1 月前よりも近い期間に必要とされるという想定です。

状態のバックアップ