对聚合存储多维数据集的独占操作

Essbase 聚合存储 (ASO) 多维数据集的某些操作是独占的,这意味着它们无法与相同类型的操作的其他操作同时运行。当独占操作正在进行时,可以继续对多维数据集进行查询。

在聚合存储多维数据集上,无法在同一多维数据集上同时执行多个独占操作。如果一个独占操作正在运行并且同时尝试了第二个独占操作,则第二个操作将被拒绝,并显示一条消息,指示当第一个操作正在进行时该操作无法继续。例如,在执行部分数据清除时,即使操作正在清除不同的区域,第二个部分数据清除也无法同时运行。虽然大多数独占操作是互斥的,但也有一些例外。

独占操作和异常错误:

  • 导出

    多个导出操作可以同时运行,因为导出是只读操作。导出操作可以与构建聚合和备份同时运行,两者都是独占操作;但是,导出与任何其他独占操作都不兼容。

  • 构建汇总

  • 备份(以只读归档模式放置多维数据集)

  • 数据加载(将加载缓冲区的内容提交到多维数据集)

    创建聚合存储负载缓冲区并将数据加载到负载缓冲区不是独占操作。这些操作可以与任何其他操作同时运行。但是,将加载缓冲区中的数据提交到立方是独占操作。

  • 电子表格发送操作(例如,更新单元格)

    如果在尝试其他独占操作时发送操作正在运行,则新操作将等待发送操作完成,然后再继续。尽管与发送操作不兼容,但新操作不会出错,因为假定发送操作较小且速度快(不到 5 秒)。这意味着许多用户可以同时执行电子表格发送操作,而不会因为这些操作彼此不兼容而拒绝这些操作。

    注意:

    在发送操作运行时尝试多个独占操作的情况下,新独占操作在发送操作完成后执行的顺序是随机的;该顺序不基于尝试新独占操作的顺序。例如,如果发送操作正在运行并且尝试了不同类型的独占操作,则新的独占操作将等待发送操作完成,然后再继续。同时,如果其他用户尝试了更多的发送操作,则这些发送操作可能会在其他独占操作之前执行,即使之后尝试了它们。因此,独占操作可能会无限期等待,只要至少有一个发送操作等待执行。

  • 合并分片

  • 定制计算、分配和其他写入操作

  • 数据清除操作(完全、仅聚合和部分)

允许查询与所有独占操作同时运行。但是,如果某个操作在多维数据集中添加、更改或删除任何数据,则在操作结束时,当更改对查询可见时,将发生以下序列:

  1. 任何新查询都会被临时阻止启动(查询会等待)。

  2. 现有查询完成运行。

  3. 独占操作中的数据更改将提交到多维数据集。

  4. 正在等待的查询继续。

查询永远不会被拒绝或取消,因为此操作会更改聚合存储多维数据集上的数据。