当多维数据集处于读/写模式时,Essbase 将向服务器发出的每个更新请求(例如数据加载、计算或计算脚本中的语句)都视为一个事务处理。
每个事务处理都有当前状态:活动、已提交或已中止。提交数据时,将从服务器内存提取这些数据并将其写入磁盘上的多维数据集。
多维数据集检查器设置的“事务处理”选项卡中的“提交块”/“提交行”选项指示 Essbase 提交数据块或行的频率。
Essbase 允许事务处理按块持有读/写锁;Essbase 会在块更新后释放块,但在事务处理完成后或达到设置的限制(“同步点”)后才会提交块。
可通过指定以下同步点参数来控制 Essbase 何时执行明确的提交操作:
如果将“提交块”设置为 0,则同步点出现在事务处理结束时。
如果“提交块”或“提交行”具有非零值,则同步点出现在达到第一个阈值时。例如,如果“提交块”为 10,“提交行”为 0,并且您加载了数据,则同步点出现在更新了 10 个块后。如果“提交块”为 5,“提交行”为 5,并且您加载了数据,则同步点出现在加载了 5 行或更新了 5 个块后(以先发生的情况为准)。
如果 Essbase 服务器在 Oracle Exalytics In-Memory Machine 上运行,则“未提交的访问”设置不适用。提交在命令或请求结束时执行。您对“提交块”或“提交行”设置所做的更改都会被忽略。
如果 Essbase Server 在 Windows 独立部署上运行,则“提交块”默认设置为 3000。
如果在操作期间超过用户定义的阈值,则 Essbase 将创建同步点以提交截至该点处理的数据。Essbase 会创建完成操作所需数量的同步点。
Essbase 在分析使用并行计算的可行性期间,会分析“提交块”和“提交行”的值。如果 Essbase 发现设置的值太低,则会自动增大它们。
Essbase 会保留冗余数据以强制实施事务处理语义。请将磁盘空间留为数据库大小的两倍以容纳冗余数据,尤其是在“提交块”和“提交行”都设置为 0 时。