ブロック・ロックおよび同時ユーザー・アクセス
ブロック・ストレージ・キューブでは、Essbaseは計算およびデータ更新時にデータ・ブロックをロックします。ブロック・ロック・システムにより、一度に1人のユーザーのみが特定のデータ・ブロックを更新または計算できることが保証されます。
計算中、Essbaseによって、データ・ブロックと、ブロックの子が含まれるすべてのブロックがロックされます。Essbaseは、ブロックを計算した後、ブロックと、その子が含まれるブロックを解放します。
デフォルトでは、Essbaseはブロックを計算するときに最大で100ブロックを同時にロックします。ほとんどの計算では、このブロックのロック数で十分です。疎ディメンションの式を計算する場合、必要な子ブロックすべてを同時にロックできると、Essbaseが最も効率的に機能します。したがって、疎ディメンションの式を計算するときに、集計する子が非常に多い場合(100を超える場合など)は、ロック数を100よりも大きく設定することをお薦めします。この数を増やすことで、Essbaseで必要なすべてのブロックを確実にロックでき、パフォーマンスが低下しません。
ノート:
疎ディメンションでの集計では、子を含むすべてのブロックをEssbaseで同時にロックする必要はないため、ブロックのロックを考慮する必要はありません。
Essbaseでデータ・ブロックが計算されるときは、排他ロックが生じて、他のユーザーはそのデータ・ブロックを更新または計算できなくなりますが、読取り専用アクセスは可能です。Essbaseで計算が終了すると、ブロックは解放されます。その後、他のユーザーは、適切なセキュリティ・アクセス権を持っている場合にブロックを更新できます。
ユーザーがデータ・ブロックを更新しているときは、そのブロックはロックされます。データベース計算で、別のユーザーによって更新中のデータ・ブロックが必要な場合、そのデータ・ブロックが解放されるのを待機します。
Essbaseによって、計算でデータ・ブロックの解放を待機していることを示すメッセージは提示されません。
Essbaseのセキュリティ・オプションを使用して、次のいずれかを実行すると、ロックされたブロックの待機によって計算の遅延が発生することを防止できます。
-
他のユーザーに対するアクセスの拒否
-
Essbaseからのユーザーの切断
ノート:
Essbaseで計算のためにブロックがロックされるとき、依存する子ブロックには排他ロックが設定されないため、別のユーザーはその子ブロックの値を更新できます。必要に応じて、前述のセキュリティ・オプションを使用して、そのような更新を防止できます。