キューブが読取り/書込みモードの場合、Essbaseは、サーバーに対するすべての更新リクエスト(データ・ロード、計算、計算スクリプトの文など)をトランザクションとみなします。
各トランザクションには現在の状態(アクティブ、コミット済または中止)があります。データがコミットされると、サーバーのメモリーから取得されてディスク上のキューブに書き込まれます。
キューブ・インスペクタ設定の「トランザクション」タブにある「ブロックのコミット」/「行のコミット」オプションは、Essbaseがデータのブロックまたは行をコミットする頻度を示します。
Essbaseは、トランザクションがブロック単位で読取り/書込みロックを保持できるようにします。Essbaseは、ブロックが更新されると解放しますが、トランザクションが完了するか、設定された制限(“同期ポイント”)に達するまで、ブロックをコミットしません。
Essbaseが明示的なコミット操作を実行するタイミングを制御するには、次の同期ポイント・パラメータを指定します:
「ブロックのコミット」を0に設定すると、同期ポイントはトランザクションの最後に発生します。
「ブロックのコミット」と「行のコミット」のいずれかにゼロ以外の値が指定されている場合、同期ポイントは最初のしきい値に達すると発生します。たとえば、「ブロックのコミット」が10だが「行のコミット」が0の場合にデータをロードすると、同期ポイントは、10個のブロックが更新された後に発生します。「ブロックのコミット」が5で「行のコミット」が5の場合にデータをロードすると、同期ポイントは、5個の行がロードされた後か、5個のブロックが更新された後(いずれか早い方)に発生します。
EssbaseサーバーがOracle Exalytics In-Memory Machine上で実行されている場合、アンコミット・アクセス設定は適用されません。コミットはコマンドまたはリクエストの最後に発生します。「ブロックのコミット」または「行のコミット」の設定に加えた変更は無視されます。
EssbaseサーバーがWindows上の独立したデプロイメントで実行されている場合、「ブロックのコミット」はデフォルトで3000に設定されます。
操作中にユーザー定義のしきい値を超えた場合、Essbaseは同期ポイントを作成して、その時点までに処理されたデータをコミットします。Essbaseは、操作を完了するために必要な数の同期ポイントを作成します。
Essbaseは、並列計算の使用の実行可能性を分析する際に、「ブロックのコミット」と「行のコミット」の値を分析します。設定されている値が小さすぎることが判明した場合、Essbaseは自動的に値を大きくします。
Essbaseは、トランザクションのセマンティクスを適用するために重複したデータを保持します。「ブロックのコミット」と「行のコミット」の両方が0に設定されている場合は特に、データベースのサイズの2倍のディスク領域を確保して、重複したデータに対応できるようにしてください。