块锁定和并发用户访问

在块存储多维数据集中, Essbase 在计算和数据更新期间锁定数据块。块锁定系统可确保一次仅一个用户可以更新或计算特定数据块。

在计算期间, Essbase 会锁定数据块以及包含该块子项的所有块。Essbase 计算块,然后释放块和包含子项的块。

默认情况下,计算块时, Essbase 最多可同时锁定 100 个块。此块锁定数足以进行大多数计算。如果要计算稀疏维中的公式,如果 Essbase 可以同时锁定所有必需的子块,则它的工作效率最高。因此,在稀疏维中计算公式时,如果要合并大量子项(例如,超过 100),则可能需要设置大于 100 的锁定编号。通过增加数字,可以确保 Essbase 可以锁定所有必需的块,并且不会影响性能。

注意:

对于稀疏维中的合并,块锁定不是考虑因素,因为 Essbase 不需要同时锁定包含子项的所有块。

Essbase 计算数据块时,它会创建独占锁定;其他用户无法更新或计算它,但可以具有只读访问权限。Essbase 完成计算后,将释放该块。如果其他用户具有相应的安全访问权限,则可以更新该块。

当用户更新数据块时,该块将被锁定。如果数据库计算需要由其他用户更新的数据块,则计算将等待释放数据块。

Essbase 不会提供一条消息,指出计算正在等待释放数据块。

通过使用 Essbase 安全选项执行以下操作之一,可以防止由于等待锁定的块而导致的计算延迟:

  • 拒绝访问其他用户

  • 断开用户与 Essbase 的连接

注意:

Essbase 锁定块进行计算时,不会将互斥锁置于从属子块上,因此其他用户可以更新子块中的值。如有必要,可以使用上述安全选项来防止此类更新。