堅固動作モードでは、Streamオペレータは発行された各リクエストについて再始動ログ テーブルに1行書き込みます。 再始動ログ テーブルにおけるこの行の集まりは、リクエストログと呼ぶことができます。 リクエストは完全に終了するか完全にロールバックするかのどちらかであることがTeradata Databaseによって保証されているため、リクエスト ログには常にロード操作の完了ステータスが正確に反映されます。 したがって、再始動ロジックに関するリクエスト ログのオーバーヘッドは、リクエストごとにパックされるステートメントの数が多いほど減少します。 チェックポイント プロセス内で、Streamオペレータはデータベースに対する保留状態のすべての変更点を内部記憶装置から消去し、リクエスト ログ行も削除します。 チェックポイント間隔が大きくなればなるほど、リクエスト ログは大きくなります。 堅固動作モードの再始動の場合、Streamオペレータはデータベース変更点の誤った再適用を回避するためにこのリクエスト ログを使用します。
単純(非堅固動作)モードでは、Streamオペレータは基本チェックポイント操作を提供します。 再始動が発生すると、一部のリクエストはほとんど再処理されます。 一部の状況のもとでは、これで十分な保護になります。 操作の結果が変わることなく繰り返せるようなDML文であれば、単純ロジックで十分です。
単純ではしませんステートメントの例を以下に示します。
- 重複行を許可する複数のテーブルへの挿入(multisetテーブル)。
- 次のような自己参照型のDML文。 "UPDATE FOO SET A=A+1..."、または"UPDATE FOO SET A = 3 WHERE A=4"